학습 주제
주요 메모 사항
AWS CLI 링크
- AWS Command Line Interface(AWS CLI)는 명령줄 셸의 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구
- 최소한의 구성으로 AWS CLI를 사용하면 터미널 프로그램에 있는 명령 프롬프트에서 브라우저 기반 AWS Management Console에서 제공하는 것과 동일한 기능을 구현하는 명령을 실행 가능
(다음 링크 를 참고해 설치 후, cmd or powershell 에서 pip install awscli)
- 쉽게 설치가 가능, 다만 git bash와 다르게 별도의 CLI 프로그램이 제공되지는 않는듯
실습 순서
- 백엔드 모듈 구성
- Elastic beanstalk 구성
- S3 구성
- React 구성
- RDS 구성
- VPC 구성
- 도메인 구성
- SSL 구성
- CICD 구성
Elastic beanstalk 구성
- elastic beanstalk 생성시 ec2 인스턴스가 생성됨
- beanstalk 생성시에 IAM 역할에 ec2 access 권한이 필요함, 기본적으로 추가되지 않는듯
RDS 구성 (생략, 그냥 프리티어로 생성)
S3 - React 구성 (node.js 에서 npx 설치 필요 -> npm install npx -g)
- 로컬에서 node.js 사용해 프론트 출력 확인, react의 기본 페이지 출력 확인 후 업로드 필요
- S3 정적 웹 호스팅 기능을 사용, 그냥 aws 콘솔에서 업로드 하면됨
CI/CD 구성
- CodePipeline 에서 Github와 연결
- 빌드 스테이지를 추가, 프로젝트 빌드하는 과정이 필요
- 필자는 github에 업로드 X, 강사님 이미지로 첨부
- 배포 스테이지에서 Elastic Beanstalk를 선택
- 미리 생성해둔 Elastic Beanstalk의 환경과 애플리케이션을 선택하면 됨
- 아래의 이미지는 public 기준임, 다만 강의에서는 private 기준이므로 추가적인 설정 필요
- 배포 공급자를 CodeDeploy로 선택해야 함
- 왜냐하면 private 네트워크 안에 들어가서 배포가 필요, ELB를 통해서 배포할 수 있게 구성해야함
- 아래 이미지는 CodeDeploy 생성 과정, 기존 ElasticBeanstalk으로 생성된 EC2를 연결
- beanstalk elb를 만들었으면 로드 밸런서 옵션에서 나오게 됨, 기존에 생성된 EC2도 목록에 뜨는걸 볼 수 있음
- private 안에서 연결해주는 elb 선택
- 배포까지 세팅을 완료하면 파이프라인이 성공적으로 저장되는 것을 확인할 수 있음
- 그러면 지금까지 구성한 Elastic Beanstalk에 들어가서 CodeDeploy가 잘 동작하는지 확인해 볼 수 있음
- deploy log 파일 위치
- 아무파일이나 수정을하고 git에 push를 하면 CodePipeline가 동작하는 것을 확인할 수 있음
Route 53 을 사용해 도메인 변경
- 구입한 도메인으로 호스팅 영역 생성을 진행
- 그러면 값/트래픽 라우팅 대상에 연결해야할 값이 생성됨
- Cloud Front에서 생성했던 도메인을 설정해줌
- 이후에 해당 도메인에 대한 검증이 이뤄짐
- 검증이 성공하면, 도메인 레코드를 설정
- S3 웹 사이트 엔드포인트가 설정됨
- Elastic Beanstalk 에 대한 도메인도 단순 레코드 정의를 통해 설정 가능
공부하며 어려웠던 내용
private한 인스턴스에 접속하는 개념은 다음 링크 에서 다시 복습
강의에 VPC 부터 시작해서 그룹, 사용자, 역할, 권한 까지 한번에 세팅해보는 내용이 없다 -> Elastic Beanstalk 진행 -> 해당 서비스를 만들때 권한 관련해서 계속해서 문제가 발생했다... 보안그룹도 문제가 발생하고 이 부분을 해결하면서 진행했지만 뭔가 제대로 돌아가지 않고 빨간표시가 발생함
'프로그래머스 데브코스-데이터 엔지니어 > TIL(Today I Learned)' 카테고리의 다른 글
05/22 31일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (1) (1) | 2023.05.22 |
---|---|
05/19 30일차 가장 많이 사용되는 AWS 클라우드 (5) (1) | 2023.05.19 |
05/17 28일차 가장 많이 사용되는 AWS 클라우드 (3) (1) | 2023.05.17 |
05/16 27일차 가장 많이 사용되는 AWS 클라우드 (2) (0) | 2023.05.16 |
05/15 26일차 가장 많이 사용되는 AWS 클라우드 (1) (0) | 2023.05.15 |