

サポート終了通知: 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)」を参照してください。

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

# の開始方法 AWS Proton
開始方法

開始する前に、 を使用するように[セットアップ](ag-setting-up.md) AWS Proton し、[開始方法の前提条件](getting-started-prerequisites.md)を満たしていることを確認します。

**以下のパスを 1 つ以上選択 AWS Proton して、 の使用を開始します。**
+ ドキュメントリンク経由でガイド付きの[コンソールまたは CLI ワークフローの例](ag-admin-workflow.md)に従います。
+ ガイド付きの[コンソールワークフロー例](ag-getting-started-console.md)を参照してください。
+ ガイド付き[サンプル AWS CLI ワークフロー](ag-getting-started-cli.md)を実行します。



**Topics**
+ [

# 前提条件
](getting-started-prerequisites.md)
+ [

# ワークフローの開始方法
](ag-admin-workflow.md)
+ [

# の開始方法 AWS マネジメントコンソール
](ag-getting-started-console.md)
+ [

# の開始方法 AWS CLI
](ag-getting-started-cli.md)
+ [

# AWS Proton テンプレートライブラリ
](ag-getting-started-templates.md)

# 前提条件


の使用を開始する前に AWS Proton、以下の前提条件を満たしていることを確認してください。詳細については、「[セットアップ](ag-setting-up.md)」を参照してください。
+ 管理者権限がある IAM アカウントをお持ちです。詳細については、「[IAM によるセットアップ](ag-setting-up-iam.md)」を参照してください。
+  AWS Proton サービスロールがあり、 AWS Proton パイプラインサービスロールがアカウントにアタッチされている。詳細については、「[AWS Proton サービスロールの設定](ag-setting-up-iam.md#setting-up-cicd)」および「[のサービスロール AWS Proton](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service)」を参照してください。
+  AWS CodeStar 接続がある。詳細については、「[AWS CodeStar 接続のセットアップ](setting-up-for-service.md#setting-up-vcontrol)」を参照してください。
+  CloudFormation テンプレートの作成と Jinja のパラメータ化に精通しています。詳細については、* CloudFormation 「 ユーザーガイド」および「Jinja ウェブサイト」の*[「What is CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)」を参照してください。 [https://palletsprojects.com/projects/jinja](https://palletsprojects.com/projects/jinja)
+  AWS インフラストラクチャサービスに関する実務上の知識がある。
+ にログインしています AWS アカウント。

# ワークフローの開始方法


サンプルの手順とリンクに従って、テンプレートバンドルの作成、テンプレートの作成と登録、環境およびサービスの作成について学習します。

開始する前に、[AWS Proton サービスロール](ag-setting-up-iam.md#setting-up-cicd)が作成済みであることを確認してください。

サービステンプレートに AWS Proton サービスパイプラインが含まれている場合は、[AWS CodeStar 接続](setting-up-for-service.md#setting-up-vcontrol)と[AWS Proton パイプラインサービスロール](ag-setting-up-iam.md#setting-up-cicd)が作成されていることを確認します。

詳細については、[AWS Proton 「サービス API リファレンス](https://docs.aws.amazon.com/proton/latest/APIReference/Welcome.html)」を参照してください。

**例; ワークフローの開始方法**

1.  AWS Proton 入出力の概要については、[の AWS Proton 仕組み](ag-works.md)「」の図を参照してください。

1. [環境バンドルとサービステンプレートバンドルを作成します](ag-template-authoring.md#ag-template-bundles)。

   1. [入力パラメータ](parameters.md)を識別します。

   1. [スキーマファイル](ag-schema.md)を作成します。

   1. [infrastructure as code (IaC) ファイル](ag-infrastructure-tmp-files.md)を作成します。

   1. [あなたのテンプレートバンドルをまとめる](ag-wrap-up.md)には、マニフェストファイルを作成し、あなたの iaC ファイル、マニフェストファイル、およびスキーマファイルをディレクトリ内に編成します。

   1. [テンプレートバンドル](ag-wrap-up.md)にアクセスできるようにします AWS Proton。

1. [環境テンプレートバージョンを作成して に登録](template-create.md)します AWS Proton。

   コンソールでテンプレートを作成して登録すると、テンプレートのバージョンが自動的に作成されます。

   を使用してテンプレート AWS CLI を作成および登録する場合:

   1. 環境テンプレートを作成します。

   1. 環境テンプレートのバージョンを作成します。

   詳細については、『*AWS Proton API リファレンス*』の「[CreateEnvironmentTemplate](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironmentTemplateVersion.html)」と「[CreateEnvironmentTemplateVersion](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironmentTemplate.html)」を参照してください。

1. [あなたの環境テンプレートをパブリッシュ](template-update.md)して使用可能にします。

   詳細については、『*AWS Proton API リファレンス*』の「[UpdateEnvironmentTemplateVersion](https://docs.aws.amazon.com/proton/latest/APIReference/API_UpdateEnvironmentTemplateVersion.html)」を参照してください。

1. [環境を作成](ag-create-env.md)するには、パブリッシュ済み環境テンプレートのバージョンを選択し、必要な値を入力します。

   詳細については、『[https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironment.html](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironment.html) API リファレンス*』の「AWS Proton CreateEnvironment*」を参照してください。

1. [サービステンプレートバージョンを作成して に登録](template-create.md)します AWS Proton。

   コンソールでテンプレートを作成して登録すると、テンプレートのバージョンが自動的に作成されます。

   を使用してテンプレート AWS CLI を作成および登録する場合:

   1. サービステンプレートを作成します。

   1. サービステンプレートのバージョンを作成します。

   詳細については、『*AWS Proton API リファレンス*』の「[CreateServiceTemplate](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateServiceTemplate.html)」と「[CreateServiceTemplateVersion](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateServiceTemplateVersion.html)」を参照してください。

1. [あなたのサービステンプレートをパブリッシュ](template-update.md)して使用可能にします。

   詳細については、『[AWS Proton API リファレンス](https://docs.aws.amazon.com/proton/latest/APIReference/API_UpdateServiceTemplateVersion.html)』の「*UpdateServiceTemplateVersion*」を参照してください。

1. [サービスを作成](ag-create-svc.md)するには、パブリッシュ済みサービステンプレートのバージョンを選択し、必要な値を入力します。

   詳細については、『*AWS Proton API リファレンス*』の「[CreateService](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateService.html)」を参照してください。

# の開始方法 AWS マネジメントコンソール
コンソールの開始方法

**の使用を開始する AWS Proton**
+ 環境テンプレートを作成して表示します。
+ 作成した環境テンプレートを使用するサービステンプレートを作成し、表示して、パブリッシュします。
+ 環境とサービスを作成します (オプション)。
+ サービステンプレート、環境テンプレート、環境、およびサービスを作成してあるた場合、それを削除します。

## ステップ 1: AWS Proton コンソールを開く

+ [AWS Proton コンソール](https://console.aws.amazon.com//proton/)を開きます。

## ステップ 2：例題テンプレートの使用準備を整える


1. Github までのコードスター接続情報を作成し、その接続情報に my-proton-connection という名前を付けます。

1. [https://github.com/aws-samples/aws-proton-cloudformation-sample-templates](https://github.com/aws-samples/aws-proton-cloudformation-sample-templates) に移動します。

1. あなたの Github アカウントにリポジトリのフォークを作成します。

## ステップ 3: 環境テンプレートを作成する


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

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

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

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

1. 「**テンプレート定義リポジトリ**」セクションで、「**リンクされている Git リポジトリを選択**」を選択します。

1. [**リポジトリリスト**] から [**my-proton-connection**] を選択します。

1. [**ブランチリスト**] から [**main**] を選択します。

1. [**Proton 環境テンプレートの詳細**] セクションで。

   1. テンプレート名として **fargate-env** を入力します。

   1. 環境テンプレート表示名として **My Fargate Environment** を入力します。

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

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

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

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

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

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

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

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

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

   新しいページに環境テンプレートのリストとテンプレートの詳細が表示されます。

## ステップ 4: サービステンプレートを作成する


**サービステンプレートを作成します。**

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

1. [**Service templates (サービステンプレート)**] ページで [**Create Service template (サービステンプレートを作成する)**] を選択します。

1. [**Create service template (サービステンプレートの作成)**] ページの [**Template bundle source (テンプレートバンドルソース)**] セクションで [**Sync a template bundle from Git (Gitからのテンプレートバンドルと同期)**] を選択します。

1. [**テンプレート**] セクションで、[**リンクされた Git リポジトリを選択**] を選択します。

1. [**リポジトリリスト**] から[**my-proton-connection**] を選択します。

1. [**ブランチリスト**] から [**main**] を選択します。

1. [**Proton サービステンプレートの詳細**] セクションで。

   1. サービステンプレート名として **backend-fargate-svc** を入力します。

   1. サービステンプレート表示名として **My Fargate Service** を入力します。

   1. (オプション) サービステンプレートの説明を入力します。

1. [**Compatible environment templates (互換性のある環境テンプレート)**] セクションで以下の操作をします。

   1. 環境テンプレート **My Fargate Environment** の左側にあるチェックボックスをオンにして、新しいサービステンプレートについて互換性のある環境テンプレートを選択します。

1. [**Encryption settings (暗号化設定)**] については、デフォルトのままにしておきます。

1. [**パイプライン定義**] セクションで。

   1. [**このテンプレートには CI/CD パイプラインが含まれています**] ボタンは選択したままにしておきます。

1. [**Create service template (サービステンプレートの作成)**] を選択します。

   これで、 やカスタマーマネージドタグのリストなど、新しいサービステンプレートのステータス AWS と詳細を表示する新しいページが表示されます。

1. 新しいサービステンプレートステータスのステータスは [**Draft (ドラフト)**] から始まります。アクセスできるのは管理者のみです。サービステンプレートを開発者が使用できるようにするには、次の手順に従います。

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

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

1. テンプレートのステータスが [**Published (パブリッシュ)**] に変わります。

   サービステンプレートの最初のマイナーバージョンがパブリッシュされ、そのテンプレートは開発者が使用できます。最新バージョンのテンプレートなので、これは [**Recommended (推奨)**] バージョンです。

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

   新しいページには、サービステンプレートと詳細のリストが表示されます。

## ステップ 5: 環境を作成する


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

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

1. [**Choose an environment template (環境テンプレートを選択する)**] ページで、先ほど作成したテンプレートを選択します。**My Fargate Environment** という名前が付いています。次いで、[**Configure (設定)**] を選択します。

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

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

1. [**Environment Settings (環境の設定)**] で環境名として「**my-fargate-environment**」を入力します。

1. **環境ロール**セクションで、**新しいサービスロール**を選択するか、 AWS Proton サービスロールを既に作成している場合は、**既存のサービスロール**を選択します。

   1. [**New service role (新しいサービスロール)**] を選択して新しいロールを作成します。

      1. [**Environment role name (環境ロール名)**] として **MyProtonServiceRole** を入力します。

      1. アカウントの管理者権限を持つ AWS Proton サービスロールを作成することに同意するには、チェックボックスをオンにします。

   1. [**Existing service role (既存のサービスロール)**] を選択して既存のロールを使用します。

      1. [**Environment role name (環境ロール名)**] ドロップダウンフィールドでロールを選択します。

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

1. [**Configure custom settings (カスタム設定の構成)**] ページで、デフォルト値を使用します。

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

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

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

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

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

## ステップ 6: オプション - サービスを作成してアプリケーションをデプロイする


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

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

1. [**Services (サービス)**] ページで [**Create service (サービスの作成)**] を選択します。

1. [**Choose a service template (サービステンプレートを選択する)**] ページでテンプレートカードの右上にあるラジオボタンを選択して **My Fargate Service** テンプレートを選択します。

1. ページの右下にある [**Configure (設定)**] を選択します。

1. [**Configure service (サービスを構成する)**] ページで [**Service settings (サービス設定)**] セクションにサービス名 **my-service** を入力します。

1. (オプション) サービスの説明を入力します。

1. 

**[**Service repository settings (サービスリポジトリ設定)**] セクションで、次のように操作します。**

   1. [**CodeStar connection (CodeStar 接続)**] でリストから接続を選択します。

   1. [**Repository name (リポジトリ名)**] でソースコードが含まれているリポジトリの名前を選択します。

   1. [**Branch name (ブランチ名)**] でソースコードが含まれているリポジトリの名前を選択します。

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

1. [****] (カスタム設定を構成する) ページで次の手順に従って、[**Service instance (サービスインスタンス)**] セクションの [**New instance (新しいインスタンス)**] セクションでサービスインスタンスパラメータのカスタム値を指定します。

   1. インスタンス名 **my-app-service** を入力します。

   1. サービスインスタンス用に環境 **my-fargate-environment** を選択します。

   1. 残りのインスタンスパラメータをデフォルトのままにします。

   1. [**Pipeline inputs (パイプライン入力)**] をデフォルトのままにします。

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

   1. [**Create (作成)**] を選択してサービスのステータスと詳細を表示します。

1. サービスの詳細ページで、[**Overview (概要)**] タブと [**Pipeline (パイプライン)**] タブを選択してサービスインスタンスとパイプラインのステータスを確認してください。これらのページでは、 AWS とカスタマーマネージドタグを表示することもできます。 は AWS マネージドタグ AWS Proton を自動的に作成します。[**Manage tags (タグの管理)**] を選択して、カスタマーマネージドタグを作成や変更します。タグ付けの詳細については、「[AWS Proton リソースとタグ付け](resources.md)」を参照してください。

1. サービスが [**Active (アクティブ)**] になったら、[**Overview (概要)**] タブの [**Service Instances (サービスインスタンス)**] セクションで、自分のサービスインスタンスの名前 **my-app-service** を選択します。

   サービスインスタンスの詳細ページが表示されます。

1. アプリケーションを表示するには、[**Output (出力)**] セクションで **ServiceEndpoint** リンクをブラウザにコピーします。

   ウェブページに AWS Proton グラフィックが表示されます。

1. サービスを作成したら、ナビゲーションペインで、[**Services (サービス)**] を選択してサービスのリストを表示します。

## ステップ 7: クリーンアップする。


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

1. 

**サービスを削除する (サービスを作成した場合)**

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

   1. [**Services (サービス)**] ページで、サービス名 **my-service** を選択します。

      画面は **my-service** のサービス詳細ページに移行します。

   1. ページの右上にある [**Actions (アクション)**] メニューで [**Delete (削除)**] を選択します。

   1. モーダルから Delete アクションの確認を求めるプロンプトが表示されます。

   1. 指示に従って操作し、[**Yes, delete (はい、削除します)**] を選択します。

1. 

**環境を削除する**

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

   1. [**Environments (環境)**] ページで、先ほど作成した環境の左側にあるラジオボタンを選択します。

   1. [**Actions (アクション)**] を選択してから [**Delete (削除)**] を選択します。

   1. モーダルから Delete アクションの確認を求めるプロンプトが表示されます。

   1. 指示に従って操作し、[**Yes, delete (はい、削除します)**] を選択します。

1. 

**サービステンプレートを削除する**

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

   1. [**Service templates (サービステンプレート)**] ページで、サービステンプレート **my-svc-template** の左側にあるラジオボタンを選択します。

   1. [**Actions (アクション)**] を選択してから [**Delete (削除)**] を選択します。

   1. モーダルから Delete アクションの確認を求めるプロンプトが表示されます。

   1. 指示に従って操作し、[**Yes, delete (はい、削除します)**] を選択します。これでサービステンプレートとそのすべてのバージョンが削除されます。

1. 

**環境テンプレートを削除する**

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

   1. [**Environment templates (環境テンプレート)**] ページで、環境テンプレート **my-env-template** の左側にあるラジオボタンを選択します。

   1. [**Actions (アクション)**] を選択してから [**Delete (削除)**] を選択します。

   1. モーダルから Delete アクションの確認を求めるプロンプトが表示されます。

   1. 指示に従って操作し、[**Yes, delete (はい、削除します)**] を選択します。これで環境テンプレートとそのすべてのバージョンが削除されます。

1. 

**あなたの Codestar 接続を削除します。**

# の開始方法 AWS CLI
CLI の開始

 AWS Proton の使用を開始するには AWS CLI、このチュートリアルに従います。このチュートリアルでは、 に基づくパブリック向け負荷分散 AWS Proton サービスを示します AWS Fargate。このチュートリアルでは、画像が表示された静的 Web サイトをデプロイする CI/CD パイプラインもプロビジョニングします。

始める前に、正しく設定されていることを確認してください。詳細については、「[前提条件](getting-started-prerequisites.md)」を参照してください。

## ステップ 1: 環境テンプレートを作成する
1. 環境テンプレートを登録する

このステップでは、管理者として、Amazon Elastic Container Service (Amazon ECS) クラスターと、2 つのパブリック/プライベートサブネットを持った Amazon Virtual Private Cloud (Amazon VPC) があるサンプル環境テンプレートを登録します。

**環境テンプレートを登録する**

1. [AWS Proton サンプル CloudFormation テンプレート](https://github.com/aws-samples/aws-proton-cloudformation-sample-templates/)リポジトリをあなたの GitHub アカウントまたは組織にフォークします。このリポジトリには、このチュートリアルで使用する環境テンプレートとサービステンプレートが含まれます。

   次に、フォークされたリポジトリを に登録します AWS Proton。詳細については、「[あなたのリポジトリのリンクを作成して登録する](ag-create-repo.md)」を参照してください。

1. 環境テンプレートを作成します。

   環境テンプレートリソースは環境テンプレートのバージョンを追跡します。

   ```
   $ aws proton create-environment-template \
     --name "fargate-env" \
     --display-name "Public VPC Fargate" \
     --description "VPC with public access and ECS cluster"
   ```

1. テンプレート同期設定を作成する。

   AWS Proton は、リポジトリと環境テンプレート間の同期関係を設定します。次に、`DRAFT` ステータスのテンプレートバージョン 1.0 を作成します。

   ```
   $ aws proton create-template-sync-config \
     --template-name "fargate-env" \
     --template-type "ENVIRONMENT" \
     --repository-name "your-forked-repo" \
     --repository-provider "GITHUB" \
     --branch "your-branch" \
     --subdirectory "environment-templates/fargate-env"
   ```

1. 環境テンプレートのバージョンが正常に登録されるまでお待ちください。

   このコマンドが `0` の終了ステータスで戻ると、バージョン登録は完了です。これはスクリプトで次のステップでコマンドを正常に実行できるようにするのに便利です。

   ```
   $ aws proton wait environment-template-version-registered \
     --template-name "fargate-env" \
     --major-version "1" \
     --minor-version "0"
   ```

1. 環境テンプレートをパブリッシュして環境作成で使用可能にします。

   ```
   $ aws proton update-environment-template-version \
     --template-name "fargate-env" \
     --major-version "1" \
     --minor-version "0" \
     --status "PUBLISHED"
   ```

## ステップ 2: サービステンプレートを登録する
2. サービステンプレートを登録する

このステップでは、あなたは管理者として、ロードバランサーと AWS CodePipelineを使用する CI/CD パイプラインの背後に Amazon ECS Fargate サービスをプロビジョニングするために必要なすべてのリソースを含むサンプルサービステンプレートを登録します。

**サービステンプレートを登録する**

1. サービステンプレートを作成します。

   サービステンプレートリソースは、サービステンプレートのバージョンを追跡します。

   ```
   $ aws proton create-service-template \
     --name "load-balanced-fargate-svc" \
     --display-name "Load balanced Fargate service" \
     --description "Fargate service with an application load balancer"
   ```

1. テンプレート同期設定を作成する。

   AWS Proton は、リポジトリとサービステンプレート間の同期関係を設定します。次に、`DRAFT` ステータスのテンプレートバージョン 1.0 を作成します。

   ```
   $ aws proton create-template-sync-config \
     --template-name "load-balanced-fargate-svc" \
     --template-type "SERVICE" \
     --repository-name "your-forked-repo" \
     --repository-provider "GITHUB" \
     --branch "your-branch" \
     --subdirectory "service-templates/load-balanced-fargate-svc"
   ```

1. サービステンプレートバージョンが正常に登録されるまでお待ちください。

   このコマンドが `0` の終了ステータスで戻ると、バージョン登録は完了です。これはスクリプトで次のステップでコマンドを正常に実行できるようにするのに便利です。

   ```
   $ aws proton wait service-template-version-registered \
     --template-name "load-balanced-fargate-svc" \
     --major-version "1" \
     --minor-version "0"
   ```

1. サービステンプレートをパブリッシュしてサービスの作成で使用可能にします。

   ```
   $ aws proton update-service-template-version \
     --template-name "load-balanced-fargate-svc" \
     --major-version "1" \
     --minor-version "0" \
     --status "PUBLISHED"
   ```

## ステップ 3: 環境をデプロイする
3. 環境をデプロイする

このステップでは、管理者は AWS Proton 環境テンプレートから環境をインスタンス化します。

**環境をデプロイするには**

1. 登録した環境テンプレートのサンプル仕様ファイルを入手してください。

   このファイル `environment-templates/fargate-env/spec/spec.yaml` は、テンプレートサンプルリポジトリからダウンロードできます。または、リポジトリ全体をローカルで取得し、その `environment-templates/fargate-env` ディレクトリから **create-environment** コマンドを実行することもできます。

1. 環境を作成します。

   AWS Proton は、環境仕様から入力値を読み取り、環境テンプレートと組み合わせ、 AWS Proton サービスロールを使用して AWS アカウント内の環境リソースをプロビジョニングします。

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

1. 環境が正常にデプロイされるまでお待ちください。

   ```
   $ aws proton wait environment-deployed --name "fargate-env-prod"
   ```

## ステップ 4: サービスをデプロイする [アプリケーション開発者]
4. サービスをデプロイします。

前のステップでは、管理者がサービステンプレートを登録してパブリッシュし、環境をデプロイしました。アプリケーション開発者として、 AWS Proton サービスを作成して AWS Proton 環境にデプロイできるようになりました。

**サービスをデプロイする**

1. 管理者が登録したサービステンプレートのサンプル仕様ファイルを入手してください。

   このファイル `service-templates/load-balanced-fargate-svc/spec/spec.yaml` はテンプレートサンプルリポジトリからダウンロードできます。または、リポジトリ全体をローカルで取得し、その `service-templates/load-balanced-fargate-svc` ディレクトリから **create-service** コマンドを実行することもできます。

1. [AWS Proton サンプルサービス](https://github.com/aws-samples/aws-proton-sample-services/)リポジトリをあなたの GitHub アカウントまたは組織にフォークします。このリポジトリには、このチュートリアルで使用するアプリケーションソースコードが含まれています。

1. サービスを作成します。

   AWS Proton は、サービス仕様から入力値を読み取り、サービステンプレートと組み合わせ、仕様で指定された環境のアカウント AWS でサービスリソースをプロビジョニングします。 AWS CodePipeline パイプラインは、 コマンドで指定したリポジトリからアプリケーションコードをデプロイします。

   ```
   $ aws proton create-service \
     --name "static-website" \
     --repository-connection-arn \
       "arn:aws:codestar-connections:us-east-1:123456789012:connection/your-codestar-connection-id" \
     --repository-id "your-GitHub-account/aws-proton-sample-services" \
     --branch-name "main" \
     --template-major-version 1 \
     --template-name "load-balanced-fargate-svc" \
     --spec "file://spec/spec.yaml"
   ```

1. サービスが停止するのを待ちます。

   ```
   $ aws proton wait service-created --name "static-website"
   ```

1. 出力を取得し、あなたの新しい Web サイトを表示します。

   次のコマンドを実行します。

   ```
   $ aws proton list-service-instance-outputs \
     --service-name "static-website" \
     --service-instance-name load-balanced-fargate-svc-prod
   ```

   コマンドの出力は、次のようになります。

   ```
   {
       "outputs": [
           {
               "key": "ServiceURL",
               "valueString": "http://your-service-endpoint.us-east-1.elb.amazonaws.com"
           }
       ]
   }
   ```

   `ServiceURL` インスタンス出力の値は、あなたの新しいサービス Web サイトのエンドポイントです。あなたのブラウザを使用してそのサイトに移動します。では、次のタイプのパラメータを使用できます。  
![\[CLI 手順を実行した結果のスタティックイメージサイトを表示する Web ブラウザ\]](http://docs.aws.amazon.com/ja_jp/proton/latest/userguide/images/getting-started-static-site.png)

## ステップ 5: クリーンアップする (オプション)
5. クリーンアップ

このステップでは、このチュートリアルの一部として作成した AWS リソースを調べ、これらのリソースに関連するコストを節約するために、リソースを削除します。

**チュートリアルのリソースを削除する**

1. サービスを消去するには、次のコマンドを実行します。

   ```
   $ aws proton delete-service --name "static-website"
   ```

1. 環境を削除するには、次のコマンドを実行します 。

   ```
   $ aws proton delete-environment --name "fargate-env-prod"
   ```

1. テンプレートを削除するには、次のコマンドを実行します。

   ```
   $ aws proton delete-template-sync-config \
     --template-name "load-balanced-fargate-svc" \
     --template-type "SERVICE"
   $ aws proton delete-service-template --name "load-balanced-fargate-svc"
   ```

1. 環境テンプレートを削除するには、次のコマンドを実行します。

   ```
   $ aws proton delete-template-sync-config \
     --template-name "fargate-env" \
     --template-type "ENVIRONMENT"
   $ aws proton delete-environment-template --name "fargate-env"
   ```

# AWS Proton テンプレートライブラリ
環境テンプレート

 AWS Proton チームは、GitHub でテンプレート例のライブラリを管理しています。このライブラリには、多くの一般的な環境およびアプリケーション・インフラストラクチャ・シナリオのためのコードとしてのinfrastructure as code (IaC)ファイルの例が含まれています。

テンプレートライブラリは次の 2 つの GitHub リポジトリに保存されています。
+ [aws-proton-cloudformation-sample-templates](https://github.com/aws-samples/aws-proton-cloudformation-sample-templates/) — *AWS CloudFormation* で Jinja を IaC 言語として使用するテンプレートバンドルの例。これらの例は[AWSマネージドプロビジョニング](ag-works-prov-methods.md#ag-works-prov-methods-direct)環境に使用できます。
+ [aws-proton-terraform-sample-templates](https://github.com/aws-samples/aws-proton-terraform-sample-templates/) — IaC 言語として *Terraform* を使用するテンプレートバンドルの例。これらの例は [セルフマネージド型のプロビジョニング](ag-works-prov-methods.md#ag-works-prov-methods-self) 環境に使用できます。

これらのリポジトリにはそれぞれ、リポジトリの内容と構造に関するすべての情報が記載された `README` ファイルがあります。それぞれの例には、テンプレートがカバーするユースケース、例のアーキテクチャ、テンプレートが取る入力パラメータに関する情報が含まれています。

ライブラリのリポジトリの 1 つを、あなたの GitHub アカウントにフォークすることで、このライブラリのテンプレートを直接使用できます。あるいは、これらの例をあなたの環境とサービステンプレートを開発するための出発点として使用することもできます。