Lambda 3

Payer Account에서 Athena로 AWS Config Resource 조회하기

Payer Account에서 Linked Account의 Config 리소스를 조회하려면 Config Aggregator를 사용하는 방법이 있다. 그러나 Config Aggregator에서는 Tag 별 검색 등 검색에 제한이 있어 이를 Athena에 연동하였다. 대부분 참조로 기재해둔 Document에 내용이 명시되어 있으며 별도로 추가한 부분은 Payer S3에 일괄저장하기, Stackset 사용, Lambda 코드 일부 수정 정도이다. 목차 1. Payer Account S3 생성 Payer Account에 S3를 생성한다. S3 Policy는 아래를 참조한다. (특정 Org에서 접근할 수 있도록 전체 권한 부여) 2. Linked Account Config 설정 각 Linked Account에 Co..

Cloud/AWS 2021.06.15

AWS Console에 들어가지 않고 EC2 Instance 기동시키기

목차 개발을 위해서 EC2 위에 인스턴스를 두고 매일 Stop, Start를 하고 있는데, 이 시간이 일정치 않아 매번 AWS Console에 들어가서 서버를 수동으로 실행시켜야 하는 번거로움이 있었다. 이번에는 그런 번거로움을 해소하기 위해 AWS의 서비스인 Lambda와 API Gateway를 활용하여 EC2 기동을 자동화해보고자 한다. 1. Lambda 생성 # IAM Role 최초 Lambda 환경 생성 시 "기본 Lambda 권한을 가진 새 역할 생성"으로 역할을 생성한 후 Statement에 아래 문구를 추가해준다. { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:StartInstances", "Resource": "*" }, # La..

Cloud/AWS 2021.01.26

AWS Lambda/Kinesis Stream Best Practice

개요 Kinesis Stream을 Lambda와 연계시키기 위해서는 Event source mapping을 중간에 설정해주어야 한다. 물론 어려운 과정은 아니며, 이렇게 되면 아래와 같은 Data Flow가 구성된다. 이러한 아키텍처가 구성되었을 때, 어떻게 해야 고가용성/고성능의 아키텍처를 구현할 수 있을까에 대해 글을 써보고자 한다. Scale Out 먼저, Kinesis Stream으로 유입되는 데이터가 많아졌을 경우, 어떤 대응이 필요한지에 대해 고민해보았다. 간단히 생각해보면, Shard의 개수를 늘리면 되는데, 이 때 과연 Lambda는 어떻게 확장해주어야 하는가? 결론적으로, Kinesis Stream에서 Shard가 증가하게 되면 이것의 개수만큼 Lambda 개수가 자동으로 늘어나게 된다...

Study 2020.06.07