...
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
개발환경 구성
개발통합환경은 AWS Cloud9을 이용합니다. 개발을 위해서 별도의 개발 서버를 할당 받거나 서버에 런타임 설정을 할 필요가 없습니다.
서비스를 구성하는 리소스는 AWS Cloud Development Kit을 이용해서 개발합니다. 해당 실습은 Python 언어를 이용해서 인프라와 개발을 동시에 진행합니다.
...
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
table.grant_read_write_data(function) |
...
Lambda 함수 코드 중간에 os.environ.get('TABLE_NAME') 과 같이 외부 환경 변수로 설정된 값을 이용할 수 있습니다.
해당 테이블의 이름이 필요하므로 환경 변수 값을 아래와 같이 코드에 추가할 수 있습니다.
코드 블럭 |
---|
function.add_environment("TABLE_NAME", table.table_name) |
...
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
api = aws_apigateway.LambdaRestApi(self, "api", handler=function) |
...
부하 테스트는 Docker 이미지를 만들고 Fargate를 이용해서 Task를 배포하여 테스트 합니다.
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
트래픽 생성용 Docker 이미지 작성
트래픽 생성용 Docker 이미지를 작성하기 위하여 pinger load-test 폴더를 하나 만듭니다.
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
mkdir pingerload-test cd pingerload-test |
다음과 같이 ping.sh 파일을 만들고 코드를 넣습니다. 1초 간격으로 URL을 호출합니다.
...