

サポート終了通知: 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="create-template-sync"></a>

を使用してテンプレート同期設定を作成する方法について説明します AWS Proton。

**テンプレート同期設定の前提条件を作成します。**
+ [リポジトリ](ag-create-repo.md)を AWS Protonにリンクしました。
+ [テンプレートバンドル](ag-template-authoring.md#ag-template-bundles)がリポジトリにあります。

**リポジトリリンクは以下で構成されます。**
+ リポジトリにアクセスして通知をサブスクライブするアクセス AWS Proton 許可を付与する CodeConnections 接続。
+ [サービスリンクロール](using-service-linked-roles.md) あなたのリポジトリをリンクすると、サービスリンクロールが作成されます。

最初のテンプレート同期設定を作成する前に、次のディレクトリレイアウトに示すように、テンプレートバンドルをリポジトリにプッシュします。

```
 /templates/                                                 # subdirectory (optional)
 /templates/my-env-template/                                 # template name
 /templates/my-env-template/v1/                              # template version
 /templates/my-env-template/v1/infrastructure/               # template bundle
 /templates/my-env-template/v1/schema/
```

最初のテンプレート同期設定を作成した後、新しいバージョンの下 (たとえば、`/my-env-template/v2/` の下) に更新されたテンプレートバンドルを追加するコミットをプッシュすると、新しいテンプレートバージョンが自動的に作成されます。

```
 /templates/                                                 # subdirectory (optional)
 /templates/my-env-template/                                 # template name
 /templates/my-env-template/v1/                              # template version
 /templates/my-env-template/v1/infrastructure/               # template bundle
 /templates/my-env-template/v1/schema/
 /templates/my-env-template/v2/
 /templates/my-env-template/v2/infrastructure/
 /templates/my-env-template/v2/schema/
```

1 つ以上の同期設定済みテンプレートの新しいテンプレートバンドルバージョンを 1 つのコミットに含めることができます。 は、コミットに含まれていた新しいテンプレートバンドルバージョンごとに新しいテンプレートバージョン AWS Proton を作成します。

テンプレート同期設定を作成した後も、S3 バケットからテンプレートバンドルをアップロード AWS CLI することで、コンソールまたは でテンプレートの新しいバージョンを手動で作成できます。テンプレートの同期は、リポジトリから への 1 つの方向でのみ機能します AWS Proton。手動で作成したテンプレートのバージョンは同期*されません*。

テンプレート同期設定をセットアップすると、 はリポジトリへの変更を AWS Proton 待ちます。変更がプッシュされるたびに、テンプレートと同じ名前のディレクトリが検索されます。次に、そのディレクトリ内でメジャーバージョンのように見えるディレクトリを検索します。 は、対応するテンプレートメジャーバージョンにテンプレートバンドル AWS Proton を登録します。新しいバージョンは常に `DRAFT` 状態です。[新しいバージョンは、 コンソールまたは を使用して公開](template-create.md)できます AWS CLI。

たとえば、`my-env-template` というテンプレートがあってブランチ `main` の `my-repo/templates` から同期するように設定されているとすると、以下のようなレイアウトになります。

```
 /code
 /code/service.go
 README.md
 /templates/
 /templates/my-env-template/
 /templates/my-env-template/v1/
 /templates/my-env-template/v1/infrastructure/
 /templates/my-env-template/v1/schema/
 /templates/my-env-template/v2/
 /templates/my-env-template/v2/infrastructure/
 /templates/my-env-template/v2/schema/
```

AWS Proton は の内容を `/templates/my-env-template/v1/` に`my-env-template:1`、 の内容を `/templates/my-env-template/v2/`に同期します`my-env-template:2`。これらのメジャーバージョンは、存在しない場合、作成されます。

AWS Proton は、テンプレート名に一致する最初のディレクトリを見つけました。テンプレート同期設定を作成または編集`subdirectoryPath`するときに を指定することで、ディレクトリ AWS Proton 検索を制限できます。たとえば、`subdirectoryPath` の `/production-templates/` を指定できます。

テンプレート同期設定は、コンソールまたは CLI を使用して作成できます。

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

**テンプレートを使用して、テンプレートとテンプレート同期設定を作成します。**

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

1. [**Create Environment template**] (環境テンプレートの作成) を選択します。

1. [**Create environment template (環境テンプレートを作成する)**] ページの [**Template options (テンプレートオプション)**] セクションで [**Create a template for provisioning new environments (新しい環境のプロビジョニング用のテンプレートを作成する)**] を選択します。

1. [**Template bundle source (テンプレートバンドルソース)**] セクションで [**Sync templates from Git (Git からテンプレートを同期する)**] を選択します。

1. [**Source code repository (ソースコードレポジトリ)**] セクションで以下の操作をします。

   1. 「**Repository**」では、あなたのテンプレートバンドルがあるリンク先のリポジトリを選択します。

   1. [**ブランチ**] で、同期するリポジトリブランチを選択します。

   1. (オプション）**テンプレートバンドルディレクトリ**には、あなたのテンプレートバンドルの検索を絞り込むためのディレクトリ名を入力します。

1. [**Template details (テンプレートの詳細)**] セクションで以下の操作をします。

   1. **テンプレート名**を入力します。

   1. (オプション) [**Template display name**] にテンプレート表示名を入力します。

   1. (オプション) [**Template description**] に環境テンプレートの説明を入力します。

1. (オプション) [**Encryption settings (暗号化設定)**] セクションの [**Customize encryption settings (advanced) (暗号化設定のカスタマイズ (アドバンスト))**] のチェックボックスをオンにします。

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

1. [**Create Environment template (環境テンプレートの作成)**] を選択します。

   新しいページが開き、新しい環境テンプレートのステータスと詳細が表示されます。これらの詳細には、 AWS マネージドタグとカスタマーマネージドタグのリストが含まれます。 は、 AWS Proton リソースの作成時に AWS マネージドタグ AWS Proton を自動的に生成します。詳細については、「[AWS Proton リソースとタグ付け](resources.md)」を参照してください。

1. テンプレートの詳細ページで [**Sync (同期)**] タブを使用してテンプレート同期設定の詳細データを表示します。

1. [**Template versions (テンプレートのバージョン)**] タブを選択して、テンプレートバージョンとステータスの詳細を表示します。

1. 新しい環境テンプレートのステータスは [**Draft (ドラフト)**] から始まります。その表示やアクセスができるのは、あなたと `proton:CreateEnvironment` 権限がある他のユーザーです。次の手順に従って、テンプレートを自分以外のユーザーが使用できるようにします。

1. [**Template versions (テンプレートのバージョン)**] セクションで、先ほど作成したテンプレートのマイナーバージョン (1.0) の左側にあるラジオボタンを選択します。別の方法としては、情報アラートで [**Publish (発行)**] を選択して次のステップをスキップします。

1. [**Template versions (テンプレートのバージョン)**] セクションで [**Publish (パブリッシュ)**] を選択します。

1. テンプレートのステータスが [**Published (パブリッシュ済み)**] に変わります。これはテンプレートの最新かつ**推奨**バージョンです。

1. ナビゲーションペインで [**Environment templates (環境テンプレート)**] を選択して環境テンプレートと詳細の一覧を表示します。

サービステンプレートとテンプレート同期設定を作成する手順も同様です。

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

**AWS CLIを使用して、テンプレートとテンプレート同期設定を作成します。**

1. 

**テンプレートを作成する この例では、環境テンプレートが作成されます。**

   以下のコマンドを実行してください。

   ```
   $ aws proton create-environment-template \
       --name "env-template"
   ```

   レスポンスは次のとおりです。

   ```
   {
       "environmentTemplate": {
           "arn": "arn:aws:proton:us-east-1:123456789012:environment-template/env-template",
           "createdAt": "2021-11-07T23:32:43.045000+00:00",
           "displayName": "env-template",
           "lastModifiedAt": "2021-11-07T23:32:43.045000+00:00",
           "name": "env-template",
           "status": "DRAFT",
           "templateName": "env-template"
       }
   }
   ```

1. 

**以下を指定 AWS CLI して、 でテンプレート同期設定を作成します。**
   + 同期先のテンプレート。テンプレート同期設定の作成後も、コンソールまたは AWS CLIを通してテンプレート同期設定から手動で新しいバージョンを作成できます。
   + テンプレート名。
   + テンプレートタイプ。
   + 希望する同期元のリンク先リポジトリ。
   + リンクされたリポジトリプロバイダです。
   + テンプレートバンドルが配置されているブランチ。
   + (オプション) あなたのテンプレートバンドルがあるディレクトリパス。デフォルトでは、 はテンプレート名に一致する最初のディレクトリ AWS Proton を探します。

   以下のコマンドを実行してください。

   ```
   $ aws proton create-template-sync-config \
       --template-name "env-template" \
       --template-type "ENVIRONMENT" \
       --repository-name "myrepos/templates" \
       --repository-provider "GITHUB" \
       --branch "main" \
       --subdirectory "env-template/"
   ```

   レスポンスは次のとおりです。

   ```
   {
       "templateSyncConfigDetails": {
           "branch": "main",
           "repositoryName": "myrepos/templates",
           "repositoryProvider": "GITHUB",
           "subdirectory": "templates",
           "templateName": "env-template",
           "templateType": "ENVIRONMENT"
       }
   }
   ```

1. **テンプレートバージョンを公開するには、「[テンプレートを登録してパブリッシュする](template-create.md)」を参照してください。**

------

## サービステンプレートを同期する
<a name="create-template-sync-service-templates"></a>

前の例では、環境テンプレートを同期する方法を示します。サービステンプレートも同様です。サービステンプレートを同期するには、あなたのテンプレートバンドルの各メジャーバージョンディレクトリに `.template-registration.yaml` という名前のファイルを追加します。このファイルには、コミット後にサービステンプレートバージョンを作成するときに が AWS Proton 必要とする追加の詳細が含まれています。 AWS Proton コンソールまたは API を使用してサービステンプレートバージョンを明示的に作成する場合、これらの詳細を入力として指定します。このファイルはテンプレート同期のためにこれらの入力を置き換えます。

```
./templates/                                                 # subdirectory (optional)
 /templates/my-svc-template/                                 # service template name
 /templates/my-svc-template/v1/                              # service template version
 /templates/my-svc-template/v1/.template-registration.yaml   # service template version properties
 /templates/my-svc-template/v1/instance_infrastructure/      # template bundle
 /templates/my-svc-template/v1/schema/
```

`.template-registration.yaml` ファイルには次の詳細が含まれています。
+ **互換性のある環境** [必須] — これらの環境テンプレートとメジャーバージョンに基づく環境は、このサービステンプレートバージョンに基づくサービスと互換性があります。
+ **サポート対象のコンポーネントソース** [オプション] — これらのソースを使用するコンポーネントは、このサービステンプレートバージョンに基づくサービスと互換性があります。指定しないと、コンポーネントをこれらのサービスにアタッチできません。コンポーネントの詳細については、「[AWS Proton コンポーネント](ag-components.md)」を参照してください。

ファイルの YAML 構文は次のとおりです。

```
compatible_environments:
  - env-templ-name:major-version
  - ...
supported_component_sources:
  - DIRECTLY_DEFINED
```

1 つ以上の環境テンプレートとメジャーバージョンの組み合わせを指定します。`supported_component_sources` の指定はオプションです。サポートされている値は `DIRECTLY_DEFINED` だけです。

**Example .template-registration.yaml**  
この例では、サービステンプレートバージョンは `my-env-template` 環境テンプレートのメジャーバージョン 1 と 2 と互換性があります。また、`another-env-template` 環境テンプレートのメジャーバージョン 1 と 3 とも互換性があります。このファイルは `supported_component_sources` を指定していないため、このサービステンプレートバージョンに基づくサービスにはコンポーネントをアタッチできません。  

```
compatible_environments:
  - my-env-template:1
  - my-env-template:2
  - another-env-template:1
  - another-env-template:3
```

**注記**  
以前は、 は互換性のある環境を指定`.compatible-envs`するために別のファイル AWS Proton を定義していました。 AWS Proton は、下位互換性のためにそのファイルとその形式をサポートしています。このファイルは、拡張性がなく、コンポーネントなどの新しい機能をサポートできないため、これ以上の使用はお勧めしません。