2021. 6. 13. 14:26ㆍ카테고리 없음
1. 알아야 할 용어들
??: ECR -> ECS -> code deploy로 호출하는 개념이라고 하셔서
ECR: Elastic Container Registry
컨테이너 이미지와 아티팩트를 손쉽게 저장, 관리, 공유 및 배포 할수 있는 완전 관리형 컨테이너 레지스트리다.
ex) repositary 역할
ECS(Elastic Container Service): EC2 인스턴스에서 컨테이너 실행을 관리하는 관리형 서비스
배포 전략
Blue Green 배포 (무중단 배포를 위한 배포 전략!)
- AWS Elastic Beanstalk 환경에 서로 별개지만, 완전히 동일한 2개의 환경(블루,그린)으로
애플리케이션을 개발 및 배포하면 가용성이 높아지고 위험은 낮아진다.
Blue Green 처리 순서
0. 블루 환경은 통상적으로 라이브 트래픽을 처리하는 운영환경이다.
1. CI/CD 파이프라인 아키텍처는 라이브 Elastic Beanstalk 환경(블루)의 복제본 (그린)을 생성한다.
2. 파이프라인이 두 환경 사이에서 URL을 전환한다.(블루 -> 그린)
3. 라이브 트래픽은 임시 복제본 환경(그린)에서 처리된다. 블루 환경으로 배포되고 코드 검토와 코드 테스트가 완료되면 파이프 라인은 그린과 블루 환경 사이의 URL을 다시 전환한다. (그린->블루)
4. 그러면 다시 블루 환경에서 라이브 트래픽 처리가 시작되고 그린 환경은 폐기 된다.
출처: https://aws.amazon.com/ko/quickstart/architecture/blue-green-deployment/
- 도커는 리눅스 커널을 사용하므로 컨테이너 인스턴스로 윈도우 계열을 사용 할 수없다.
- 여러 작업을 하나의 OS 에서 실행하므로 포트번호가 중복되지 않게 주의할 필요가 있다.
클러스터 : 컨테이너 인스턴스의 그룹 , 컨테이너를 배포한다.
EKS: 컨테이너를 효율적으로 관리하는 오케스트레이션 서비스
Fargate: 워크로드를 실행하는 환경을 제공, 관리하는 서비스 이다. (= 프로비저닝)
- 마이크로서비스는 느슨한 결합을 권장하나, 로컬통신이나, 데이터 공유가 적합한 경우도 있다.
- 여러컨테이너간 이러한 요구가 있는 경우는 한 pod 에 포함 시켜야 한다.
AWS fargate 를 이용하면 클릭한번으로 배포 할수있다.
레포지토리에 저장한 데이터와 인터넷으로 전송한 데이터 양에 대해 요금을 지불하는 방식이다.
Aurora PostgreSQL :
오로라는 관리형 관계형 데이터 베이스 엔진이다.
Aurora PostgreSQL는 PostgreSQL을 즉시 대체할 수 있고 새로 배포하는 PostgreSQL이든, 혹은 기존에 배포한 PostgreSQL이든 상관없이 설치, 조작 및 조정이 간편하고 비용 효율적이기 때문에 비즈니스와 애플리케이션에 더욱 많은 시간을 투자할 수 있다.
??: 실제로 scale out 감안해서 fargate용으로 설정한 IP대역이 있을꺼야.
Scale out : 접속된 서버의 대수를 늘려 처리 능력을 향상 시키는 것이다.
수평 스케일로 불리기도 한다.
??: mli 개발서버 -> cloud front -> S3 방식
Cloud Front : html, css, js 및 이미지 파일과 같은 정적및 동적 웹 콘텐츠를 사용자에게 더빨리 배포하도록 지원하는 웹서비스다.
엣지 로케이션이라는 데이터 센터의 전세계 네트워크를 통해 컨텐츠를 제공한다.
cloudFront 를 통해 서비스하는 콘텐츠를
사용자가 요청하면 지연시간이
가장낮은 엣지 로케이션으로 요청이 라우팅 되므로
최고의 성능으로 콘텐츠가 제공된다.
Amazon S3 (Simple Storage Service): 데이터를 저장하고 검색할 수있도록 구축된 객체 스토리지
서비스
SVN: 형상관리 소스 툴
쓰임새는 git 과 비슷하나 작동방식이 다르다.