製品 GitHub、 GitHub エンタープライズ、または Bitbucket のテンプレートファイルとの同期 - AWS Service Catalog

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

製品 GitHub、 GitHub エンタープライズ、または Bitbucket のテンプレートファイルとの同期

AWS Service Catalog 外部リポジトリプロバイダを通じて管理されているテンプレートファイルに製品を同期できます。 AWS Service Catalog このタイプのテンプレート接続を使用する製品を Git 同期製品と呼びます。リポジトリオプションには GitHub、[ GitHub エンタープライズ] または [Bitbucket] があります。 AWS アカウント 外部リポジトリアカウントで認証すると、 AWS Service Catalog 新しい製品を作成したり、既存の製品を更新してリポジトリ内のテンプレートファイルと同期したりできます。テンプレートファイルに変更が加えられ、リポジトリにコミットされると (git-push を使用するなど)、 AWS Service Catalog 自動的に変更が検出され、新しい製品バージョン (アーティファクト) が作成されます。

製品を外部のテンプレートファイルと同期させるために必要な権限

次の AWS Identity and Access Management (IAM) ポリシーをテンプレートとして使用すると、 AWS Service Catalog 管理者は外部リポジトリのテンプレートファイルに製品を同期できます。このポリシーには、 CodeConnections との両方から必要な権限が含まれています。 AWS Service Catalog AWS Service Catalog 以下のテンプレートポリシーをコピーし、 AWS Service Catalog AWSServiceCatalogAdminFullAccessリポジトリ同期製品を有効にするときには管理ポリシーを使用することをおすすめします

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeStarAccess", "Effect": "Allow", "Action": [ "codestar-connections:UseConnection", "codestar-connections:PassConnection", "codestar-connections:CreateConnection", "codestar-connections:DeleteConnection", "codestar-connections:GetConnection", "codestar-connections:ListConnections", "codestar-connections:ListInstallationTargets", "codestar-connections:GetInstallationUrl", "codestar-connections:StartOAuthHandshake", "codestar-connections:UpdateConnectionInstallation", "codestar-connections:GetIndividualAccessToken" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*" }, { "Sid": "CreateSLR", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/sync.servicecatalog.amazonaws.com/AWSServiceRoleForServiceCatalogArtifactSync", "Condition": { "StringLike": { "iam:AWSServiceName": "sync.servicecatalog.amazonaws.com" } } } ] }

アカウント接続を作成する

AWS Service Catalog テンプレートファイルを製品と同期する前に、1 回限りの接続を作成して承認する必要があります。 account-to-account この接続を使用して、目的のテンプレートファイルを含むリポジトリの詳細を指定します。 AWS Service Catalog コンソール、 CodeConnections コンソール、 AWS Command Line Interface (CLI)、または CodeConnections API を使用して接続を作成できます。

接続を確立したら、 AWS Service Catalog コンソール、 AWS Service Catalog API、または CLI AWS Service Catalog を使用して同期された製品を作成できます。 AWS Service Catalog 管理者は、リポジトリとブランチにあるテンプレートファイルに基づいて、 AWS Service Catalog 新しい製品を作成したり、既存の製品を更新したりできます。リポジトリに変更がコミットされると、 AWS Service Catalog その変更が自動的に検出され、新しい製品バージョンが作成されます。以前の製品バージョンは規定のバージョン制限まで維持され、非推奨ステータスが割り当てられます。

さらに、 AWS Service Catalog 接続が作成されると、サービスにリンクされたロール (SLR) が自動的に作成されます。この SLR により、 AWS Service Catalog はリポジトリにコミットされたテンプレートファイルの変更をすべて検出できます。SLR では、 AWS Service Catalog 同期した製品の新しい製品バージョンを自動的に作成することもできます。SLR の権限と機能について詳しくは、 AWS Service Catalogの「サービスにリンクされたロール」を参照してください。

Git と同期された製品を作成するには
  1. ナビゲーションパネルで、[製品のリスト] を選択し、[製品の作成] を選択します。

  2. 製品の詳細を入力します。

  3. [バージョンの詳細] で [ AWS CodeStar プロバイダーを使用してコードリポジトリを指定] を選択し、[ AWS CodeStar 新しい接続を作成] リンクを選択します

  4. 接続を作成したら、接続リストを更新し、新しい接続を選択します。リポジトリ分岐テンプレートファイルパス などのリポジトリの詳細を指定します。

    Terraform 設定ファイルの使用方法の詳細については、「Terraform 製品を GitHub、 GitHub エンタープライズ、または Bitbucket のテンプレートファイルと同期する 」を参照してください。

    1. ( AWS Service Catalog 新しい製品リソースを作成する場合はオプション) Support 詳細セクションで、製品のメタデータを追加します。

    2. ( AWS Service Catalog 新しい製品リソースを作成する場合はオプション)「タグ」セクションで「Add new tag」を選択し、「Key と「Value」のペアを入力します。

  5. [新しい商品を作成] を選択します。

Git 同期製品を複数作成するには
  1. AWS Service Catalog コンソールの左側のナビゲーションパネルで、「製品リスト」を選択し、「複数の Git 管理製品の作成」を選択します。

  2. 共通製品の詳細」を入力します。

  3. 「外部リポジトリの詳細」で、AWS CodeStar 接続を選択し、リポジトリ分岐を指定します。

  4. 「製品の追加」ペインで、「テンプレートファイルパス」と「製品名」を入力します。[新しいアイテムを追加] を選択し、必要に応じて製品の追加を続けます。

  5. 必要な製品をすべて追加したら、[製品の一括作成] を選択します。

AWS Service Catalog 既存の製品を外部リポジトリに接続するには
  1. AWS Service Catalog コンソールの左側のナビゲーションパネルで、[製品リスト] を選択し、[製品を外部リポジトリにConnect] を選択します。

  2. 「製品を選択」ページで、外部リポジトリに接続する製品を選択し、「次へ」を選択します。

  3. 「Specify source details」ページで、 AWS CodeStar 既存の接続を選択し、リポジトリブランチテンプレートファイルパスを指定します

  4. [次へ] を選択します。

  5. [確認して送信] ページで、接続の詳細を確認し、[製品を外部リポジトリに接続する] を選択します。

Git と同期された製品接続の表示

AWS Service Catalog コンソール、API、 AWS CLI またはを使用して、リポジトリ接続の詳細を表示できます。 AWS Service Catalog テンプレートファイルにリンクされている製品では、リポジトリ接続に関する情報と、前回テンプレートが製品と同期された時刻を Last Sync Status から取得できます。

注記

リポジトリ情報と最終同期ステータスは製品レベルで表示できます。リポジトリの詳細を表示するには、ユーザーは CodeConnections API の IAM 権限を持っている必要があります。これらの IAM 権限に必要なポリシーの詳細については、「 AWS Service Catalog 製品をテンプレートファイルに同期するために必要な権限」を参照してください。

接続とリポジトリの詳細を表示するには、 AWS Management Console
  1. 左のナビゲーションパネルで製品リスト を選択します。

  2. リストから製品を選択します。

  3. 製品ページで、[製品ソースの詳細] セクションに移動します。

  4. 製品バージョンのソースリビジョン ID を表示するには、「最終作成バージョン」リンクを選択します。「バージョン詳細」セクションには、ソースリビジョン ID が表示されます。

接続とリポジトリの詳細を表示するには: AWS CLI

から AWS CLI、以下のコマンドを実行します。

$ aws servicecatalog describe-product-as-admin

$ aws servicecatalog describe-provisioning-artifact

$ aws servicecatalog search-product-as-admin

$ aws servicecatalog list-provisioning-artifacts

Git 同期製品接続の更新

AWS Service Catalog コンソール、 AWS Service Catalog API、またはを使用して、既存のアカウント接続と GIT 同期製品を更新できます。 AWS CLI

AWS Service Catalog 既存の製品をテンプレートファイルに接続する方法については、「Git と同期した製品接続の新規作成」を参照してください。

既存の製品を Git 同期商品に更新するには
  1. 左側のナビゲーションパネルで [製品リスト] を選択し、次のいずれかのオプションを選択します。

    • 1 つの製品 を更新するには、製品を選択し、「製品ソースの詳細」セクションに移動して「詳細を編集」を選択します。

    • 複数の製品 を更新するには、[製品を外部リポジトリに接続する] を選択し、最大 10 個の製品を選択してから [次へ] を選択します。

  2. 製品ソースの詳細」セクションで、以下の更新を行います。

    • 接続を指定します。

    • リポジトリを指定します。

    • 分岐を指定します。

    • テンプレートファイルに名前を付けます。

  3. [変更の保存] を選択します。

注記

外部リポジトリにまだ接続されていない製品の場合は、製品を選択した後、製品情報ページ上部のアラートに表示される [外部リポジトリに接続] オプションを使用できます。

AWS Service Catalog コンソールまたは TO を使用することもできます。 AWS CLI

  • AWS Service Catalog 既存の製品を外部リポジトリのテンプレートファイルConnect する

  • 製品名、説明、タグなどの製品メタデータを更新します。

  • 以前接続していた AWS Service Catalog 製品の接続を再設定 (別のリポジトリソースを使用するように同期を更新) します。

AWS Service Catalog コンソールを使用して接続とリポジトリの詳細を更新するには
  1. AWS Service Catalog コンソールの左側のナビゲーションパネルで [製品リスト] を選択し、現在外部リポジトリに接続されている製品を選択します。

  2. 製品ソース詳細」セクションで、「製品ソースを編集」を選択します。

  3. 製品ソース詳細」セクションで、希望する新しいリポジトリを指定します。

  4. [変更の保存] を選択します。

接続とリポジトリの詳細を更新するには、 AWS CLI

から、 AWS CLI $ aws servicecatalog update-product$ aws servicecatalog update-provisioning-artifactおよびコマンドを実行します。

Git 同期製品接続を削除する

AWS Service Catalog コンソール、 CodeConnections API、またはを使用して、 AWS Service Catalog 製品とテンプレートファイル間の接続を削除できます AWS CLI。製品をテンプレートファイルから切り離すと、 AWS Service Catalog 同期された製品は通常管理されている製品に切り替わります。製品を切断した後、以前に接続したリポジトリでテンプレートファイルを変更してコミットしても、変更は反映されません。 AWS Service Catalog 製品を外部リポジトリのテンプレートファイルに再接続するには、「接続と同期された製品の更新」を参照してください。 AWS Service Catalog

コンソールを使用して GIT 同期製品の接続を解除するには AWS Service Catalog
  1. で AWS Management Console、左側のナビゲーションパネルから [製品リスト] を選択します。

  2. リストから製品を選択します。

  3. 製品ページで、[製品ソースの詳細] セクションに移動します。

  4. [切断] を選択します。

  5. アクションを確認し、[切断] を選択します。

以下を使用して GIT 同期製品の接続を解除するには AWS CLI

から AWS CLI、コマンドを実行します。$ aws servicecatalog update-productConnectionParameters 入力で、指定した接続を削除します。

CodeConnections API を使用して接続を削除するには、または AWS CLI

CodeConnections API またはで AWS CLI、$ aws codestar-connections delete-connectionコマンドを実行します。

Terraform 製品を GitHub、 GitHub エンタープライズ、または Bitbucket のテンプレートファイルと同期する

Terraform 設定ファイルを使用して Git 同期製品を作成する場合、ファイルパスは tar.gz 形式のみを受け入れます。Terraform フォルダ形式はファイルパスでは使用できません。