

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

# 製品の管理
<a name="catalogs_products"></a>

製品を作成したり、更新されたテンプレートに基づいて新しいバージョンを作成して製品を更新したり、製品をポートフォリオにグループ化してユーザーに配布したりできます。

新しいバージョンの製品は、ポートフォリオを通じて製品にアクセスできるすべてのユーザーに伝播されます。更新を配信すると、エンドユーザーは既存のプロビジョニングされた製品をアップデートできます。

**Topics**
+ [[製品] ページの表示](#productmgmt-menu)
+ [製品の作成](productmgmt-cloudresource.md)
+ [ポートフォリオへの製品の追加](catalogs_portfolios_adding-products.md)
+ [製品の更新](productmgmt-update.md)
+ [GitHub、GitHub Enterprise、Bitbucket から製品をテンプレートファイルに同期する](git-synced-sc-products.md)
+ [製品の削除](productmgmt-delete.md)
+ [バージョンの管理](managing-versions.md)

## [製品] ページの表示
<a name="productmgmt-menu"></a>

製品は、 AWS Service Catalog 管理者コンソール**の製品リスト**ページから管理します。

****[製品リスト]** ページを表示するには**

1. Service Catalog コンソール ([https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/)) を開きます。

1. **[製品リスト]** を選択します。

# 製品の作成
<a name="productmgmt-cloudresource"></a>

 製品を作成するには、 AWS Service Catalog 管理者コンソールの**「製品**」ページから作成します。

**注記**  
Terraform 製品を作成するには、Terraform プロビジョニングエンジンや起動ロールなどの追加設定が必要です。詳細については、「[Terraform 製品の使用開始](getstarted-Terraform.md) 」を参照してください。

**新しい AWS Service Catalog 製品を作成するには**

1. **[製品リスト]** ページに移動します。

1. **[製品の作成] **を選択し、**[製品の作成]** を選択します。

1. **製品の詳細** – 作成する製品のタイプを選択できます。 AWS Service Catalog supports CloudFormation、Terraform Cloud、および External (Terraform Community Edition をサポート) 製品タイプ。製品詳細には、リストまたは詳細ページで製品を検索して表示したときに表示されるメタデータも含まれています。次のように入力します。
   + **[製品名]** – 製品の名前。
   +  **[商品説明]** — 説明は商品リストに表示され、正しい商品を選択するのに役立ちます。
   + **[所有者]** — この製品を公開する個人または組織。所有者は IT 組織または管理者の名前である可能性があります。
   + **[ディストリビュータ]** (オプション) – アプリケーションのパブリッシャーの名前。このフィールドを使用すると、製品リストを並べ替えて、製品を見つけやすくすることができます。

1. **[バージョン詳細]** により、テンプレートファイルを追加して製品を構築できます。次のように入力します。
   +  **[方法の選択]** — テンプレートファイルを追加するには 4 つの方法があります。
     + **ローカルテンプレートファイルを使用する** - ローカルドライブから CloudFormation テンプレートまたは Terraform tar.gz 設定ファイルをアップロードします。
     + **[Amazon S3 URL を使用]** - Amazon S3 に保存されている CloudFormation テンプレートまたは Terraform tar.gz 設定ファイルを指す URL を指定します。Amazon S3 の URL を指定する場合、`https://` で始まる必要があります。
     + **外部リポジトリを使用する **- GitHub、GitHub Enterprise、または Bitbucket コードリポジトリを指定します。 AWS Service Catalog を使用すると、製品をテンプレートファイルに同期できます。Terraform 製品の場合、テンプレートファイル形式は Tar にアーカイブされ、Gzip で圧縮された単一のファイルである必要があります。
     + **既存の CloudFormation スタックを使用** - 既存の CloudFormation スタックの ARN を入力します。このメソッドは Terraform Cloud 製品および External 製品をサポートしていません。
   +  **[バージョン名]** (オプション) – 製品バージョンの名前 (例: 「v1」、「v2beta」)。スペースは使用できません。
   +  **[説明]** (オプション) - このバージョンと他のバージョンとの違いを含む、製品バージョンの説明。
   +  **[ガイダンス]** — **[製品詳細]** ページの「バージョン」タブで管理されます。製品作成ワークフロー中に製品バージョンが作成されると、そのバージョンのガイダンスがデフォルトに設定されます。ガイダンスの詳細については、「[バージョン管理](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/managing-versions.html)」を参照してください。

1. **[サポートの詳細]**は、貴社の組織を特定し、サポートの窓口となります。次のように入力します。
   + **[メール連絡先]**​ (オプション) - 製品の問題を報告するためのメールアドレス。
   + **[サポートリンク]** (オプション) - ユーザーがサポート情報またはファイルチケットを見つけることができるサイトの URL。URL は `http://`、または `https://` で始まる必要があります。管理者は、サポート情報の正確性とアクセスを維持する責任があります。
   + **[サポートの説明]** (オプション) - ユーザーが **[メール連絡先]** および **[サポート]** リンクを使用する方法の説明。

1.  **[タグの管理]** (オプション) — タグを使用してリソースを分類するだけでなく、このリソースを作成する権限を認証するためにも使用できます。

1. **[製品の作成]** — フォームの入力が完了したら、**[製品の作成]** を選択します。数秒後、製品が **[製品のリスト]** ページに表示されます。製品を表示するには、ブラウザの更新が必要になる場合があります。

CodePipeline を使用してパイプラインを作成して設定し、製品テンプレートを にデプロイ AWS Service Catalog し、ソースリポジトリで行った変更を配信することもできます。詳細については、[「チュートリアル: デプロイ先のパイプラインを作成する AWS Service Catalog](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-S3-servicecatalog.html)」を参照してください。

 CloudFormation または Terraform テンプレートでパラメータプロパティを定義し、プロビジョニング中にこれらのルールを適用できます。これらのプロパティは、最小値と最大値、最小値と最大値、許可された値、および値の正規表現を定義できます。 は、指定された値がパラメータプロパティに準拠していない場合、プロビジョニング中に警告 AWS Service Catalog を発行します。パラメータプロパティの詳細については、CloudFormation ユーザーガイドの「[パラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)」を参照してください。

## トラブルシューティング
<a name="productmgmt-cloudresource-troubleshooting"></a>

 Amazon S3 バケットからオブジェクトを取得するためのアクセス許可が必要です。そうしないと、製品の起動または更新中に次のエラーが発生する場合があります。

```
Error: failed to process product version s3 access denied exception
```

 このメッセージが表示された場合は、以下のバケットからオブジェクトを取得する権限があることを確認してください。
+  プロビジョニングアーティファクトテンプレートが保存されているバケット。
+  ***「cf-templates-\$1***」で始まり、 がプロビジョニングアーティファクトテンプレート AWS Service Catalog を保存するバケット。
+  ***「sc-\$1***」で始まり、 がメタデータ AWS Service Catalog を保存する内部バケット。アカウントからこのバケットを表示することはできません。

 次のポリシー例は、前述のバケットからオブジェクトを取得するために必要な最小限のアクセス許可を示しています。

```
{
          "Sid": "VisualEditor1",
          "Effect": "Allow",
          "Action": "s3:GetObject*",
          "Resource": [
              "arn:aws:s3:::YOUR_TEMPLATE_BUCKET",
              "arn:aws:s3:::YOUR_TEMPLATE_BUCKET/*",
              "arn:aws:s3:::cf-templates-*",
              "arn:aws:s3:::cf-templates-*/*",
              "arn:aws:s3:::sc-*",
              "arn:aws:s3:::sc-*/*"
          ]
      }
```

# ポートフォリオへの製品の追加
<a name="catalogs_portfolios_adding-products"></a>

 任意の数のポートフォリオに製品を追加できます。製品が更新されると、その製品を含むすべてのポートフォリオ (共有ポートフォリオを含む) が自動的に新しいバージョンを受け取ります。

**カタログからポートフォリオに製品を追加するには**

1.  **[製品リスト]** ページに移動します。

1.  製品を選択し、**[アクション]** を選択します。ドロップダウンメニューから **[ポートフォリオに製品を追加]** を選択します。**[ポートフォリオに*製品名*を追加]** ページに移動します。

1.  ポートフォリオを選択し、[**製品をポートフォリオへ追加**] を選択します。

Terraform 製品をポートフォリオに追加する場合、その製品には起動制限が必要です。アカウントから IAM ロールを選択するか、IAM ロール ARN を入力するか、ロール名を入力する必要があります。ロール名を指定すると、アカウントが起動制約を使用する場合、アカウントは IAM ロールのその名前を使用します。これにより、起動ロールの制約がアカウントに依存しないようになり、共有アカウントごとに作成できるリソースの数が確実に減ります。詳細と手順については、「[ステップ 6: Terraform 製品に起動制約を追加する](getstarted-launchconstraint-Terraform.md)」を参照してください。

 ポートフォリオには、 CloudFormation と Terraform 製品タイプを組み合わせた多数の製品を含めることができます。

# 製品の更新
<a name="productmgmt-update"></a>

 製品のテンプレートを更新する必要がある場合は、製品の新しいバージョンを作成します。新しい製品バージョンは、製品を含むポートフォリオにアクセスできるすべてのユーザーに自動的に提供されます。

**注記**  
既存の製品を更新する場合、製品タイプ (CloudFormation または Teraform) を変更することはできません。たとえば、 CloudFormation 製品を更新する場合、既存の CloudFormation テンプレートを Terraform tar.gz 設定ファイルに置き換えることはできません。既存の CloudFormation テンプレートファイルを新しい CloudFormation テンプレートファイルで更新する必要があります。

 以前の製品バージョンのプロビジョニングされた製品を現在実行しているエンドユーザーは、プロビジョニングされた製品を新しいバージョンに更新できます。製品の新しいバージョンが利用できる場合、ユーザーは [**プロビジョニング済み製品リスト**] または[**プロビジョニング済み製品の詳細**] ページで [**プロビジョニング済み製品の更新**] コマンドを使用できます。

製品の新しいバージョンを作成する前に、 では、 CloudFormation または Terraform エンジンで製品の更新をテストして、正しく機能することを確認する AWS Service Catalog ことをお勧めします。

**新しい製品バージョンを作成するには**

1.  **[製品リスト]** ページに移動します。

1.  更新する製品を選択します。製品詳細ページに移動します。

1.  [製品の詳細] ページで、**[バージョン]** タブを展開し、**[新バージョンの作成]** を選択します。

1.  **[バージョンの詳細]** で、以下を実行します。
   + **[テンプレートの選択]** — テンプレートファイルを追加するには 4 つの方法があります。

     *ローカルテンプレートファイルを使用する* - ローカルドライブから CloudFormation テンプレートまたは Terraform tar.gz 設定ファイルをアップロードします。

     *[Amazon S3 URL を使用]* - Amazon S3 に保存されている CloudFormation テンプレートまたは Terraform tar.gz 設定ファイルを指す URL を指定します。Amazon S3 の URL を指定する場合、https:// で始まる必要があります。

     *外部リポジトリを使用する *- GitHub、GitHub Enterprise、または Bitbucket コードリポジトリを指定します。 AWS Service Catalog を使用すると、製品をテンプレートファイルに同期できます。Terraform 製品の場合、テンプレートファイル形式は Tar にアーカイブされ、Gzip で圧縮された単一のファイルである必要があります。

     *既存の CloudFormation スタックを使用* - 既存の CloudFormation スタックの ARN を入力します。このメソッドは Terraform Cloud 製品および External 製品をサポートしていません。
   + **[バージョンタイトル]** – 製品バージョンの名前 (例えば「v1」、「v2beta」など)。スペースは使用できません。
   + **[説明]** (オプション) - このバージョンと前のバージョンとの違いを含む、製品バージョンの説明。

1. **[製品バージョンを作成]** を選択します。

 CodePipeline を使用して、製品テンプレートをデプロイするパイプラインを作成および設定し AWS Service Catalog、変更をソースリポジトリに配信することもできます。詳細については、[「チュートリアル: デプロイ先のパイプラインを作成する AWS Service Catalog](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-S3-servicecatalog.html)」を参照してください。

# GitHub、GitHub Enterprise、Bitbucket から製品をテンプレートファイルに同期する
<a name="git-synced-sc-products"></a>

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

**Topics**
+ [製品を外部のテンプレートファイルと同期させるために必要な権限](#required-perms-synced-repo)
+ [アカウント接続を作成する](#create-synced-product)
+ [Git と同期された製品接続の表示](#view-repo-sync)
+ [Git 同期製品接続の更新](#update-repo-sync)
+ [Git 同期製品接続を削除する](#delete-repo-sync)
+ [GitHub、GitHub Enterprise、Bitbucket のテンプレートファイルへの Terraform 製品との同期](#git-synced-Terraform)
+ [AWS リージョン Git 同期製品のサポート](git-sync-supported-regions.md)

## 製品を外部のテンプレートファイルと同期させるために必要な権限
<a name="required-perms-synced-repo"></a>

次の AWS Identity and Access Management (IAM) ポリシーをテンプレートとして使用して、 AWS Service Catalog 管理者が外部リポジトリのテンプレートファイルに製品を同期できるようにします。このポリシーには、CodeConnections と の両方から必要なアクセス許可が含まれています AWS Service Catalog。 AWS Service Catalog では、以下のテンプレートポリシーをコピーし、リポジトリ同期製品を有効にするときに [マネージドポリシー](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/security-iam-awsmanpol)を使用する AWS Service Catalog `AWSServiceCatalogAdminFullAccess`ことをお勧めします。

------
#### [ JSON ]

****  

```
{
    "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"
                }
            }
        }
    ]
}
```

------

## アカウント接続を作成する
<a name="create-synced-product"></a>

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

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

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

**Git と同期された製品を作成するには**

1. ナビゲーションパネルで、**[製品のリスト]** を選択し、**[製品の作成]** を選択します。

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

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

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

   Terraform 設定ファイルの使用方法の詳細については、「[GitHub、GitHub Enterprise、Bitbucket のテンプレートファイルへの Terraform 製品との同期](#git-synced-Terraform)」を参照してください。

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

   1. (新しい AWS Service Catalog 製品リソースを作成する場合はオプション) **タグ**セクションで、**新しいタグを追加**を選択し、**キー**と**値の**ペアを入力します。

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

**Git 同期製品を複数作成するには**

1.  AWS Service Catalog コンソールの左側のナビゲーションパネルで、**製品リスト**を選択し、**複数の git マネージド製品を作成する**を選択します。

1. **[共通製品の詳細]** を入力します。

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

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

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

**既存の AWS Service Catalog 製品を外部リポジトリに接続するには**

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

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

1. ソースの詳細を指定ページで、既存の AWS CodeStar 接続を選択し、**リポジトリ**、**ブランチ**、**テンプレートファイルパス**を指定します。

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

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

## Git と同期された製品接続の表示
<a name="view-repo-sync"></a>

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

**注記**  
リポジトリ情報と**[最終同期ステータス]** は製品レベルで表示できます。リポジトリの詳細を表示するには、CodeConnections APIs で IAM アクセス許可が必要です。これらの IAM アクセス[許可に必要なポリシーの詳細については、 AWS Service Catalog 「製品とテンプレートファイルを同期するために必要な](#required-perms-synced-repo)アクセス許可」を参照してください。

**を使用して接続とリポジトリの詳細を表示するには AWS マネジメントコンソール**

1. 左のナビゲーションパネルで **[製品リスト]** を選択します。

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

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

1. 製品バージョンのソースリビジョン 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 同期製品接続の更新
<a name="update-repo-sync"></a>

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

既存の AWS Service Catalog 製品をテンプレートファイルに接続する方法については、[「新しい Git 同期製品接続の作成](#create-synced-product)」を参照してください。

**既存の製品を Git 同期商品に更新するには**

1. 左側のナビゲーションパネルで **[製品リスト]** を選択し、次のいずれかのオプションを選択します。
   + **1 つの製品** を更新するには、製品を選択し、**[製品ソースの詳細]** セクションに移動して **[詳細を編集]** を選択します。
   + **[複数の製品]** を更新するには、**[製品を外部リポジトリに接続する]** を選択し、最大 10 個の製品を選択してから **[次へ]** を選択します。

1. **[製品ソースの詳細]** セクションで、以下の更新を行います。
   + 接続を指定します。
   + リポジトリを指定します。
   + 分岐を指定します。
   + テンプレートファイルに名前を付けます。

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

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

 AWS Service Catalog コンソールまたは を使用して、 AWS CLI 
+ 既存の AWS Service Catalog 製品を外部リポジトリのテンプレートファイルに接続する
+ 製品名、説明、タグなどの製品メタデータを更新します。
+ 以前接続していた AWS Service Catalog 製品の接続を再設定 (別のリポジトリソースを使用するように同期を更新) します。

**AWS Service Catalog コンソールを使用して接続とリポジトリの詳細を更新するには**

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

1. **[製品ソース詳細]** セクションで、**[製品ソースを編集]** を選択します。

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

1. **[Save changes]** (変更の保存) をクリックします。

**を使用して接続とリポジトリの詳細を更新するには AWS CLI**

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

## Git 同期製品接続を削除する
<a name="delete-repo-sync"></a>

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

**AWS Service Catalog コンソールを使用して Git 同期製品を切断するには**

1. で AWS マネジメントコンソール、左側のナビゲーションパネルから**製品リスト**を選択します。

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

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

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

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

**を使用して Git 同期製品を切断するには AWS CLI**

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

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

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

## GitHub、GitHub Enterprise、Bitbucket のテンプレートファイルへの Terraform 製品との同期
<a name="git-synced-Terraform"></a>

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

# AWS リージョン Git 同期製品のサポート
<a name="git-sync-supported-regions"></a>

AWS Service Catalog は、以下の表 AWS リージョン に示すように、 で Git 同期 Produtcs をサポートしています。


****  

| AWS リージョン 名前 | AWS リージョン ID | Git 同期製品のサポート | 
| --- | --- | --- | 
| 米国東部 (バージニア北部) | us-east-1 | はい | 
| 米国東部 (オハイオ) | us-east-2 | はい | 
| 米国西部 (北カリフォルニア) | us-west-1 | はい | 
| 米国西部 (オレゴン)  | us-west-2 | はい | 
| アフリカ (ケープタウン) | af-south-1 | いいえ | 
| アジアパシフィック (香港) | ap-east-1 | いいえ | 
| アジアパシフィック (ジャカルタ) | ap-southeast-3 | いいえ | 
| アジアパシフィック (ムンバイ) | ap-south-1 | はい | 
| アジアパシフィック (大阪) | ap-northeast-3 | いいえ | 
| アジアパシフィック (ソウル) | ap-northeast-2 | はい | 
| アジアパシフィック (シンガポール) | ap-southeast-1 | はい | 
| アジアパシフィック (シドニー) | ap-southeast-2 | はい | 
| アジアパシフィック (東京) | ap-northeast-1 | はい | 
| カナダ (中部) | ca-central-1 | はい | 
| 欧州 (フランクフルト) | eu-central-1 | はい | 
| 欧州 (アイルランド) | eu-west-1 | はい | 
| 欧州 (ロンドン) | eu-west-2 | はい | 
| 欧州 (ミラノ) | eu-south-1 | いいえ | 
| 欧州 (パリ) | eu-west-3 | はい | 
| 欧州 (ストックホルム) | eu-north-1 | はい | 
| 中東 (バーレーン) | me-south-1 | いいえ | 
| 南米 (サンパウロ） | sa-east-1 | はい | 
| AWS GovCloud (米国東部) | us-gov-east-1 | いいえ | 
| AWS GovCloud (米国西部) | us-gov-west-1 | いいえ | 

# 製品の削除
<a name="productmgmt-delete"></a>

製品を削除すると、 は製品を含むすべてのポートフォリオからすべての製品バージョン AWS Service Catalog を削除します。

AWS Service Catalog では、 AWS Service Catalog コンソールまたは を使用して製品を削除できます AWS CLI。製品を正常に削除するには、まず製品に関連付けられているすべてのリソースの関連付けを解除する必要があります。製品リソースの関連付けの例には、ポートフォリオの関連付け、予算、TagOptions、およびサービスアクションが含まれます。

**重要**  
 製品が削除された後は、その製品を復元することはできません。

**AWS Service Catalog コンソールを使用して製品を削除するには**

1.  **ポートフォリオ** ページに移動し、削除する製品を含むポートフォリオを選択します。

1.  削除する製品を選択してから、製品ペインの右上にある [**削除**] を選択します。

1. 関連リソースのない製品の場合は、テキストボックスに「**削除**」と入力して削除する製品を確認し、[**削除**] を選択します。

   関連リソースのある製品の場合は、ステップ 4 に進みます。

1. **製品の削除**ウィンドウで、**関連付け**テーブルを確認します。このテーブルには、製品に関連付けられているすべての resources. AWS Service Catalog attempts が表示され、製品の削除時にこれらのリソースの関連付けが解除されます。

1. テキストボックスに「**削除**」と入力して、製品を削除して関連するリソースをすべて削除することを確認します。

1. [**関連付けを解除して削除**] を選択します。

 AWS Service Catalog が製品のすべてのリソースの関連付けを解除できない場合、製品は削除されません。「**製品を削除**」ウィンドウには、関連付け解除に失敗した回数と失敗ごとの説明が表示されます。製品削除時に失敗したリソースの関連付け解除の解決について詳しくは、以下の「製品削除時に失敗したリソースの関連付け解除の解決」を参照してください。

**Topics**
+ [を使用した製品の削除 AWS CLI](product-delete-cli.md)
+ [製品削除時に失敗したリソースの関連付け解除の解決](product-delete-exception.md)

# を使用した製品の削除 AWS CLI
<a name="product-delete-cli"></a>

AWS Service Catalog では、 [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) (AWS CLI) を使用してポートフォリオから製品を削除できます。 AWS CLI は、コマンドラインシェルのコマンドを使用して AWS サービスとやり取りできるオープンソースツールです。 AWS Service Catalog 強制削除関数にはエイリアスが必要です。エイ[AWS CLI リアス](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html)は、頻繁に使用するコマンドやスクリプトを短縮 AWS CLI するために で作成できるショートカットです。

## 前提条件
<a name="product-delete-cli-requirements"></a>
+  AWS CLIをインストールして設定します。詳細については、「[AWS CLIの最新バージョンのインストールまたは更新](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」および「[設定の基本](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)」を参照してください。1.11.24 または 2.0.0 の最小 AWS CLI バージョンを使用します。
+ 製品の CLI エイリアスを削除するには、Bash 互換のターミナルと JQ コマンドライン JSON プロセッサが必要です。コマンドライン JSON プロセッサのインストールの詳細については、[jq のダウンロード](https://stedolan.github.io/jq/download/) を参照してください。
+ エイリアスを作成して `Disassociation` API AWS CLI コールをバッチ処理し、1 つのコマンドで製品を削除できます。

製品を正常に削除するには、まず製品に関連付けられているすべてのリソースの関連付けを解除する必要があります。製品リソースの関連付けの例としては、ポートフォリオの関連付け、予算、タグオプション、サービスアクションなどがあります。CLI を使用して製品を削除する場合、CLI `force-delete-product` エイリアスを使用して `Disassociate` APIを呼び出し、`DeleteProduct` APIを妨げるリソースの関連付けを解除できます。これにより、個別の関連付け解除を個別に呼び出す必要がなくなります。

**注記**  
以下の手順で示すファイルパスは、これらの操作を実行するために使用するオペレーティングシステムによって異なる場合があります。

## AWS Service Catalog 製品を削除するための AWS CLI エイリアスの作成
<a name="product-delete-cli-alias"></a>

を使用して AWS Service Catalog 製品 AWS CLI を削除する場合、CLI `force-delete-product` エイリアスを使用すると、 `Disassociate` API を呼び出して、`DeleteProduct`呼び出しを妨げるリソースの関連付けを解除できます。

**AWS CLI 設定フォルダに `alias` ファイルを作成する**

1.  AWS CLI コンソールで、configuraiton フォルダに移動します。デフォルトでは、設定フォルダは Linux または macOS では「`~/.aws/`」、Windows 上は「`%USERPROFILE%\.aws\`」にあります。

1. ファイルナビゲーションを使用するか、任意のターミナルで以下のコマンドを入力して、`cli` という名前のサブフォルダを作成します。

   ```
                $ mkdir -p ~/.aws/cli
   ```

   作成されるフォルダ「`cli`」のデフォルトパスは、Linux または macOS では「`~/.aws/cli/`」、Windows では「`%USERPROFILE%\.aws\cli`」上にあります。

1. 新しい `cli` フォルダで、ファイル拡張子なしの `alias` という名前のテキストファイルを作成します。ファイルナビゲーションを使用するか、任意のターミナルで以下のコマンドを入力して `alias` ファイルを作成できます。

   ```
                 $ touch ~/.aws/cli/alias
   ```

1. 1 行目に「`[toplevel]`」と 入力します。

1. ファイルを保存します。

次に、エイリアススクリプトを手動で `alias` ファイルに貼り付けるか、ターミナルウィンドウのコマンドを使用して、force-delete-product (製品強制削除) エイリアスをこのファイルに追加できます。

**force-delete-product (製品強制削除) エイリアスを `alias` ファイルに手動で追加します。**

1.  AWS CLI コンソールで、 AWS CLI 設定フォルダに移動し、 `alias` ファイルを開きます。

1. ファイルの `[toplevel]` 行の下に次のコードエイリアスを入力します。

   ```
                [command servicecatalog]
             	 force-delete-product =
             	   !f() {
             	     if [ "$#" -ne 1 ]; then
             	         echo "Illegal number of parameters"
             	         exit 1
             	     fi
             	 
             	     if [[ "$1" != prod-* ]]; then
             	        echo "Please provide a valid product id."
             	        exit 1
             	     fi
             	 
             	     productId=$1
             	     describeProductAsAdminResponse=$(aws servicecatalog describe-product-as-admin --id $productId)
             	     listPortfoliosForProductResponse=$(aws servicecatalog list-portfolios-for-product --product-id $productId)
             	 
             	     tagOptions=$(echo "$describeProductAsAdminResponse" | jq -r '.TagOptions[].Id')
             	     budgetName=$(echo "$describeProductAsAdminResponse" | jq -r '.Budgets[].BudgetName')
             	     portfolios=$(echo "$listPortfoliosForProductResponse" | jq -r '.PortfolioDetails[].Id')
             	     provisioningArtifacts=$(echo "$describeProductAsAdminResponse" | jq -r '.ProvisioningArtifactSummaries[].Id')
             	     provisioningArtifactServiceActionAssociations=()
             	 
             	     for provisioningArtifactId in $provisioningArtifacts; do
             	       listServiceActionsForProvisioningArtifactResponse=$(aws servicecatalog list-service-actions-for-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId)
             	       serviceActions=$(echo "$listServiceActionsForProvisioningArtifactResponse" | jq -r '[.ServiceActionSummaries[].Id] | join(",")')
             	       if [[ -n "$serviceActions" ]]; then
             	         provisioningArtifactServiceActionAssociations+=("${provisioningArtifactId}:${serviceActions}")
             	       fi
             	     done
             	 
             	     echo "Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated."
             	 
             	     echo "Portfolios:"
             	     for portfolioId in $portfolios; do
             	       echo "\t${portfolioId}"
             	     done
             	 
             	     echo "Budgets:"
             	     if [[ -n "$budgetName" ]]; then
             	       echo "\t${budgetName}"
             	     fi
             	 
             	     echo "Tag Options:"
             	     for tagOptionId in $tagOptions; do
             	       echo "\t${tagOptionId}"
             	     done
             	 
             	     echo "Service Actions on Provisioning Artifact:"
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       echo "\t${association}"
             	     done
             	 
             	     read -p "Are you sure you want to delete ${productId}? y,n "
             	     if [[ ! $REPLY =~ ^[Yy]$ ]]; then
             	        exit
             	     fi
             	 
             	     for portfolioId in $portfolios; do
             	       echo "Disassociating ${portfolioId}"
             	       aws servicecatalog disassociate-product-from-portfolio --product-id $productId --portfolio-id $portfolioId
             	     done
             	 
             	     if [[ -n "$budgetName" ]]; then
             	       echo "Disassociating ${budgetName}"
             	       aws servicecatalog disassociate-budget-from-resource --budget-name "$budgetName" --resource-id $productId
             	     fi
             	 
             	     for tagOptionId in $tagOptions; do
             	       echo "Disassociating ${tagOptionId}"
             	       aws servicecatalog disassociate-tag-option-from-resource --tag-option-id $tagOptionId --resource-id $productId
             	     done
             	 
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       associationPair=(${association//:/ })
             	       provisioningArtifactId=${associationPair[0]}
             	       serviceActionsList=${associationPair[1]}
             	       serviceActionIds=${serviceActionsList//,/ }
             	       for serviceActionId in $serviceActionIds; do
             	         echo "Disassociating ${serviceActionId} from ${provisioningArtifactId}"
             	         aws servicecatalog disassociate-service-action-from-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId --service-action-id $serviceActionId
             	       done
             	     done
             	 
             	     echo "Deleting product ${productId}"
             	     aws servicecatalog delete-product --id $productId
             	 
             	   }; f
   ```

1. ファイルを保存します。

**ターミナルウィンドウを使用して、force-delete-product (製品強制削除) エイリアスを `alias` ファイルに追加します。**

1. ターミナルウィンドウを開いて、次のコマンドを実行します。

   `$ cat >> ~/.aws/cli/alias`

1. エイリアススクリプトをターミナルウィンドウに貼り付け、CTRL\$1D キーを押して `cat` コマンドを終了します。

**force-delete-product (製品強制削除) エイリアスを呼び出します。**

1. ターミナルウィンドウで次のコマンドを実行し、削除製品エイリアスを呼び出します

   `$ aws servicecatalog force-delete-product {product-id} `

   次の例は、`force-delete-product` エイリアスコマンドとその結果の応答を示しています。

   ```
                 $ aws servicecatalog force-delete-product prod-123
   ```

   ```
                 Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated.
                 Portfolios:
                   port-123
                 Budgets:
                     budgetName
                 Tag Options:
                     tag-123
                 Service Actions on Provisioning Artifact:
                     pa-123:act-123
                 Are you sure you want to delete prod-123? y,n
   ```

1. `y` を入力し、製品を削除することを確認します。

製品を正常に削除すると、ターミナルウィンドウに次の結果が表示されます。

```
          Disassociating port-123
          Disassociating budgetName
          Disassociating tag-123
          Disassociating act-123 from pa-123
          Deleting product prod-123
```

## その他のリソース
<a name="product-delete-cli-resources"></a>

エイリアス AWS CLIの使用、 AWS Service Catalog 製品の削除の詳細については、次のリソースを参照してください。
+ *AWS Command Line Interface (CLI)* [AWS CLI ユーザーガイドのエイリアスの作成と使用](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html)。
+ [AWS CLI エイリアスリポジトリ](https://github.com/awslabs/awscli-aliases) git リポジトリ。
+ [AWS Service Catalog 製品の削除](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html)。
+ [AWS re:Invent 2016: YouTube の実効 AWS CLI ユーザー](https://youtu.be/Xc1dHtWa9-Q?t=1593)。 *YouTube* 

# 製品削除時に失敗したリソースの関連付け解除の解決
<a name="product-delete-exception"></a>

リソースの関連付け解除の例外が原因で以前に[製品を削除](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html)しようとして失敗した場合は、以下の例外リストとその解決策を確認してください。

**注記**  
リソース関連付けの解除に失敗したというメッセージが表示される前に **[製品の削除]** ウィンドウを閉じた場合は、「製品の削除」セクションの手順 1 ～ 3 を実行して、ウィンドウを再度開くことができます。

**リソースの関連付け解除に失敗した問題を解決するには**

「**製品を削除**」ウィンドウで、「アソシエーション」テーブルの「**ステータス**」列を確認します。リソースの関連付け解除に失敗した例外と推奨される解決策を特定してください。


****  

| ステータス例外の種類 | 原因 | 解決策 | 
| --- | --- | --- | 
| 製品-\$1\$1\$1\$1 | AWS Service Catalog 製品に TagOptions、予算、少なくとも 1 つのアクションProvisioningArtifactが関連付けられているか、製品がまだポートフォリオに割り当てられているか、製品にユーザーがあるか、製品に制約があるため、 は製品を削除できませんでした。 | 製品を再度削除してみます。 | 
| ユーザー: username には以下を実行する権限がありません: | 製品を削除しようとしているユーザーには、製品のリソースの関連付けを解除するのに必要な権限がありません。 | AWS Service Catalog では、現在関連付けを解除するアクセス許可を持っていない製品リソースの関連付けを解除する方法の詳細については、アカウント管理者に問い合わせることをお勧めします。 | 

# バージョンの管理
<a name="managing-versions"></a>

 製品を作成するときに製品バージョンを割り当てます。製品バージョンはいつでも更新できます。

 バージョンには、 CloudFormation テンプレート、タイトル、説明、ステータス、ガイダンスがあります。

## バージョンステータス
<a name="version-status"></a>

 バージョンには、次の 3 つのステータスのいずれかを指定できます。
+  **アクティブ** - アクティブなバージョンがバージョンリストに表示され、ユーザーがそのバージョンを起動できるようにします。
+  **非アクティブ** - 非アクティブバージョンは、バージョンリストで非表示になります。このバージョンから起動された既存のプロビジョニング済み製品は影響を受けません。
+  **[削除済み]** - バージョンが削除されると、バージョンリストから削除されます。バージョンの削除は元に戻せません。

## バージョンガイダンス
<a name="version-guidance"></a>

 バージョンガイダンスを設定して、製品バージョンに関する情報をエンドユーザーに提供することができます。バージョンガイダンスは、アクティブな製品バージョンにのみ影響します。

 バージョンガイダンスには、次の 2 つのオプションがあります。
+  **なし** - デフォルトでは、製品バージョンにはガイダンスはありません。エンドユーザーはそのバージョンを使用して、プロビジョニングされた製品を更新および起動できます。
+  **非推奨** - ユーザーは、非推奨の製品バージョンを使用して新しいプロビジョニング済み製品を起動することはできません。以前にリリースされたプロビジョニング済み製品が、現在廃止されたバージョンを使用している場合、ユーザーはそのプロビジョニング済み製品を既存のバージョンまたは新しいバージョンを使用してのみ更新できます。

## バージョンの更新
<a name="updating-versions"></a>

 製品を作成するときに製品バージョンを割り当てます。また、バージョンはいつでも更新できます。製品の作成に関する詳細については、「[製品の作成](productmgmt-cloudresource.md)」を参照してください。

**製品バージョンを更新するには**

1.  AWS Service Catalog コンソールで、**製品**を選択します。

1.  製品リストから、バージョンを更新する製品を選択します。

1.  [**製品詳細**] ページで、[**バージョン**] タブを選択し、更新するバージョンを選択します。

1.  [**バージョンの詳細**] ページで、製品バージョンを編集し、[**変更の保存**] を選択します。