버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNamecdkdiagram01
simpleViewerfalse
width
diagramWidth1031
revision12


개발환경 구성

개발통합환경은 AWS Cloud9을 이용합니다. 개발을 위해서 별도의 개발 서버를 할당 받거나 서버에 런타임 설정을 할 필요가 없습니다.
서비스를 구성하는 리소스는 AWS Cloud Development Kit을 이용해서 개발합니다. 해당 실습은 Python 언어를 이용해서 인프라와 개발을 동시에 진행합니다.

...

코드 블럭
languagepy
themeRDark
titleLambda 함수에 DynamoDB 접근 권한 부여
        table.grant_read_write_data(function)

...

Lambda 함수 코드 중간에 os.environ.get('TABLE_NAME')  과 같이 외부 환경 변수로 설정된 값을 이용할 수 있습니다.
해당 테이블의 이름이 필요하므로 환경 변수 값을 아래와 같이 코드에 추가할 수 있습니다.

코드 블럭
        function.add_environment("TABLE_NAME", table.table_name)

...

코드 블럭
languagepy
themeRDark
titleAPI Gateway 선언
        api = aws_apigateway.LambdaRestApi(self, "api", handler=function)

...

부하 테스트는 Docker 이미지를 만들고 Fargate를 이용해서 Task를 배포하여 테스트 합니다.

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNamecdkdiagram03
simpleViewerfalse
width
diagramWidth1031
revision12

트래픽 생성용 Docker 이미지 작성

트래픽 생성용 Docker 이미지를 작성하기 위하여 pinger load-test 폴더를 하나 만듭니다.

코드 블럭
languagebash
themeDJango
title트랙픽 생성용 폴더 생성
mkdir pingerload-test
cd pingerload-test

다음과 같이 ping.sh 파일을 만들고 코드를 넣습니다. 1초 간격으로 URL을 호출합니다.

...