Amazon Web Services 한국 블로그

AWS 배포 파이프라인 참조 아키텍처 및 참조 구현 공개

오늘 엔터프라이즈급 배포 파이프라인을 위한 새로운 AWS 참조 아키텍처와 구현을 출시합니다. 배포 파이프라인은 애플리케이션 또는 인프라를 AWS 환경에 구축, 테스트 및 배포하는 작업을 자동화합니다. 워크로드를 클라우드에 배포할 때 민첩성을 확보하고 출시 시간을 단축하려면 배포 파이프라인을 갖추는 것이 중요합니다.

컨퍼런스나 소셜 미디어에서 여러분과 이야기를 나누다 보면 저희의 설명서와 튜토리얼이 새로운 서비스나 새로운 개념을 시작하는 데 유용한 자료라는 말을 자주 듣게 됩니다. 그러나 사용량을 확장하려는 경우 혹은 복잡하거나 엔터프라이즈급 사용 사례가 있는 경우에는 심층적으로 분석할 리소스가 부족한 경우가 많습니다.

이것이 바로 저희가 수년에 걸쳐 수백 개의 실제 사용 사례와 보안 참조 아키텍처를 기반으로 보안 참조 아키텍처를 만든 이유입니다. 오늘 저희는 기존 컬렉션에 새로운 참조 아키텍처를 추가하려 합니다.

Amazon과 수백 개의 고객 프로젝트에서 배운 모범 사례와 교훈을 바탕으로 이 배포 파이프라인 참조 아키텍처 및 구현을 만들었습니다. 일반적인 “Hello World” 예제를 훨씬 뛰어넘는 수준을 자랑합니다. 여러 환경, 여러 AWS 계정, 여러 리전, 수동 승인, 자동화된 테스트, 자동화된 코드 분석 등을 사용하여 복잡한 배포 파이프라인을 설계하고 구현하는 방법을 문서화합니다. DevOps와 지속적 전송을 통해 고객에게 소프트웨어를 제공하는 속도를 높이려는 경우, 이 새로운 참조 아키텍처는 AWS 서비스를 결합하여 함께 작동하는 방법을 보여줍니다. 아키텍처의 필수 및 선택적 구성 요소를 문서화합니다.

아키텍처 문서와 다이어그램이 있으면 좋지만 구현된 결과물을 가지고 있는 것이 더 좋습니다. 참조 아키텍처의 각 파이프라인 유형에는 하나 이상의 참조 구현이 있습니다. 참조 구현 중 하나는 AWS Cloud Development Kit(AWS CDK) 애플리케이션을 사용하여 계정에 참조 아키텍처를 배포합니다. 특정 요구 사항에 맞게 참조 아키텍처를 연구하거나 사용자 지정하는 것은 좋은 출발점입니다.

이 참조 아키텍처와 해당 구현은 https://pipelines.devops.aws.dev에서 확인할 수 있습니다.

배포 파이프라인 참조 아키텍처

참조 구현 배포하기
새로운 배포 파이프라인 참조 아키텍처는 Java 컨테이너식 애플리케이션 및 데이터베이스를 배포하기 위한 파이프라인을 구축하는 방법을 보여줍니다. 두 가지 참조 구현이 함께 제공됩니다. Amazon EC2 AMI를 배포하고, 계정 집합을 관리하고, 애플리케이션의 동적 구성을 관리하기 위한 추가 파이프라인 유형을 개발 중입니다.

샘플 애플리케이션은 SpringBoot로 개발되었습니다. Amazon에서 제공한 OpenJDK 배포판인 Corretto를 기반으로 실행됩니다. 애플리케이션은 CDK와 함께 패키징되며 AWS Fargate에 배포됩니다. 하지만 여기서 애플리케이션은 중요하지 않습니다. 자신의 애플리케이션으로 대체할 수 있습니다. 중요한 부분은 인프라 구성 요소와 애플리케이션 배포를 위한 파이프라인입니다. 이 파이프라인 유형의 경우 두 가지 참조 구현을 제공합니다. 하나는 re:Invent 2022에서 발표한 새로운 서비스인 Amazon CodeCatalyst를 사용하여 애플리케이션을 배포하고 다른 하나는 AWS CodePipeline을 사용합니다. 본 블로그 게시물을 위해 배포하기로 선택한 것이 이것입니다.

파이프라인은 AWS CodeBuild를 사용하여 애플리케이션을 구축하기 시작합니다. 단위 테스트를 실행하고 Amazon CodeGuru를 실행하여 코드 품질 및 보안을 검토합니다. 마지막으로 Trivy를 실행하여 애플리케이션 종속성의 알려진 취약성과 같은 추가 보안 문제를 탐지합니다. 빌드가 성공하면 파이프라인은 베타, 감마 및 프로덕션의 세 가지 환경에 애플리케이션을 배포합니다. 애플리케이션을 단일 리전의 베타 환경에 배포합니다. 파이프라인은 베타 환경에서 엔드 투 엔드 테스트를 실행합니다. 감마 환경에 배포를 계속하려면 모든 테스트가 성공해야 합니다. 감마 환경은 두 개의 리전을 사용하여 애플리케이션을 호스팅합니다. 감마 환경에서 배포한 후 프로덕션 환경으로 배포하려면 수동 승인을 받아야 합니다. 마지막으로 파이프라인은 6개 리전의 프로덕션 환경에 애플리케이션을 배포하고 각각 2개 리전으로 구성된 세 가지 배포 단계를 거칩니다.

배포 파이프라인 참조 아키텍처

이 참조 구현을 배포하려면 네 개의 AWS 계정이 필요합니다. 한 계정은 파이프라인 및 도구를 배포하고 나머지 세 개의 계정은 각 환경(베타, 감마 및 프로덕션)을 배포합니다. 상위 레벨에서는 두 가지 배포 단계가 있습니다. 먼저 4개 계정 모두에 대해 CDK를 부트스트랩한 다음 툴체인 계정에서 파이프라인 자체를 생성합니다. 계정을 준비하고, 파이프라인을 생성하고, 첫 번째 배포를 진행하는 데 2~3시간 정도 소요됩니다.

파이프라인이 생성되면 AWS CodeCommit의 소스에서 샘플 애플리케이션을 구축, 테스트 및 배포합니다. 애플리케이션 소스 코드에 변경 사항을 커밋하고 푸시하고 파이프라인 단계를 다시 거치는 것을 확인할 수 있습니다.

제 동료 Irshad Buch가 제 계정에서 파이프라인을 사용해 볼 수 있도록 도와주었습니다. 그는 사용자가 직접 동일한 작업을 수행할 수 있도록 단계별 지침과 함께 상세한 README를 작성했습니다. 이 구현을 자세히 설명하는 참조 아키텍처이 새 웹 페이지에서 사용할 수 있습니다. 애플리케이션 소스 코드, 애플리케이션을 배포하기 위한 AWS CDK 스크립트, 파이프라인 자체를 생성하기 위한 AWS CDK 스크립트는 모두 AWS의 GitHub에서 사용할 수 있습니다. 자유롭게기여하거나 문제를 보고하거나 개선 사항을 제안하세요.

정식 출시
신규 배포 파이프라인 참조 아키텍처와 해당 참조 구현을 지금 무료로 사용할 수 있습니다. 참조 구현을 배포하기로 결정한 경우 계정에서 생성한 리소스에 대해 요금이 청구됩니다. 제공된 AWS CDK 코드세부 지침을 사용하여 AWS 계정에 이 파이프라인을 배포할 수 있습니다.

지금 바로 사용해보세요!

— seb