당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.
사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.
쿠키 기본 설정 사용자 지정
AWS는 다음과 같은 목적으로 쿠키 및 유사한 도구(총칭하여 "쿠키")를 사용합니다.
필수
필수 쿠키는 AWS 사이트 및 서비스를 제공하는 데 필요하며, 비활성화할 수 없습니다. 일반적으로 개인 정보 보호 기본 설정, 로그인 또는 양식 작성 등 사이트 내에서 사용자가 수행한 작업에 상응하는 쿠키가 설정됩니다.
성능
성능 쿠키는 AWS에서 사이트 경험 및 성능을 개선할 수 있도록 고객이 AWS 사이트를 탐색하는 방법에 대한 익명의 통계를 제공합니다. 승인된 제3자가 AWS를 대신하여 분석을 수행할 수 있지만, 해당 데이터를 다른 특정 목적으로 사용할 수는 없습니다.
허용됨
기능
기능 쿠키는 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하며, 관련 콘텐츠를 표시하는 데 도움을 줍니다. 승인된 제3자가 이러한 쿠키를 설정하여 특정 사이트 기능을 제공할 수 있습니다. 이러한 쿠키를 허용하지 않으면 이러한 서비스 중 일부 또는 전체가 제대로 작동하지 않을 수 있습니다.
허용됨
광고
광고 쿠키는 AWS의 광고 파트너가 AWS 사이트를 통해 설정할 수 있으며, 관련 마케팅 콘텐츠를 제공하는 데 도움을 줍니다. 이러한 쿠키를 허용하지 않으면 관련성이 낮은 광고가 표시됩니다.
허용됨
일부 유형의 쿠키를 차단하면 AWS 사이트 경험이 영향을 받을 수 있습니다. 언제든지 이 사이트의 바닥글에서 [쿠키 기본 설정]을 클릭하여 해당하는 쿠키 기본 설정을 변경할 수 있습니다. AWS 사이트에서 AWS 및 승인된 제 3자가 쿠키를 사용하는 방법에 대한 자세한 내용은 AWS 쿠키 공지 사항을 참조하십시오.
쿠키 기본 설정을 저장할 수 없음
쿠키 기본 설정을 저장할 수 없어 지금은 필수 쿠키만 저장합니다.
쿠키 기본 설정을 변경하려면 나중에 AWS Console 바닥글의 링크를 사용하여 다시 시도하세요. 문제가 지속될 경우 지원 센터에 문의하세요.
알림: AWS CodeCommit 신규 고객은 더 이상 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS CodeCommit 수 있습니다. 자세히 알아보기
이 패턴은 블루/그린 배포 전략에 따라 중앙 AWS 계정에서 여러 워크로드 계정 및 리전으로 글로벌 마이크로서비스 애플리케이션을 배포하는 방법을 설명합니다. 이 패턴은 다음을 지원합니다.
소프트웨어는 중앙 계정에서 개발되는 반면, 워크로드와 애플리케이션은 여러 계정과 AWS 리전에 분산되어 있습니다.
단일 AWS Key Management System(AWS KMS) 다중 리전 키는 재해 복구를 위한 암호화 및 복호화에 사용됩니다.
KMS 키는 리전별로 다르며 파이프라인 아티팩트를 위해 세 개의 다른 리전에서 유지 관리하거나 생성해야 합니다. KMS 다중 리전 키는 여러 리전에서 동일한 키 ID를 유지하는 데 도움이 됩니다.
Git 워크플로 브랜칭 모델은 두 개의 브랜치(개발 및 메인)로 구현되며 풀 리퀘스트(PR)를 사용하여 코드를 병합합니다. 이 스택에서 배포되는 AWS Lambda 함수는 개발 브랜치에서 메인 브랜치로 PR을 생성합니다. 메인 브랜치에 대한 PR 병합은 지속적 통합 및 지속적 전달(CI/CD) 흐름을 오케스트레이션하고 계정 전체에 스택을 배포하는 AWS CodePipeline 파이프라인을 시작합니다.
이 패턴은 이러한 사용 사례를 보여주기 위해 AWS CloudFormation 스택을 통해 코드형 인프라(IaC) 설정 샘플을 제공합니다. 마이크로서비스의 블루/그린 배포는 AWS CodeDeploy를 사용하여 구현됩니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정 4개:
코드 파이프라인을 관리하고 AWS CodeCommit 리포지토리를 유지 관리하기 위한 도구 계정.
마이크로서비스 워크로드를 배포하기 위한 세 가지 워크로드(테스트) 계정.
이 패턴은 다음 리전을 사용합니다. 다른 리전을 사용하려면 AWS CodeDeploy 및 AWS KMS 다중 리전 스택을 적절하게 수정해야 합니다.
도구(AWS CodeCommit) 계정: ap-south-1
워크로드(테스트) 계정 1: ap-south-1
워크로드(테스트) 계정 2: eu-central-1
워크로드(테스트) 계정 3: us-east-1
각 워크로드 계정의 배포 리전을 위한 Amazon Simple Storage Service(S3) 버킷 3개. (나중에 이 패턴에서 S3BUCKETNAMETESTACCOUNT1, S3BUCKETNAMETESTACCOUNT2 , S3BUCKETNAMETESTACCOUNT3 으로 불립니다.)
예를 들어 다음과 같이 고유한 버킷 이름을 사용하여 특정 계정 및 리전에 이러한 버킷을 생성할 수 있습니다(xxxx를 임의의 숫자로 대체).
##In Test Account 1aws s3 mb s3://ecs-codepipeline-xxxx-ap-south-1 --region ap-south-1##In Test Account 2aws s3 mb s3://ecs-codepipeline-xxxx-eu-central-1 --region eu-central-1##In Test Account 3aws s3 mb s3://ecs-codepipeline-xxxx-us-east-1 --region us-east-1#Example##In Test Account 1aws s3 mb s3://ecs-codepipeline-18903-ap-south-1 --region ap-south-1##In Test Account 2aws s3 mb s3://ecs-codepipeline-18903-eu-central-1 --region eu-central-1##In Test Account 3aws s3 mb s3://ecs-codepipeline-18903-us-east-1 --region us-east-1
제한 사항
이 패턴은 AWS CodeBuild 및 기타 구성 파일을 사용하여 샘플 마이크로서비스를 배포합니다. 여러 워크로드 유형(예: 서버리스)이 있는 경우 모든 관련 구성을 업데이트해야 합니다.
아키텍처
대상 기술 스택
AWS CloudFormation
CodeCommit
AWS CodeBuild
AWS CodeDeploy
AWS CodePipeline
대상 아키텍처
자동화 및 규모 조정
이 설정은 AWS CloudFormation 스택 템플릿(IaC)을 사용하여 자동화됩니다. 여러 환경 및 계정에 맞게 쉽게 확장할 수 있습니다.
도구
서비스
AWS CloudFormation을 사용하면 AWS 리소스를 설정하고, 빠르고 일관되게 프로비저닝하고, 전체 AWS 계정 및 리전에서 수명 주기 전반에 걸쳐 관리할 수 있습니다.
AWS CodeBuild는 소스 코드를 컴파일하고 유닛 테스트를 실행하며 배포할 준비가 완료된 아티팩트를 생성하는 완전 관리형 빌드 서비스입니다.
AWS CodeCommit은 나만의 소스 제어 시스템을 관리할 필요 없이 Git 리포지토리를 비공개로 저장하고 관리할 수 있는 버전 제어 서비스입니다.
AWS CodeDeploy는 Amazon Elastic Compute Cloud(Amazon EC2) 또는 온프레미스 인스턴스, AWS Lambda 함수 또는 Amazon Elastic Container Service(Amazon ECS) 서비스에 대한 배포를 자동화합니다.
AWS CodePipeline은 소프트웨어 릴리스의 여러 단계를 신속하게 모델링하고 구성하고 소프트웨어 변경 내용을 지속적으로 릴리스하는 데 필요한 단계를 자동화합니다.
CodeBuild 프로젝트에 전달할 CMKARN 변수를 설정합니다. 이 값은 ecs-codepipeline-pre-reqs-KMS 템플릿 스택의 출력에서 사용할 수 있습니다(키 ID는 모든 리전에서 동일하고 mrk-로 시작됨). 또는 도구 계정에서 CMKARN 값을 가져올 수 있습니다. 모든 계정 세션에서 내보내기:
CodeBuild 프로젝트에 전달할 CMKARN 변수를 설정합니다. 이 값은 ecs-codepipeline-pre-reqs-KMS 템플릿 스택의 출력에서 사용할 수 있습니다(키 ID는 모든 리전에서 동일하고 mrk-로 시작됨). 또는 도구 계정에서 CMKARN 값을 가져올 수 있습니다. 모든 계정 세션에서 내보내기: