CloudFormation에서 시작하는 최초의 ECS(with Blue/Green Deployment)
소개
요 전날, 2018년 8월에 쓴 「 Laravel 애플리케이션을 로컬 또는 AWS에서 Docker로 이동 」라고 하는 기사가
100
LGTM
에 도달했습니다.2021년 2월 현재 제가 쓴 기사 중 가장
LGTM
되고 있는 기사로 해, 올해 들어도 LGTM
되고 있는 것으로부터 관심의 높은 내용일까라고 생각하고 있다 합니다.그렇다고는 해도, 3년 가까이 경과하고 있는 기사이기 때문에, 구축 방법도 포함해 업데이트하고 싶습니다.
이 기사에서는,
CloudFormation
를 사용해, 몇개의 커멘드를 두드리는 것으로, 짧은 단계로 ECS
환경을 구축해 갑니다.구축을 시작하기 전에 해 두는 것
구축을 시작하기 전에 해 두는 것을 이하에 나타냅니다.
AWS CLI
설치aws configure --profile=$(profile)
에 의한 자격 증명 설정Docker
설치ECR
에 Docker
이미지를 푸시할 때 필요합니다 Windows
의 경우, Make
커멘드를 사용할 수 있도록 해 둔다github
의 personal access token
만들기repo
및 admin:repo_hook
권한을 선택하십시오 CodePipeline
에 의한 배포에 필요합니다 막상, 구축
CloudFormation
의 템플릿과 간단한 응용 프로그램은 imunew/ecs-blue-green-demo에 있습니다.리포지토리를
fork
하고 git clone
합니다.$ git clone [email protected]:{forkしたアカウント}/ecs-blue-green-demo.git
$ cd ecs-blue-green-demo
이하,
imunew/ecs-blue-green-demo
를 사용해 구축해 갑니다.1. VPC , Subnet ,... LoadBalancer 구축
다음과 같이
make
명령을 실행합니다.$ make deploy-vpc-subnet profile=$(profile)
$ make deploy-nat-instance profile=$(profile)
$ make deploy-network profile=$(profile)
$ make deploy-security-group profile=$(profile)
$ make deploy-load-balancer profile=$(profile)
2. ECR 리포지토리 생성 및 Docker 이미지 푸시
먼저
ECR
리포지토리를 만듭니다.$ make deploy-ecs-ecr profile=$(profile)
그런 다음
Docker
이미지를 빌드하고 ECR
로 푸시합니다.$ make push-docker-images profile=$(profile)
3. ECS 클러스터 및 서비스 구축
ECS
클러스터와 서비스를 빌드합니다.$ make deploy-ecs-cluster profile=$(profile)
$ make deploy-ecs-service profile=$(profile)
ECS
서비스가 정상적으로 구축되고 있으면, 그 시점에서 LoadBalancer
의 DNS
로부터 엔드 포인트에 액세스 가능하게 될 것입니다.(
phpinfo()
하고 있는 페이지가 표시되어야 합니다.)4. GitHub 개인 액세스 토큰을 Secrets Manager에 등록합니다.
access-token
는 미리 작성한 개인 액세스 토큰을 지정합니다.$ make deploy-secrets-github profile=$(profile) access-token=$(access-token)
5. CodeDeploy 애플리케이션 및 배포 그룹 만들기
CodeDeploy
응용 프로그램 및 배포 그룹을 만듭니다.$ make deploy-code-deploy profile=$(profile)
6. CodePipeline 만들기
CodePipeline
를 작성합니다.$ make deploy-code-pipeline profile=$(profile)
Blue/Green 배포
포크 한 리포지토리에 코드를 푸시하면 아래와 같이
CodePipeline
가 움직입니다.Deploy
스테이지의 詳細
링크를 클릭하면 Blue/Greenデプロイ
의 상세를 아래와 같이 확인할 수 있습니다.결론
ECS
환경을 구축할 수 있었습니까?포크한 리포지토리를 여러가지 커스터마이즈 하거나, 나름대로의 템플릿을 만들어 보세요.
뭔가 막힌 곳이 있거나, 의견 등 있으면, 이 기사에 코멘트 주시는지,
imunew/ecs-blue-green-demo
에 issue
인가 pull-request
주세요.그럼.
Reference
이 문제에 관하여(CloudFormation에서 시작하는 최초의 ECS(with Blue/Green Deployment)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imunew/items/1cf95d2ff09789cb97db텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)