aws24 AWS X-Ray aws x-ray는 분산 애플리케이션을 추적해서 분석하는 서비스다. 하나의 클라이언트 요청이 응답하기까지 여러 서비스를 거치게 되는데 이런 분산 환경에서 각 서비스별로 걸리는 시간, 메타 정보를 모아 시각화해준다. 분산 환경에서 산발적인 요청을 하나로 연결하기 위해 X-Amzn-Trace-Id 추적 헤더를 포함한다. aws sdk는 이 추적 헤더를 추가해서 여러 segment를 하나의 trace로 관리한다. 최초 요청에 대해 하나의 trace가 생성되고, trace는 여러 개의 segment로 구성된다. 하나의 segment는 여러 개의 subsegment로 또 나뉠 수 있다. 위 서비스 맵에서 보이는 그래프가 segment, subsegment를 표현한다. x-ray는 데이터 전송하는 데 사용되는 오버.. 2020. 5. 5. AWS API Gateway lambda나 기타 서비스로 백엔드를 구축을 했으면, 이제 client에게 endpoint를 제공해야 한다. client 대상에 따라 특정 region, cloudfront edge, private VPC 중 한 곳에 생성한다. api gateway를 생성한 후에는 Resources 탭에서 REST API를 구성하고 deploy를 눌러 배포한다. api gateway 역시 serverless로 lambda 같은 serverless로 백엔드를 구축할 때 자주 사용한다. Deploy 작성한 API를 stage별로 나눠서 배포한다. stage별로 각 환경에 맞는 변수나 endpoint를 설정할 수 있다. 백엔드로 lambda를 사용하는 경우에는 환경별로 alias를 설정한다. Canary 트래픽을 기존 버전에.. 2020. 5. 2. AWS Lambda lambda는 aws의 핵심 서비스로 서버를 관리할 필요 없이 작성한 코드를 함수 단위로 실행시킬 수 있다. 요청량에 따라 인프라 걱정 없이 실행되고 사용한 만큼만 과금한다. 이런 serverless의 장점을 바탕으로 aws의 다양한 서비스를 lambda와 결합해서 더 강력한 인프라를 구축할 수 있다. Cold start / Warm start lambda가 최초 실행되어 자원을 할당받아 컨테이너가 구동되고 함수 실행을 준비하는 것을 cold start라 부른다. lambda가 종료돼도 컨테이너는 바로 반납되지 않고 약간의 딜레이를 가진다. 이 시간 안에 다시 lambda가 실행되는 것을 warm start라고 한다. warm start로 기존에 실행했던 컨테이너에서 다시 실행이 된다면 handler 밖.. 2020. 4. 27. AWS DynamoDB AWS DynamoDB는 fully managed 서비스로 NoSQL serverless database이다. mysql과 달리 database도 생성할 필요 없이 table만 추가해서 사용할 수 있으며 auto scaling으로 비용을 관리할 수 있고, 빠르고 일관된 성능을 보장한다. 어느새 multi table transaction 기능도 추가되어 유용하게 사용 가능하다. Primary Key Partition key 테이블을 생성할 때 partition key를 지정한다. partition key는 테이블 내에서 유일해야 하며 아이템은 partition key의 hash값으로 분포되어 해당 partition에 저장된다. 전체 partition 수는 아래에서 설명할 성능 지표와 테이블 크기를 고려해서.. 2020. 4. 26. AWS ECS dynamic port mapping ECS로 docker container를 띄우기 위해 Task Definition을 작성하다 보면 container에 port mapping 하는 부분이 있다. 이 설정을 통해 host의 port를 container의 port로 매핑시킬 수 있다. Port Mapping 예를 들어 8080:80, 8081:81, 8082:82 포트로 매핑을 시킨 Task Definition을 가지고 container를 생성하면 아래 그림과 같다. 호스트의 8080 포트로 요청이 오면 80번 포트에서 기다리는 container로 보낸다. 8081 포트는 81번 포트, 8082 포트는 82번 포트에서 기다리는 container로 보낸다. ECS Cluster가 관리하는 ECS Instance에 각 task가 띄워질 테니, .. 2020. 4. 22. AWS VPC를 연결하는 서비스 aws에는 정말 많은 서비스가 있고, 앞으로도 많이 생길 것이다. 각 서비스는 기존에 불가능하거나 불편했던 점을 개선하기 위해 나왔기 때문에 서비스의 이유에 대해 생각해보면 좀 더 이해하기 편리하다. VPC 단위로도 많은 서비스가 있는데 각 문서를 따로 읽다 보니 비슷하면서 헷갈리는 부분이 있다. VPC를 연결하는 서비스들의 명칭과 기능에 대해 잘 구분할 줄 알아야 한다. VPC Peering 논리적으로 독립적인 두 개의 VPC(Virtual Private Cloud)를 마치 하나의 VPC를 사용하는 것처럼 묶어준다. 두 개의 VPC를 하나의 VPC인 것처럼 사용하기 위해 Peering Connection을 생성하고, Peering Connection을 각 VPC subnet의 route table에 추.. 2020. 4. 19. 이전 1 2 3 4 다음