일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 직무분리
- terraform기초
- 최소권한
- AWS구축
- linux명령어
- opt/anaconda3/bin/jupyter_mac.command
- aws terraform
- aws기초
- aws기본
- terraform기본
- cissp
- Linux
- GDPR
- 주피터노트북 설치
- terraform따라하기
- terraform with aws
- blue/green배포
- AWS 공격테스트
- 리눅스명령어
- AWS CodeDeploy
- aws
- Cissp sdlc
- 리눅스
- 리눅스기초
- AWS실습
- AWS배포자동화
- AWS CI/CD
- 리눅스기초명령어
- aws따라하기
- 쉘스크립트
ysuekkom의 IT study note
[AWS Cloud] 분산 어플리케이션 분석 및 디버깅 X-Ray -2 실습따라하기 본문
실습 따라하기
1. Elastic BeanStalk을 이용하여 EC2 인스턴스에서 돌아가는 Java Scorekeep 애플리케이션 배포 후, 간단한 웹페이지를 만들어 트래픽을 유발한다. 이 트래픽을 수집한 X-Ray결과를 확인한다.
2. DynamoDB와 X-Ray를 이용하여 조금더 복잡한 애플리케이션을 배포하고, 트래픽을 확인한다.
AWS에서 들어오는 HTTP 호출, DyanmoDB SDK 클라이언트 및 HTTP 클라이언트를 계측하기 위한 X-Ray SDK이다. 샘플 애플리케이션은 CloudFormation 추가 구성 없이 DynamoDB테이블을 생성하고, 인스턴스에서 자바 코드를 컴파일, X-Ray 데몬을 실행할 수 있다. Spring 프레임워크와 AWS SDK for Java를 사용하여, 사용자, 세션 및 게임을 만들고 관리하기 위한 인터페이스를 제공하는 RESTful 웹 API다. API는 HTTP를 통해 API를 사용하는 Angular 1.5 웹 앱이 들어있는 번들로, Amazon Cognito, X-Ray 및 관리형 데이터베이스 서비스와의 통합을 보여주는 브랜치다.
사전 조건
AWS CloudFormation샘플 애플리케이션 및 X-Ray 데몬을 실행하는 리소스를 만든다. IAM 사용자에 다음 정책을 추가한다.
- AWSCloudFormationFullAccess
- AmazonS3FullAccess
- IAMFullAccess
- AmazonEC2FullAccess
- AmazonDynamoDBFullAccess
- AmazonECS_FullAccess
- AmazonSnSFullAccess
- AWSXrayReadOnlyAccess
git clone https://github.com/aws-samples/eb-java-scorekeep.git xray-scorekeep -b xray-gettingstarted
//scorekeep application download
cd xray-scorekeep/cloudformation/
//aws cli create(CloudFormation Stack)
aws cloudformation create-stack --stack-name scorekeep --capabilities "CAPABILITY_NAMED_IAM" --template-body file://cf-resources.yaml
//CloudFormation Stack Status Check
aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].StackStatus"
>>Status 결과 COMPLETE 시 성공, URL 찾아서 접속하기
>>애플리케이션 URL 찾기
aws cloudformation describe-stacks --stack-name scorekeep --query "Stacks[0].Outputs[0].OutputValue"
>>접속 성공
>>Game 생성하기
- game: ysuekkom
- rules: Tic Tac Toe
>Play 버튼 클릭
>>Game 시작하기
>>게임 진행
각 단계는 API에 대한 HTTP 요청을 생성하고 DynamoDB에 대한 다운스트림 호출을 생성하여 사용자, 세션, 게임, 이동 및 상태 데이터를 읽고 쓴다. 게임 후 데이터 확인 가능
- View traces for this game
- View sevice map
X-Ray 스택생성>>Management Console에서 작업
>>템플릿파일 업로드
>>검토
1. Elastic BeanStalk을 이용 Java 애플리케이션 배포
Elastic BeanStalk: 웹 애플리케이션을 배포하는데 도움을 주는 AWS 리소스로 애플리케이션을 배포하는 가장 빠르면서도 간편한 방법이다. 코드를 업로드하면 용량 프로비저닝,LB, 오토스케일링, 모니터링 등을 자동으로 처리해주는 AWS의 관리형 서비스이다. 직접적인 추가 과금은 없으며, 애플리케이션을 실행, 저장하는데 필요한 AWS 리소스 사용량만큼 부과된다.
region: us-east-1(버지니아북부)에서 Elastic BeanStalk 생성하기 > Management console로 연결하기
https://us-east-1.console.aws.amazon.com/elasticbeanstalk/home?region=us-east-1#/welcome
>>step1. 환경 구성
- 환경 티어: 웹 서버 환경
- 애플리케이션 이름: ysue-scorekeep
- 환경 정보: Ysue-scorekeep-env
- 플랫폼: 관리형 플랫폼: Java, Corretto 11 running on 64bit Amazon Linux 2, 3.4.7(Recommended)
- 애플리케이션 코드: 샘플 애플리케이션
>>step2. 서비스 액세스 구성
- 서비스 역할: 기존 서비스 역할 사용(자동 연결)
- 검토단계로 건너뛰기
>>검토 > 제출
>>도메인 접속
다음 실습 따라하기에서는 애플리케이션에서 유발된 트래픽을 X-Ray로 연동하여 분석해보도록 하겠다.
참고
https://docs.aws.amazon.com/ko_kr/xray/latest/devguide/xray-scorekeep.html
https://docs.aws.amazon.com/ko_kr/xray/latest/devguide/scorekeep-tutorial.html
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/tutorials.html
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html
https://docs.aws.amazon.com/ko_kr/xray/latest/devguide/xray-services.html
https://docs.aws.amazon.com/ko_kr/xray/latest/devguide/xray-api.html
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/eb-cli3-install-osx.html
'Cloud Service > AWS' 카테고리의 다른 글
[AWS Cloud] 분산 어플리케이션 분석 및 디버깅 X-Ray -1 (0) | 2023.05.18 |
---|---|
[AWS Cloud] AWS CI/CD 자동화 구축하기 -CodeDeploy, CodePipeline (0) | 2023.05.17 |
AWS ElasticBeanStalk이란?(EB vs CodeDeploy) (0) | 2023.05.15 |
[AWS Cloud] EC2 자동 빌드/배포하기-Code Deploy CI/CD 따라하기 (0) | 2023.05.14 |
[aws-기본] 로드밸런서 구축하기 (0) | 2022.12.14 |