リファレンスデプロイ

AWS の Git Webhooks

Git リポジトリを AWS にリンクするための HTTPS エンドポイントとコード

このソリューションでは、Git サービスと Amazon Web Services (AWS) をリンクするように Webhook を設定する際に使用できる HTTPS エンドポイントをデプロイします。Webhook を配置すれば、コミットをプッシュするたびにリポジトリが自動的に取得および圧縮され、Amazon Simple Storage System (Amazon S3) バケットにアップロードされます。次に、AWS CodePipeline、AWS CodeBuild、AWS CodeDeploy などを設定して、S3 バケットをソースとして使用できます。

このソリューションは AWS によって開発されました。

 


AWS Service Catalog の管理者は、このアーキテクチャをご自分のカタログに追加できます。 

  •  構築するもの
  • このソリューションは、次のコンポーネントを含むサーバーレス AWS クラウド環境をセットアップします。

    • Git Webhook リクエストを受信して AWS Lambda に転送するための Amazon API Gateway エンドポイント。
    • API Gateway からの Git Webhook リクエストを処理し、AWS CodeBuild プロジェクトを呼び出す AWS Lambda 関数。
    • Git サービスに接続し、Git リポジトリの最新バージョンを取得して圧縮し、Amazon S3 にアップロードする AWS CodeBuild プロジェクト。
    • SSH を使用して Git リポジトリに接続するために CodeBuild が使用する SSH (Secure Shell) キーを暗号化/復号化するための AWS Key Management Service (AWS KMS) キー。SSH キーペアは、スタックがデプロイされるときに、Lambda がサポートする AWS CloudFormation カスタムリソースによって生成されます。
    • 2 つの Amazon S3 バケット: 1 つは Git リポジトリコンテンツ用、もう 1 つは暗号化された SSH キー用です。Lambda がサポートする AWS CloudFormation カスタムリソースは、スタックを削除すると S3 バケットのコンテンツを削除します。バックアップが必要な場合は、スタックを削除する前に S3 バケットをコピーしてください。
  •  デプロイ方法
  • デプロイガイドの指示に従って、AWS で Git 環境を構築します。デプロイプロセスには、以下の手順が含まれます。

    1. AWS アカウントをまだお持ちでない場合は、https://aws.amazon.com でサインアップしてください。
    2. ソリューションを起動します。デプロイにはおよそ 15 分かかります。
    3. Git サービスの指示に従い、Git リポジトリを構成して Webhook を設定します。(インターネット経由で Git リポジトリに接続できるようにする必要があります。)
    4. S3 オブジェクトに接続するように AWS サービスを設定します。
    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 (Amazon S3) バケットへの請求メトリクスを提供します。毎月の使用量に基づいてコストを見積もり、月末のデータを集計します。詳細については、 AWS Cost and Usage Report とはを参照してください。