DevOps/AWS(5)
-
[ELB] Connection Draining
Usecase 한 기술 회사에서 운영하는 서비스는 ELB(Elastic Load Balancer)뒤에 EC2 인스턴스를 두고 부하를 분산하는 방식을 사용하고 있습니다. 이때, EC2가 health check에 실패하여 unhealthy상태로 들어가게 되면 진행중이던 in-flight Request가 끊어지는 이슈가 발생하게 됩니다. 이를테면, 특정 EC2 인스턴스로부터 수십초가 걸리는 파일 다운로드를 수행중이라고 했을 때, 파일을 다운로드받는 도중, 해당 인스턴스가 unhealthy상태로 바뀌게 되면 커넥션이 끊어지면서 파일 다운로드에 실패하게 되는 것입니다. 이러한 상황을 막기 위해 취할 수 있는 방법에는 어떤 것이 있습니까? Connection Draining When Connection Draini..
2021.07.28 -
[SQS] Long Polling & Short Polling
Usecase 자사의 메세지 큐를 AWS의 SQS로 대체하려는 서비스 회사가 있다고 가정합니다. 이 회사가 SQS로의 마이그레이션을 고려할 때 가장 중요하게 생각하는 요소가 '비용'이라고 할 때, 고려할 수 있는 옵션은 어떤 것이 있나요? Short Polling 기본적으로 SQS(Simple Queue Service)는 대기열에서 메세지를 수신하기 위해 Short Polling을 사용합니다. Short Polling의 경우 SQS로 보내는 쿼리(ReceiveMessage)에 메세지가 없는 경우에도 즉시 응답을 전송하며, SQS서버의 부분 집합(Weighted Random Distribution Method를 통해 선정한 전체 서버 노드들의 일부)에서 메세지를 꺼내어 Response를 리턴합니다. 따라서..
2021.07.27 -
[Global Accelerator] Introduction & Usecases
AWS Global Accelerator에 대한 개요 및 기타 기능은 AWS 공식 문서에 자세하게 나와있으므로 이를 참고하시는 것이 좋습니다 Usecase 마이크로 서비스 아키텍처(MSA)를 사용해 서비스를 구성하는 회사(이를테면 게임회사)가 있다고 가정합니다. 이 회사는 글로벌 서비스를 지원하기 위해 Multi Region에 퍼져 있는 ALB(Application Load Balancer)를 통해 각각의 마이크로 서비스들을 제공합니다. 서비스의 규모가 커지면서 여러 서비스들이 추가되는데, 서비스를 추가한다는 것은 곧 엔드포인트(Endpoint)를 추가한다는 의미이고, 이는 보안을 위한 방화벽 설정, 트래픽 라우팅 로직들을 서비스를 추가 / 제거할 때마다 수행해야 한다는 것을 의미합니다. 과정을 단순화하..
2021.07.25 -
[CloudWatch] Alarm & Events Usecases
UseCase CloudWatch Alarm을 사용하여 EC2 인스턴스를 자동 복구하려면 어떻게 해야 하는가? CloudWatch Events를 사용하여 데이터베이스 rollover등의 Cron job을 정기적으로 수행하기 위해서는 어떻게 해야 하는가? CloudWatch Alarm CloudWatch Alarm은 AWS 리소스에 대한 실시간 모니터링을 제공하고, Alarm 하나당 CloudWatch Metric하나를 모니터링하다가 사용자가 설정한 임계치를 돌파했을 경우 "In Alarm" 상태로 바뀌어 이후 동작을 수행하게 됩니다. SNS Topic을 사용해서 Slack, Email등을 통해 알림을 주기도 하고 기본적으로 제공하는 Action을 통해 인스턴스를 복구하거나, 재시작하는 등의 동작을 수행할..
2021.07.22 -
[Lambda@Edge] Signed Cookie를 사용한 인증 구현
Overview AWS(Amazon Web Service)를 사용해서 동영상을 제공하는 서비스를 개발할 때, 동영상은 정적 파일이므로 S3 Bucket을 사용하여 저장하고, 세계 각지에 있는 사용자들에게 이를 빠르게 제공할 수 있도록 Cloud Front를 사용하는 것이 일반적입니다. 필요하다면 Route53 등의 도메인 네임 서비스를 통해 해당 Cloud Front 주소를 알맞은 도메인과 연결하여 제공합니다. 모든 사용자들이 접근할 수 있는 동영상이라면 보통 이 정도 선에서 구현이 가능하지만 온라인 강의 등, 멤버십 등을 통해 제한적인 사용자, 즉 권한이 있는 사용자들에게만 동영상을 제공하고, 권한이 없는 사용자에게는 동영상을 재생할 수 없도록 하기 위해서는 추가적인 보안 처리가 필요합니다. 이번 포스..
2021.04.08