본문 바로가기

AWS24

Devops Day 57 (5.25) Project 3_마이크로서비스_Day 2 Github - Repository for Project 목표 - 메시지 큐의 Pub/Sub 패턴과 Producer/Consumer 패턴의 차이를 이해한다 - DB와 서버와의 통신이 가능하도록 연결한다 - 특정 상황에서 SNS, SQS로 메시지가 전달되도록 시스템을 구성한다 - SQS에 들어온 메시지를 레거시 시스템(Factory API)으로 전달하는 시스템을 구성한다 - 레거시 시스템(Factory API)의 콜백 대상이 되는 리소스를 생성해 데이터베이스에 접근할 수 있게 한다 Step 1 - Lambda 서버(Sales API) - DB 연결 1. git clone 후 sales-api 디렉토리로 들어가 CLI에 “serverless deploy” 합니다. 2. Serverless deploy 후 M.. 2023. 5. 30.
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 48 (5.12) Infrastructure as Code_Terraform 절차형 : 프로그래밍 언어를 이용해서 직접 순차적으로 인프라를 생성하도록 코드를 작성하는 방법입니다. 절차형 Iac의 종류 : AWS CDK Pulumi 선언형 IaC : 선언형 언어 JSON, YAML 등을 사용합니다. 실제 인프라가 적용된 결과(기대하는 상태)와 적용할 내용(YAML 등)이 직관적으로 매핑됩니다. 선언형 IaC 종류 : CloudFormation (AWS에서만 사용가능) Azure Blueprint (Azure에서만 사용가능) Cloud Deployment Manager (GCP에서만 사용가능) Terraform: 어떤 클라우드 서비스에도 적용되는 범용 IaC 도구입니다. Terraform 기초 Hands on 테라폼은 HashiCorp의 인프라스트럭처 코드 도구입니다. 테라폼을 사용.. 2023. 5. 18.
DevOps Day 32 (4.19) AWS_컨테이너 배포 Amazon ECS/ECR 마이크로서비스 아키텍쳐 : 마이크로서비스는 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스로 구성되어 있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식입니다. 마이크로서비스 아키텍처는 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 기능의 출시 시간을 단축할 수 있게 해 줍니다. 모놀리식 아키텍처 vs 마이크로서비스 아키텍처 모놀리식 아키텍처의 경우 모든 프로세스가 긴밀하게 결합되고 단일 서비스로 실행됩니다. 따라서 애플리케이션의 한 프로세스에 대한 수요가 급증하면 해당 아키텍처 전체를 확장해야 합니다. 그래서 새로운 아이디어를 구현하기가 어려워지고 긴밀하게 결합된 프로세스로 인해 단일 프로세스의 실패로 인한.. 2023. 5. 16.
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.