⚙️ Ops/AWS2023. 6. 8. 15:50EC2 <-> ELB 연동 (Application LoadBalancer)

EC2 LoadBalancer 연동 Application LoadBalancer를 EC2와 연동합니다. HTTPS를 적용하기 전 HTTP로 먼저 테스트하기 위해 생성합니다. HTTPS는 프로덕트를 본격적으로 이전할때 인증서와 함꼐 적용해보겠습니다. HTTPS Redirect 방법은 나중에 글 올릴게염 일단 로드밸런싱 알고리즘을 Default인 Round Robin 방식으로 쓰다가 추후 요구사항 변경시, LOR 알고리즘이나 커스텀한 알고리즘으로 변경할 수 있는지도 알아봐야 합니다. Target Group 생성 Target Group의 Routing Algorithm은 기본적으로 Round Robin 방식입니다. Instance 타입 -> 내 EC2 인스턴스 할당 HTTP: 8080 으로 지정 LoadBan..

⚙️ Ops/AWS2023. 4. 17. 12:55AWS Parameter Store

💡 AWS Parameter Store 디스코드 봇 토큰을 AWS Parameter Store를 이용해서 Spring Boot로 값을 가져온다. Dependency 설정 ext { set(&#39;springCloudVersion&#39;, "Hoxton.SR6") } implementation &#39;org.springframework.cloud:spring-cloud-starter-aws-parameter-store src/main/resources 아래에 bootstrap.yml 파일 생성 prefix 파라미터의 접두사를 지정할 수 있다. 주의해야할 점은 해당값은 /로 시작해야한다. default : /config name 파라미터의 식별자 애플리케이션이름이다. 해당 파라미터를 어떤 애플리케이션에..

⚙️ Ops/AWS2023. 4. 15. 14:03AWS Elastic Cache for Redis With Spring Boot

💡 ElasticCache for Redis Redis를 캐싱서버로 사용하는 이유 서버에 Refresh Token을 저장해야하는데 영구적으로 필요한 데이터가 아니기에, 리소스 절약하기 위해 사용 보통 휘발성 데이터들을 따로 빼기 위해 사용한다. 구현체 Lettuce, Jedis 중 Lettuce 사용 Lecttue - 비동기 처리, 성능up, 추가적인 의존성 필요X, 별도의 설정없이 Redis에 명령 가능 Jedis - Deprecated된 방법, 별도의 추가 의전송필요, None Thread-Safe 💡 사전 준비 Elasticache Redis Cluster 생성 AWS ElasticCache Redis Cluster 생성 EC2 Instance에 gcc설치후 redis-cli 컴파일 yum -y i..

⚙️ Ops/AWS2023. 4. 15. 13:58AWS EC2 Memory Swaing

💡 Memory Swaping 보통 Swap의 용량은 ram의 2배라고 알려져있고 t2.micro의 ram은 1gb, 스와핑용량 +2gb를 더해서, 총 3gb의 메모리로 증설이 가능하다 EC2 인스턴스 내부 # 스왑 파일 생성 $ sudo dd if=/dev/zero of=/swapfile bs=128M count=16 # bs는 블록 크기이며, count는 블록 수이므로 128mb x 16 = 2048mb 크기의 스왑 파일을 생성한다는 뜻이다. # 스왑 파일에 대한 권한 변경 $ sudo chmod 600 /swapfile # Linux 스왑 영역 설정 $ sudo mkswap /swapfile # 스왑 파일을 즉시 사용하도록 변경 $ sudo swapon /swapfile # 성공 확인 $ sudo ..

⚙️ Ops/AWS2023. 4. 15. 13:56AWS RDS

💡 RDS RDBMS를 지원하며 Multi-AZ를 이용한 고가용성 데이터베이스 기본 인스턴스의 수행 작업(백업, 스냅샷)을 대신하여 기본 인스턴스의 부담 ↓ 기본 인스턴스의 스냅샷을 캡쳐 후, 다른 AZ에 복원하는 &#39;동기식&#39; 예비 복제본 생성 즉, Active(AZ A) - StandBy(AZ B, C) 구조를 형성한 후 지속적인 동기화 StandBy 전환 상황 - 전환 시 60 - 120초 소요 FailOver 실시 AZ 중단 DB 인스턴스 소프트웨어 패치 Read Replica 기본 DB 인스턴스가 읽기,쓰기를 담당한다면 Read Replica는, 읽기만 담당하여 Master DB Instance의 부담을 줄임 DB 인스턴스 스냅샷 캡쳐 후, 이를 기반으로 Replica를 생성해, 데이..

⚙️ Ops/AWS2023. 4. 15. 13:56AWS Route 53

💡 Route 53 도메인 등록, DNS 라우팅, Health Check의 3가지 담당 & 도메인 등록 시, 12000원 정도 들고 최대 3일 정도 걸림 도메인을 AWS 내 서비스뿐만 아니라 외부 서비스와도 연결 가능 도메인 생성 후, 레코드 세트를 생성하여 하위 도메인 등록 가능 레코드 세트 등록 시, IP, Domain, Alias 등을 지정하여 쿼리 라우팅 가능 Route 53의 라우팅 정책 Simple 동일 레코드 내에 다수의 IP를 지정하여 라우팅 가능, 값을 다수 지정한 경우 무작위로 반환 Weighted 리전 별 부하분산 가능, 각 가중치를 가진 동일이름의 A 레코드를 만들어 IP를 다르게 줌 Latency-based 지연시간이 가정 적은, 즉 응답시간이 가장 빠른 리전으로 쿼리 요청 Fal..

⚙️ Ops/AWS2023. 4. 15. 13:55AWS Cloud Front

💡 CloudFront Edge Location의 주변 Orogin Server의 컨텐츠를 Edge Location에 캐싱하고, 각 Edge Location간 공유를 통해 컨텐츠 전달 각 Edge Location간 백본 네트워크를 통한 매우 빠른 속도의 캐시 전달 가능 외부 서버의 캐싱 가능(Custom Origin) TTL을 조절하여 캐시 주기 통제 가능 컨텐츠 제공 방법 사용자의 웹사이트 or 액세스 하고있는 이미지 or HTML 요청 (정적 데이터) DNS가 최적의 요청 처리를 할 수 있는 CloudFront Edge Location으로 요청 라우팅 Edge Location에서 해당 캐시에 요청된 파일이 있는지 확인하고, 없으면 오리진 서버에 요청후 전달 & 캐시적재 OAI (Origin Acces..

image