참조 배포

Git Webhooks on AWS

Git 리포지토리를 AWS에 연결하기 위한 HTTPS 엔드포인트 및 코드

이 솔루션은 Git와 Amazon Web Services(AWS)를 연결하는 Webhook를 구성할 때 사용할 수 있는 HTTPS 엔드포인트를 배포합니다. Webhook를 구성하면 커밋이 푸시될 때마다 리포지토리가 자동으로 검색되고 압축된 후 Amazon Simple Storage System(Amazon S3) 버킷에 업로드됩니다. 리포지토리가 업로드된 후에는 S3 버킷을 소스로 사용하도록 AWS CodePipeline, AWS CodeBuild 및 AWS CodeDeploy를 구성할 수 있습니다.

이 솔루션은 AWS에서 개발되었습니다.

 


AWS Service Catalog 관리자는 이 아키텍처를 자체 카탈로그에 추가할 수 있습니다.  

  •  구축할 내용
  • 이 솔루션은 다음 구성 요소가 포함된 서버리스 AWS 클라우드 환경을 설정합니다.

    • Git Webhook 요청을 수신하고 AWS Lambda로 전달하는 Amazon API Gateway 엔드포인트.
    • API Gateway의 Webhook 요청을 처리하고 AWS CodeBuild 프로젝트를 호출하는 AWS Lambda 함수.
    • Git 서비스에 연결한 다음 최신 버전의 Git 리포지토리를 검색 및 압축한 후 Amazon S3에 업로드하는 AWS CodeBuild.
    • CodeBuild에서 SSH를 사용하여 Git 리포지토리에 연결할 때 사용된 SSH(Secure Shell) 키를 암호화/복호화하는 AWS Key Management Service(AWS KMS) 키. SSH 키 페어는 스택을 배포할 때 Lambda 기반 AWS CloudFormation 사용자 지정 리소스를 통해 생성됩니다.
    • Amazon S3 버킷 2개: Git 리포지토리 콘텐츠용 1개와 암호화된 SSH 키용 1개. 사용자가 스택을 삭제하면 Lambda 기반 AWS CloudFormation 사용자 지정 리소스에 의해 S3 버킷의 콘텐츠가 삭제됩니다. 백업이 필요한 경우 스택 삭제 전에 S3 버킷을 복사하세요.
  •  배포 방법
  • AWS를 기반으로 Git 환경을 구축하려면, 배포 안내서의 지침을 따르십시오. 배포 프로세스에는 다음 단계가 포함됩니다.

    1. 아직 AWS 계정이 없으면 https://aws.amazon.com에서 가입합니다.
    2. 솔루션을 시작합니다. 배포에는 약 15분이 걸립니다.
    3. Git 서비스의 지침을 따라 Git 리포지토리를 구성하여 Webhook을 설정합니다. 인터넷을 통해 Git 리포지토리에 연결할 수 있어야 합니다.
    4. AWS 서비스를 구성하여 S3 객체에 연결합니다.
    5. 커밋을 테스트합니다.

    Amazon은 이 솔루션에서 AWS와 협업하는 AWS 파트너와 사용자 배포 정보를 공유할 수 있습니다.  

  •  비용 및 라이선스
  • 이 솔루션은 AWS Key Management Service(AWS KMS) 키를 배포하며 키 저장 및 사용에 대한 월 요금이 부과됩니다. (AWS Key Management Service 요금을 참조하세요.)

    API Gateway, Amazon S3, Lambda 및 AWS CodeBuild 요금은 연결된 Git 리포지토리로의 코드 실행 커밋 빈도에 따라 다를 수 있습니다. Amazon API Gateway 요금, Amazon S3 요금, AWS Lambda 요금AWS CodeBuild 요금을 참조하세요.

    이 솔루션을 실행하는 동안 사용되는 AWS 서비스 및 유료 타사 라이선스 비용은 고객이 부담해야 합니다. 솔루션 사용에 따른 추가 비용은 없습니다.

    이 솔루션에는 사용자 지정할 수 있는 구성 파라미터가 포함되어 있습니다. 인스턴스 유형과 같은 이러한 일부 설정에 따라 배포 비용이 달라집니다. 예상 비용은 사용하는 각 AWS 서비스의 요금 페이지를 참조하세요. 요금은 변경될 수 있습니다.

    팁: 솔루션 배포 후 관련 비용을 추적할 수 있도록 AWS Cost and Usage Report를 생성하세요. 이 보고서는 계정의 Amazon Simple Storage Service(S3) 버킷에 대한 과금 지표를 제공합니다. 이 보고서는 매월 사용량을 기반으로 한 추정 요금을 제공하고 월말에 데이터를 집계합니다. 자세한 내용은 AWS Cost and Usage Reports란 무엇인가요?를 참조하세요.