[Sprint] aws EC2와 k6를 이용한 성능 테스트

# 학습 목표 # 해결 과제 1. aws ec2 인스턴스 생성 2. install k6 # 실습 자료 sprint_k6_test # 과제 항목별 진행 상황 인스턴스 시작 CPU 사용률이 5%이하로 credit 사용이 거의 없음 basic test load_test.js 평균 부하 테스트는 프로덕션 환경의 평균 동작을 반영하는 초당 동시 사용자 및 요청 수를 시뮬레이션합니다. soak_test.js stress_test.js 스트레스 테스트는 사용량이 … Read more

[Sprint] 모니터링 시스템 구축

# 학습 목표 # 해결 과제 1. nginx 인그레스 컨트롤러 설치 Helm을 이용해서 설치합니다. (minikube addon을 사용하는 것이 아닙니다) 이때 nginx 인그레스 컨트롤러가 프로메테우스용 메트릭을 노출해야 하므로, helm install 과정에서 반드시 설정해야 하는 옵션이 있습니다. 레퍼런스, 레퍼런스2를 참고해서, 어떤 옵션을 설정해 주어야 프로메테우스에서 nginx의 메트릭을 볼 수 있는지 고민해 보세요. 다음과 같이 환경설정을 지정할 수 … Read more

[Sprint] Auto Scaling + CloudWatch를 이용한 알림

# 학습 목표 # 해결 과제 시작 템플릿 구성 ASG를 위한 시작 템플릿 구성은 다음을 따릅니다. CloudWatch와 조정 정책 기타 과제 이미지 예시 # 실습 자료 Lambda 함수 코드 : sns_to_discord.py # 과제 항목별 진행 상황 1. 시작 템플릿 생성 2. Auto Scaling 그룹 생성 3. Auto Scaling 그룹 동적 크기 조정 정책 생성 EC2 … Read more

[Sprint] 새 버전이 망가졌어요

# 학습 목표 # 해결 과제 🏁 이모지는 해당 STEP의 목표 ✅ 해당 STEP에서 잊지 말고 진행 STEP 0: 복습 Docker Hub에 sebcontents/cozserver:1.0이라는 이름의 파드가 존재합니다. CozServer는 컨테이너 안에서 8080 포트를 통해 열려 있습니다. 도커를 복습할 겸, 도커를 이용해 한번 열어봅시다. 연습을 마쳤으면, 컨테이너는 삭제해도 좋습니다. STEP 1: 파드 이 단계에서는 파드를 수동으로 만들어볼 것입니다. … Read more

[Sprint] Terraform x AWS

# 학습 목표 Terraform을 이용한 AWS 아키텍처 구성 # 해결 과제 다음의 아키텍처를 terraform을 이용해 작성합니다. STEP 1: 자습서: DB 인스턴스에 사용할 Amazon VPC 생성 STEP 2: EC2 인스턴스 생성 만들어야 하는 사양은 다음과 같습니다. Advanced Challenges STEP 3: 자습서: DB 인스턴스 생성 STEP 4: 애플리케이션 로드 밸런서 및 Auto Scaling Group 적용 # 실습 … Read more

[Sprint] 서버리스 사진첩

# 학습 목표 # 해결 과제 # 실습 자료 # 과제 항목별 진행 상황 1. Lambda 함수 생성 javascript 코드 작성 build & deploy 2. S3 버킷 생성 소스 버킷 생성 타겟 버킷 생성 타겟 버킷 ACL 활성화 3. Lambda 트리거 추가 4. Lambda 실행 역할에 권한 정책 추가 5. 테스트 이미지 업로드 Lambda 실행 … Read more

[Sprint] API Gateway와 서버리스 애플리케이션

# 학습 목표 # 해결 과제 Step 1: API Gateway – Lambda 배포 Instruction STEP 2: API 게이트웨이 – Lambda STEP 3: API 게이트웨이에 제한 추가하기 아래 세 개는 꼭 실습해 보세요 # 실습 자료 sprint-serverless-apigateway # 과제 항목별 진행 상황 STEP 1 : API Gateway – Lambda 배포 Instruction SAM(Serverless Application Model) sample code … Read more

[Sprint] 도메인 주도 설계 실습

# 업무 개요 중앙방역대책본부에는 다양한 팀(DDD의 관점에서는 Actor)이 있지만, 대중에게 가장 잘 알려진 다음의 네 팀의 업무만을 이해해 보도록 합시다. 💡 주의: 이하 안내하는 코로나19 대응 지침은 정부 자료를 바탕으로 한 가상의 약식 운영 지침입니다. 따라서, 현재 운영 중인 정부의 지침과는 다를 수 있습니다. 이 안내를 실제 코로나19 대응 지침으로 오해하거나 적용하지 마세요. 환자관리팀 역학조사팀 격리관리팀 진단검사운영팀 … Read more

[Sprint] 환경 변수 설정

# 학습 목표 # 해결 과제 # 실습 자료 sprint-practice-deploy-for04 # 과제 항목별 진행 상황 클라이언트 환경 변수 설정 서버 환경 변수 설정 # TROUBLE SHOOTING LOG 💡 Parameter SecureString으로 넘겨 받기 원인 Password부분을 평문으로 전달할 경우 보안상의 위험이 있기 때문에 보안 문자열로 암호화를 진행하여 인자값으로 전달 진행 해결 방안 파라미터를 전달받는 쪽에서 —with-decryption 옵션을 … Read more

[Sprint] 클라이언트 배포 파이프라인

# 학습 목표 # 해결 과제 repository 주소의 main 브랜치를 이용합니다. # 실습 자료 sprint-practice-deploy-for04 # 과제 항목별 진행 상황 # TROUBLE SHOOTING LOG 💡 문제 내용 원인 runtime에서 노드 버전이 18.15.0 에서 동작 해결 방안 아래 처럼 이미지 별로 노드 버전이 다르므로 5.0 에서 동작을 해야함 aws/codebuild/standard:5.0/Dockerfile aws/codebuild/standard:7.0/Dockerfile #References