프로그래머스 데브코스 웹 풀사이클 20주차 4일차

웹 기반 문서 편집기 제작 프로젝트
AWS 활용 계획
AWS(Amazon Web Service)
여러 가지 응용의 실현에 필요한 infrastructure 를 on-demand 로 서비스
- 웹/모바일 서비스 응용
- 빅데이터/인공지능 응용
IaaS, PaaS, SaaS 중 IaaS 에 가까운 모델
클라우드 인프라의 이용
- 장점 : 유연한 이용, 안정적 서비스, 다중화와 스케일링, Pay-as-you-go, TCO (total cost of ownership) 절감, 다양한 도구 제공, 풍부한 문서 및 참고 자료
- 단점 : 비용, 활용법을 익혀야함
EC2
- AWS 에 의하여 운용되고 있는 네트워크 상에 존재하는 가상의 서버다.
- 여러 가지의 운영체제로 이루어진 소프트웨어 실행 환경을 선택하여 설치, 운영 가능하다.
- 서버를 구매하고 소프트웨어 설치해서 IDC 에 상면한 것과 비유 가능하다.
AMI
- EC2 에서 활용하는 컴퓨터 (파일시스템) 이미지이다.
- 소프트웨어의 설치 및 구성을 모두 포함하고 있다
- Amazon이 지원하는 온갖 운영체제의 이미지, AWS 와 3rd-party 제공 marketplace, 커스텀 이미지 등을 포함한다.
S3 (Simple Storage Service)
- Bucket 단위로 운영되는 object storage service이다.
- 임의 형태의 데이터 (비정형 데이터 포함) 를 저장하고 접근, 공유한다.
- AWS Glacier 와 연동 이용하여 데이터 유지의 비용을 절감하고 접근 유연성을 높인다.
배포 환경 설정
순서
- EC2 인스턴스 생성과 네트워크 설정
- SSH 접속 경로 확인
- Minikube 활성화
- 클러스터 접근 설정
- 확인
EC2 인스턴스 생성
- "Launch Instance" 클릭
- 인스턴스 설정
- Type: t3.medium
- Security group: 교육 운영진의 안내에 따라 미리 설정한 security group 적용한다.
- ssh (22), http/https (80/443), mysql (3306), minikube (8443) 포트 외에는 모두 닫혀 있다.
- Storage: 16 GiB gp2
SSH 초기 접속
- 키 적용: -i 옵션을 이용, 앞에서 생성한 key pair 중 다운로드된 .pem 파일 적용한다
- 계정: ubuntu
- 서버 도메인 네임: 각자에게 부여된 것을 적용한다
Minikube 활성화
- sudo systemctl enable minikube
- IP 가 정해진 상태에서 해야 하기 때문에 미리 적용되어 있지 않다.
- Reboot 하고 minikube 설정 적용 완료될 때까지 조금 대기한다.
- 상태가 “active (exited)” 가 될 때까지 기다려야 한다.
클러스터 접근 설정
- 클러스터 접근을 위한 파일들 취득
~/.minikube/ca.crt
~/.minikube/profiles/minikube/client.crt
~/.minikube/profiles/minikube/client.key
로컬 컴퓨터의 kubeconfig 설정
- Cluster 추가
- Context 추가
- User 추가
배포 도구의 설정
Amazon ECR
- 새 리포지토리 생성
- 푸시 명령 확인
- AWS 액세스 키 생성
CLI 설정
- 브라우저 화면에서 Access key 와 Secret access key 를 각각 복사하여 붙여넣기한다.
- 아무 이미지를 준비한다 (docker pull)
- 태크를 붙이고 푸시한다.
- 로컬 이미지를 삭제하고 ECR 에서 Pull한다.