본문 바로가기

실습19

Devops Day 56 (5.24) Project 3_마이크로서비스_Day 1 Achievement Goals AWS 클라우드 환경을 기반으로 하는 느슨하게 연결된(loosely coupled) 애플리케이션 아키택처에 대한 이해 Bare minimum - Serverless를 이용한 메시지 대기열 활용 이해 및 구현 - 요구사항에 따른 애플리케이션과 인프라 구현 - 문제사항 해결을 위한 추가 리소스 생성 → DLQ, Legacy 시스템 성능문제 해결, SES - 아키택처 다이어그램 제작 Advanced 인프라 관리와 재사용성을 위한 IaC 활용 → Terraform을 통한 리소스생성 Day 1 일정 프로젝트 요구사항 및 시나리오 는 온라인으로 도넛을 판매합니다. 웹사이트를 통해서 주문 버튼을 누르는 것으로 구매(Sales API)가 가능합니다. 창고에 재고가 있다면 재고가 감소하고.. 2023. 5. 24.
Devops Day 53 (5.19) 컨테이너 오케스트레이션_Sprint 새 버전이 망가졌어요 빈 문자열을 입력받은 경우, 빈 객체를 리턴해야 합니다새 버전이 망가졌어요! 스프린트는, 버그가 있는 새 버전을 쿠버네티스를 이용해 롤링 업데이트를 시도하고, 구버전으로 롤백하는 과정을 담은 스프린트입니다. 시나리오 여기 CozServer라는 간단한 WAS가 있습니다. 버전 1.0은 정상적으로 잘 작동하는 애플리케이션입니다. 여기에 디플로이먼트 명세를 적용해서 파드의 레플리카를 배포할 것입니다. 이후에 2.0 버전을 만들고, 디플로이먼트를 이용해 업데이트를 적용합니다. 여기까지는 전혀 문제가 없습니다. 그러나 여기서 우리는 3.0 버전에 의도적으로 버그를 만들 것입니다. 3.0 버전에 문제가 발생하면, 2.0 버전으로 롤백해야 합니다. 목표 : - 파드 명세를 작성할 수 있다. - 디플로이먼트 명세를 작.. 2023. 5. 20.
Devops Day 49 (5.15) Sprint Terraform x AWS_Full Stack 애플리케이션 구성 Bare Minimum requirement : Getting Started : IaC 코드를 작성하려면 먼저 AWS Management Console을 이용해 먼저 최종 인프라 상태를 만들어놓고, 잘 작동하는지 확인한 다음, 이를 해당하는 리소스를 하나씩 코드로 옮기는 방법을 사용하는 방식을 사용해 보면 좋습니다. 다음 자습서를 순서대로 따라 합니다. 먼저 AWS Management Console을 통해 최종 결과물을 따라 해보고, 예상 상태가 무엇인지 먼저 파악해야 합니다. 모든 리소스를 만들 때에는 반드시 이름을 붙여놓도록 합시다. 참고: https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.Cr.. 2023. 5. 18.
Devops Day 45 (5.9) 마이크로서비스 작성_Sprint API Gateway와 서버리스 애플리케이션 Bare Minimum Requirement : · 다음 아키텍처로 구성된 서버리스 애플리케이션을 배포합니다. o API Gateway - Lambda - DynamoDB · 직접 API Gateway로 실행해 봅니다. · API Gateway의 인증 기능을 이용해서, HTTP 요청에 특정 API Key를 사용하는 예제를 다음 두 가지 방법으로 구현합니다. 1. API Key 2. 권한 부여자 · CloudWatch Logs를 통해서 API 호출을 모니터링할 수 있어야 합니다. Step 1 : API Gateway - Lambda 배포 Instruction 1. Lambda 함수와 API gateway 세팅 위한 SAM 작성 - https://serverlessland.com/patterns/lambda.. 2023. 5. 10.
Devops Day 40 (5.1) Project 2 AWS 배포 자동화_Day3 실습과제: 프론트엔드 배포 자동화 Bare minimum requirement - 프론트엔드 프로젝트의 배포 자동화를 구현합니다. - GitHub Action 또는 CodePipeline + CodeBuild 조합 중 하나를 선택해서 구현합니다. - 프론트엔드의 변경사항이 S3에 배포가 되는지 확인합니다. - 정적 웹사이트 설정을 통해 S3 웹사이트 URL로 접근 시 웹 페이지가 제대로 보여야 합니다. 1. Github Repository 에서 project2_frontend 폴더 clone 한 후에 npm install -> npm run start시 4000번 포트를 통해 프론트엔드가 작동하며, WAS는 http://localhost:3000을 바라봅니다. 2. Codebuild / Github Ac.. 2023. 5. 3.
Devops Day 39 (4.28) Project 2 AWS 배포 자동화_Day2 마일스톤4 : 이미지 ECS 배포 Goal - ECS의 클러스터, 태스크 정의, 태스크, 서비스에 대한 개념을 이해합니다. - ECR에 저장된 웹 서버 이미지를 ECS로 배포해 봅니다. - ECS 태스크의 로그를 읽어봅니다. - 로드 밸런서와 ECS 서비스를 연결해 봅니다. 1. AWS ECS 콘솔에 접속하여 태스크 정의에 들어가 새 태스크 정의 생성으로 들어갑니다. - 필수 내용 기입 2. AWS ECS 콘솔에 클러스터 -> 클러스터 생성에 들어갑니다. - 필수 값, 페이지 설정 등 기입 합니다. - 클러스터 생성이 완료 됐으면 들어가 서비스 생성 선택합니다. - 기본 유형으로 진행하고 그전에 생성한 패밀리 선택하여 진행합니다. - 로드 밸런서 이름 지정하고 포트도 확인합니다. 단 진행 하다가 "Err.. 2023. 5. 3.