

サポート終了通知: 2026 年 10 月 7 日に、 AWS はサポートを終了します AWS Proton。2026 年 10 月 7 日以降、 AWS Proton コンソールまたは AWS Proton リソースにアクセスできなくなります。デプロイされたインフラストラクチャはそのまま残ります。詳細については、[AWS Proton 「サービス廃止と移行ガイド](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)」を参照してください。

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

# 環境を作成する
<a name="ag-create-env"></a>

 AWS Proton 環境の作成について説明します。

**AWS Proton 環境は、次の 2 つの方法のいずれかで作成できます。**
+ 標準環境テンプレートを使用して、*標準環境*を作成、管理、プロビジョニングします。 は、環境のインフラストラクチャを AWS Proton プロビジョニングします。
+ カスタマーマネージド*環境テンプレートを使用して、カスタマーマネージド*インフラストラクチャ AWS Proton に接続します。の外部で独自の共有リソースをプロビジョニングし AWS Proton、 AWS Proton が使用できるプロビジョニング出力を提供します。

**環境の作成方法としては、いくつかのプロビジョニング方法の中から 1 つを選択できます。**
+ *AWS マネージドプロビジョニング* – 1 つのアカウントで環境を作成、管理、プロビジョニングします。 は環境を AWS Proton プロビジョニングします。

  この方法でサポートされるのは CloudFormation Infrastructure Code (IaC) テンプレートのみです。
+ *AWS 別のアカウントへの マネージドプロビジョニング* – 1 つの管理アカウントで、環境アカウント接続を使用して別のアカウントでプロビジョニングされた環境を作成および管理します。 は、別のアカウントの環境を AWS Proton プロビジョニングします。詳細については、「[1 つのアカウントに環境を作成し、別のアカウントでプロビジョニングします。](#ag-create-env-deploy-other)」および「[環境アカウント接続](ag-env-account-connections.md)」を参照してください。

  この方法でサポートされるのは CloudFormation IaC テンプレートのみです。
+ *セルフマネージドプロビジョニング* – 独自のプロビジョニングインフラストラクチャを持つリンクされたリポジトリにプロビジョニングプルリクエスト AWS Proton を送信します。

  この方法でサポートされるのは Terraform IaC テンプレートのみです。
+ *CodeBuild プロビジョニング* – 指定したシェルコマンドを実行する AWS CodeBuild ために AWS Proton を使用します。コマンドは、 AWS Proton が提供する入力を読み取ることができ、インフラストラクチャのプロビジョニングまたはプロビジョニング解除と出力値の生成を担当します。この方法のテンプレートバンドルには、マニフェストファイル内のあなたのコマンドと、これらのコマンドで必要になるプログラム、スクリプト、またはその他のファイルが含まれます。

  CodeBuild プロビジョニングを使用する例として、 を使用して AWS リソース AWS Cloud Development Kit (AWS CDK) をプロビジョニングするコードと、CDK をインストールして CDK コードを実行するマニフェストを含めることができます。

  詳細については、「[CodeBuild プロビジョニングテンプレートバンドル](ag-infrastructure-tmp-files-codebuild.md)」を参照してください。
**注記**  
CodeBuild プロビジョニングは環境とサービスで使用できます。現時点では、この方法でコンポーネントをプロビジョニングすることはできません。

 AWS マネージドプロビジョニング (同じアカウントと別のアカウントの両方) AWS Proton では、 はリソースをプロビジョニングするための直接呼び出しを行います。

セルフマネージドプロビジョニングを使用すると、 はプルリクエスト AWS Proton を行い、IaC エンジンがリソースのプロビジョニングに使用するコンパイル済み IaC ファイルを提供します。

詳細については、「[がインフラストラクチャを AWS Proton プロビジョニングする方法](ag-works-prov-methods.md)」、「[テンプレートバンドル](ag-template-authoring.md#ag-template-bundles)」、および「[環境テンプレートバンドルのスキーマ要件](ag-schema.md#schema-req-env)」を参照してください。

**Topics**
+ [同じアカウント内で標準環境を作成してプロビジョニングする](#ag-create-env-same-account)
+ [1 つのアカウントに環境を作成し、別のアカウントでプロビジョニングします。](#ag-create-env-deploy-other)
+ [セルフマネージドプロビジョニングで環境を作成し、プロビジョニングします。](#ag-create-env-pull-request)

## 同じアカウント内で標準環境を作成してプロビジョニングする
<a name="ag-create-env-same-account"></a>

コンソールまたは AWS CLI を使用して、1 つのアカウントで環境を作成してプロビジョニングします。プロビジョニングは によって管理されます AWS。

------
#### [ AWS マネジメントコンソール ]

**コンソールを使用して、単一のアカウント内で環境を作成してプロビジョニングします。**

1. [AWS Proton コンソール](https://console.aws.amazon.com//proton/)で、[**環境**] を選択します。

1. [**Create environment (環境の作成)**] を選択します。

1. [**Choose an environment template (環境テンプレートを選択する)**] ページでテンプレートを選択して [**Configure (設定)**] を選択します。

1. [**Configure environment (環境を設定する)**] ページの [**Provisioning (プロビジョニング)**] セクションで [**AWS マネージドプロビジョニング**] を選択します。

1. [**Deployment account (デプロイアカウント)**] セクションで、[**この AWS アカウント**] を選択します。

1. [**Configure environment (環境の設定)**] ページの [**Environment settings (環境設定)**] セクションで [**Environment name**] に環境名を入力します。

1. (オプション) この環境についての説明を入力します。

1. [**Environment roles (環境ロール)**] セクションで、[AWS Proton サービスロールの設定](ag-setting-up-iam.md#setting-up-cicd) の一部としてあなたが作成した AWS Proton サービスロールを選択します。

1. (オプション) [**コンポーネントロール**] セクションで、直接定義したコンポーネントを環境内で実行できるようにするサービスロールを選択し、プロビジョニングできるリソースの範囲を絞り込みます。詳細については、「[AWS Proton コンポーネント](ag-components.md)」を参照してください。

1. (オプション) [**Tags (タグ)**] セクションで [**Add new tag (新しいタグを追加)**] を選択し、キーと値を入力してカスタマーマネージドタグを作成します。

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

1. [**Configure environment custom settings (環境カスタム設定の構成)**] ページでは、`required` パラメータの値を入力してください。`optional` パラメータの値を入力するか、表示されるデフォルト値を使用します。

1. [**Next (次へ)**] を選択して入力を見直します。

1. [**Create (作成)**] を選択します。

   環境の詳細とステータス、ならびに環境に関する AWS マネージドタグとカスタマーマネージドタグ。

1. ナビゲーションペインで [**Environments (環境)**] を選択します。

   新しいページには、ステータスやその他の環境の詳細とともに環境のリストが表示されます。

------
#### [ AWS CLI ]

**を使用して AWS CLI 、1 つのアカウントで環境を作成してプロビジョニングします。**

環境を作成するには、[AWS Proton サービスロール](security_iam_service-role-policy-examples.md#proton-svc-role) ARN、あなたの仕様ファイルまでのパス、環境名、環境テンプレート ARN、メジャーバージョンとマイナーバージョン、説明 (オプション) を指定します。

次の例は、環境テンプレートスキーマファイルで定義された 2 つの入力値を指定する YAML フォーマット済み仕様ファイルです。`get-environment-template-minor-version` コマンドを実行して、環境テンプレートスキーマを表示できます。

```
proton: EnvironmentSpec
spec:
  my_sample_input: "the first"
  my_other_sample_input: "the second"
```

次のコマンドを実行して、環境を作成します。



```
$ aws proton create-environment \
    --name "MySimpleEnv" \
    --template-name simple-env \
    --template-major-version 1 \
    --proton-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole" \
    --spec "file://env-spec.yaml"
```

レスポンス:

```
{
    "environment": {
        "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv",
        "createdAt": "2020-11-11T23:03:05.405000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "lastDeploymentAttemptedAt": "2020-11-11T23:03:05.405000+00:00",
        "name": "MySimpleEnv",
        "protonServiceRoleArn": "arn:aws:iam::123456789012:role/ProtonServiceRole",
        "templateName": "simple-env"
    }
}
```

新しい環境を作成したら、次の コマンド例に示すように、 AWS とカスタマーマネージドタグのリストを表示できます。 は AWS マネージドタグ AWS Proton を自動的に生成します。また、 AWS CLIで、カスタマーマネージドタグの変更や作成もできます。詳細については、「[AWS Proton リソースとタグ付け](resources.md)」を参照してください。

コマンド:

```
$ aws proton list-tags-for-resource \
    --resource-arn "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv"
```

------

## 1 つのアカウントに環境を作成し、別のアカウントでプロビジョニングします。
<a name="ag-create-env-deploy-other"></a>

コンソールまたは AWS CLI を使用して、別のアカウントの環境インフラストラクチャをプロビジョニングする標準環境を管理アカウントに作成します。プロビジョニングは AWSが管理します。

**コンソールまたは CLI を使用する前に、以下のステップを完了します。**

1. 管理アカウントと環境アカウントの AWS アカウント IDs を特定し、後で使用するためにコピーします。

1. 環境アカウントで、環境が作成する最小限のアクセス許可を持つ AWS Proton サービスロールを作成します。詳細については、「[AWS Proton を使用してプロビジョニングするための サービスロール CloudFormation](security_iam_service-role-policy-examples.md#proton-svc-role)」を参照してください。

------
#### [ AWS マネジメントコンソール ]

**コンソールを使用して、1 つのアカウントに環境を作成し、別のアカウントでプロビジョニングします。**

1. 

**環境アカウント内で環境アカウント接続を作成し、それを使用して管理アカウントへの接続リクエストを送信します。**

   1. [AWS Proton コンソール](https://console.aws.amazon.com//proton/)でナビゲーションペインにある [**Environment account connections (環境アカウント接続)**] を選択します。

   1. [**Environment account connections (環境アカウント接続)**] ページで[**Request to connect (接続のリクエスト)**] を選択します。
**注記**  
[**Environment account connection (環境アカウント接続ページ)**] の見出しに挙がっているアカウント ID が、事前に識別されたあなたの環境アカウント ID と一致することを確認してください。

   1. [**Request to connect (接続のリクエスト)**] ページでの [**Environment role (環境ロール)**] セクションで [**Existing service role (既存のサービスロール)**] および環境用に作成したサービスロールの名前を選択します。

   1. **「管理アカウントへの接続**」セクションに、**環境の管理アカウント ID** と**環境名**を入力します AWS Proton 。後で使用できるように名前をコピーします。

   1. ページの右下にある [**Request to connect (接続のリクエスト)**] を選択します。

   1. リクエストは [**Environment connections sent to a management account (管理アカウントに送信される環境接続)**] テーブルに [Pending] (保留中) として表示され、モーダルに管理アカウントからのリクエストを受け入れる方法が示されます。

1. 

**管理アカウント内で、環境アカウントからの接続リクエストを受け入れ諾ます。**

   1. 管理アカウントにログインし、 AWS Proton コンソールで**環境アカウント接続**を選択します。

   1. [**Environment account connections (環境アカウント接続の)**] ページの [**Environment account connection requests (環境アカウント接続リクエスト)**] テーブルで、事前に識別された環境アカウント ID と一致する環境アカウント ID を持つ環境アカウント接続を選択します。
**注記**  
[**Environment account connection (環境アカウント接続ページ)**] の見出しに挙がっているアカウント ID が、事前に識別されたあなたの管理アカウント ID と一致することを確認してください。

   1. [**Accept (承諾)**] を選択します。ステータスが [Pending (保留中)] から [Connected (接続済み)] に変わります。

1. 

**管理アカウント内で環境を作成します。**

   1. ナビゲーションペインで [**Environment templates (環境テンプレート)**] を選択します。

   1. [**Environment templates (環境テンプレート)**] ページで [**Create environment template (環境テンプレートを作成する)**] を選択します。

   1. [**Choose an environment template (環境テンプレートを選択する)**] ページで環境テンプレートを選択します。

   1. [**Configure environment (環境を設定する)**] ページの [**Provisioning (プロビジョニング)**] セクションで [**AWS マネージドプロビジョニング**] を選択します。

   1. **デプロイアカウント**セクションで、**別の AWS アカウントを選択します。**

   1. [**Environment details (環境の詳細)**] セクションで、[**環境アカウント接続**] と [**環境名**] を選択します。

   1. [**Next (次へ)**] をクリックします。

   1. フォームに必要な値を入力し、[**Review and Create (確認と作成)**] ページが表示されるまで [**Next (次へ)**] を選択します。

   1. 内容を見直して [**Create environment (環境を作成する)**] を選択します。

------
#### [ AWS CLI ]

**を使用して、あるアカウントに環境 AWS CLI を作成し、別のアカウントにプロビジョニングします。**

環境アカウント内で環境アカウント接続を作成し、以下のコマンドを実行して接続をリクエストします。

```
$ aws proton create-environment-account-connection \
    --environment-name "simple-env-connected" \
    --role-arn "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role" \
    --management-account-id "111111111111"
```

レスポンス:

```
{
    "environmentAccountConnection": {
        "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "environmentAccountId": "222222222222",
        "environmentName": "simple-env-connected",
        "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00",
        "managementAccountId": "111111111111",
        "requestedAt": "2021-04-28T23:13:50.847000+00:00",
        "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role",
        "status": "PENDING"
    }
}
```

管理アカウント内で、以下のコマンドを実行して環境アカウント接続リクエストを受け入れます。

```
$ aws proton accept-environment-account-connection \
    --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
```

レスポンス:

```
{
    "environmentAccountConnection": {
        "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "environmentAccountId": "222222222222",
        "environmentName": "simple-env-connected",
        "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00",
        "managementAccountId": "111111111111",
        "requestedAt": "2021-04-28T23:13:50.847000+00:00",
        "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role",
        "status": "CONNECTED"
    }
}
```

次のコマンドを実行してあなたの環境アカウント接続を表示します。

```
$ aws proton get-environment-account-connection \
    --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
```

レスポンス:

```
{
    "environmentAccountConnection": {
        "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "environmentAccountId": "222222222222",
        "environmentName": "simple-env-connected",
        "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00",
        "managementAccountId": "111111111111",
        "requestedAt": "2021-04-28T23:13:50.847000+00:00",
        "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role",
        "status": "CONNECTED"
    }
}
```

管理アカウントで、次のコマンドを実行して環境を作成します。

```
$ aws proton create-environment \
    --name "simple-env-connected" \
    --template-name simple-env-template \
    --template-major-version "1" \
    --template-minor-version "1" \
    --spec "file://simple-env-template/specs/original.yaml" \
    --environment-account-connection-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
```

レスポンス:

```
{
    "environment": {
        "arn": "arn:aws:proton:region-id:111111111111:environment/simple-env-connected",
        "createdAt": "2021-04-28T23:02:57.944000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "environmentAccountConnectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "environmentAccountId": "222222222222",
        "lastDeploymentAttemptedAt": "2021-04-28T23:02:57.944000+00:00",
        "name": "simple-env-connected",
        "templateName": "simple-env-template"
    }
}
```

------

## セルフマネージドプロビジョニングで環境を作成し、プロビジョニングします。
<a name="ag-create-env-pull-request"></a>

セルフマネージドプロビジョニングを使用する場合、 は独自のプロビジョニングインフラストラクチャを持つリンクされたリポジトリにプロビジョニングプルリクエスト AWS Proton を送信します。プルリクエストは独自のワークフローを開始し、 AWS サービスを呼び出してインフラストラクチャをプロビジョニングします。

**セルフマネージドプロビジョニングに関する考察：**
+ 環境を作成する前に、セルフマネージドプロビジョニング用のリポジトリリソースディレクトリを設定します。詳細については、「[AWS Proton コードファイルとしての インフラストラクチャ](ag-infrastructure-tmp-files.md)」を参照してください。
+ 環境を作成すると、 はインフラストラクチャプロビジョニングのステータスに関する非同期通知を受信するのを AWS Proton 待ちます。プロビジョニングコードは、 AWS Proton `NotifyResourceStateChange` API を使用してこれらの非同期通知を送信する必要があります AWS Proton。

セルフマネージドプロビジョニングは、コンソールまたは AWS CLIを通して使用できます。以下の例では、Terraform でセルフマネージドプロビジョニングを使用する方法を示します。

------
#### [ AWS マネジメントコンソール ]

**コンソールでセルフマネージドプロビジョニングを使用して Terraform 環境を作成します。**

1. [AWS Proton コンソール](https://console.aws.amazon.com//proton/)で、[**環境**] を選択します。

1. [**Create environment (環境の作成)**] を選択します。

1. [**Choose an environment template (環境テンプレートを選択する)**] ページで、Terraform テンプレートを選択して [**Configure (設定)**] を選択します。

1. [**Configure environment (環境を設定する)**] ページの [**Provisioning] (プロビジョニング)**] セクションで [**Self-managed provisioning (セルフマネージドプロビジョニング)**] を選択します。

1. [**プロビジョニングリポジトリの詳細**] セクション:

   1. [プロビジョニングリポジトリをまだリンク AWS Proton](ag-create-repo.md)していない場合は、**新しいリポジトリ**を選択し、リポジトリプロバイダーの 1 つを選択し、**CodeStar 接続**の場合は接続の 1 つを選択します。
**注記**  
関連するリポジトリプロバイダーアカウントにまだ接続していない場合は、[**新しい CodeStar 接続を追加**] を選択します。次に、接続を作成し、[**CodeStar 接続**] メニューの横にある更新ボタンを選択します。これで、あなたの新しい接続をメニューから選択できます。

      リポジトリを既にリンクしている場合は AWS Proton、**「既存のリポジトリ**」を選択します。

   1. [**Repository name (リポジトリ名)**] で、リポジトリを選択します。ドロップダウンメニューには、**既存のリポジトリ**の場合はリンクされたリポジトリ、**新規リポジトリ**の場合はプロバイダーアカウントのリポジトリのリストが表示されます。

   1. [**ブランチ名**] で、リポジトリブランチの１つを選択します。

1. [**Environment Settings (環境の設定)**] セクションで [**Environment name**] に環境名を入力します。

1. (オプション) この環境についての説明を入力します。

1. (オプション) [**Tags (タグ)**] セクションで [**Add new tag (新しいタグを追加)**] を選択し、キーと値を入力してカスタマーマネージドタグを作成します。

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

1. [**Configure environment custom settings (環境カスタム設定の構成)**] ページでは、`required` パラメータの値を入力してください。`optional` パラメータの値を入力するか、表示されるデフォルト値を使用します。

1. [**Next (次へ)**] を選択して入力内容を見直します。

1. [**Create (作成)**] を選択してプルリクエストを送信します。
   + プルリクエストを承認すると、デプロイが進行中になります。
   + プルリクエストを拒否すると、環境の作成はキャンセルされます。
   + プルリクエストがタイムアウトになった場合、環境の作成は完了*しません*。

1. 環境の詳細とステータス、および環境の AWS マネージドタグとカスタマーマネージドタグを表示します。

1. ナビゲーションペインで [**Environments (環境)**] を選択します。

   新しいページには、ステータスやその他の環境の詳細とともに環境のリストが表示されます。

------
#### [ AWS CLI ]

セルフマネージドプロビジョニングを実施する環境を作成するときは、`provisioningRepository` パラメータを*追加*し、パラメータ`ProtonServiceRoleArn` と `environmentAccountConnectionId` パラメータを省略します。

**を使用して AWS CLI 、セルフマネージドプロビジョニングで Terraform 環境を作成します。**

1. 環境を作成し、見直しと承認の対象としてリポジトリにプルリクエストを送信します。

   次の例では、環境テンプレートスキーマファイルに基づいて 2 つの入力値を定義する YAML 形式の仕様ファイルを示します。`get-environment-template-minor-version` コマンドを実行して、環境テンプレートスキーマを表示します。

   仕様:

   ```
   proton: EnvironmentSpec
   spec:
     ssm_parameter_value: "test"
   ```

   次のコマンドを実行して、環境を作成します。

   ```
   $ aws proton create-environment \
       --name "pr-environment" \
       --template-name "pr-env-template" \
       --template-major-version "1" \
       --provisioning-repository="branch=main,name=myrepos/env-repo,provider=GITHUB" \
       --spec "file://env-spec.yaml"
   ```

   レスポンス:>

   ```
   {
       "environment": {
           "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment",
           "createdAt": "2021-11-18T17:06:58.679000+00:00",
           "deploymentStatus": "IN_PROGRESS",
           "lastDeploymentAttemptedAt": "2021-11-18T17:06:58.679000+00:00",
           "name": "pr-environment",
           "provisioningRepository": {
               "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo",
               "branch": "main",
               "name": "myrepos/env-repo",
               "provider": "GITHUB"
           },
           "templateName": "pr-env-template"
       }
   ```

1. リクエストを見直します。
   + リクエストを承認すると、プロビジョニングが進行中になります。
   + リクエストを拒否すると、環境の作成はキャンセルされます。
   + プルリクエストがタイムアウトになった場合、環境の作成は完了*しません*。

1. プロビジョニングステータスを非同期的に に提供します AWS Proton。次の の例では AWS Proton 、プロビジョニングが成功したことを に通知します。

   ```
   $ aws proton notify-resource-deployment-status-change \
       --resource-arn "arn:aws:proton:region-id:123456789012:environment/pr-environment" \
       --status "SUCCEEDED"
   ```

------