

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

開発者として を使用してアプリケーションをデプロイするには AWS Proton、サービスを作成し、次の入力を指定します。

1. プラットフォームチームが発行する AWS Proton サービステンプレートの名前。

1. サービスの名前。

1. デプロイする必要があるサービスインスタンスの数。

1. 使用したい環境の選択。

1. サービスパイプラインを含むサービステンプレートを使用している場合、コードリポジトリへの接続 (オプション)。

## サービスには何が含まれていますか?
<a name="ag-create-svc.info"></a>

 AWS Proton サービスを作成するときは、2 つの異なるタイプのサービステンプレートから選択できます。
+ サービスパイプラインを含むサービステンプレート (デフォルト)。
+ サービスパイプラインを*含まない*サービステンプレート (デフォルト)。

サービスを作成する際には 1 つのサービスインスタンスを作成する必要があります。

サービスインスタンスとオプションのパイプラインはサービスに関連付けられています。パイプラインインスタンスを作成または削除できるのは、サービスの*作成*および*削除*アクションのコンテキスト内のみに限られます。サービスからインスタンスを追加および削除する方法については、「[サービスを編集する](ag-svc-update.md)」を参照してください。

**注記**  
環境は、環境で使用するのと同じプロビジョニング方法を使用して、環境内の AWS Proton サービス AWSまたはセルフマネージドプロビジョニング用に設定されています。サービスインスタンスの作成や更新をする開発者は設定の違いを認識できず、どちらの場合も行うことは同じです。  
プロビジョニング方法については、「[がインフラストラクチャを AWS Proton プロビジョニングする方法](ag-works-prov-methods.md)」を参照してください。

## サービステンプレート
<a name="ag-create-svc.templates"></a>

サービステンプレートのメジャーバージョンとマイナーバージョンの両方を使用できます。コンソールを使用する際には、サービステンプレートの最新の `Recommended` メジャーバージョンとマイナーバージョンを選択します。を使用し AWS CLI 、サービステンプレートのメジャーバージョンのみを指定する場合は、最新の`Recommended`マイナーバージョンを暗黙的に指定します。

以下では、メジャーとマイナーのテンプレートバージョンの違いと、その使用方法について説明します。
+ テンプレートの新しいバージョンは、プラットフォームチームのメンバーによって承認されるとすぐに `Recommended` になります。つまり、そのバージョンを使用して新しいサービスが作成され、既存のサービスを新しいバージョンに更新するように求められます。
+ を通じて AWS Proton、プラットフォームチームはサービスインスタンスを新しいマイナーバージョンのサービステンプレートに自動的に更新できます。マイナーバージョンは下位互換でなければなりません。
+ メジャーバージョンでは、更新プロセスの一環として新しい入力を提供する必要があるので、サービスをそのサービステンプレートのメジャーバージョンに更新する必要があります。メジャーバージョンは下位互換では*ありません*。

## [Create a service (サービスを作成)]
<a name="ag-create-svc.procedure"></a>

次の手順は、 AWS Proton コンソールまたは を使用して AWS CLI 、サービスパイプラインの有無にかかわらずサービスを作成する方法を示しています。

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

**以下の手順に示すように、コンソールで標準サービスを作成します。**

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

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

1. [**Choose a service template (サービステンプレートを選択する)**] ページでテンプレートを選択して [**Configure (設定する)**] を選択します。

   有効化したパイプラインを使用したく*ない*場合、サービスについて [*Excludes pipeline (パイプラインを除外)*] のマークが付いたテンプレートを選択します。

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

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

1. 

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

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

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

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

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

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

1. [**Configure custom settings (カスタム設定の構成)**] ページの [**Service instaces (サービスインスタンス)**] セクションで [**New instance (新しいインスタンス)**] を選択します。`required` パラメータの値を入力する必要があります。`optional` パラメータの値を入力するか、表示されるデフォルト値を使用します。

1. [**Pipeline inputs (パイプライン入力)**] セクションで `required` パラメータの値を入力する必要があります。`optional` パラメータの値を入力するか、表示されるデフォルト値を使用します。

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

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

   サービスの詳細とステータス、サービスの AWS マネージドタグとカスタマーマネージドタグを表示します。

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

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

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

を使用する場合は AWS CLI、ソースコードディレクトリにある YAML 形式の`spec`ファイル `.aws-proton/service.yaml`でサービス入力を指定します。

CLI で `get-service-template-minor-version` コマンドを使用して、仕様ファイル内で値を指定するスキーマの必須パラメータとオプションパラメータを表示します。

`pipelineProvisioning: "CUSTOMER_MANAGED"` を含むサービステンプレートを使用する場合、仕様に `pipeline:` セクションを*含めない*ことと `create-service` コマンドに `-repository-connection-arn`、`-repository-id`、および `-branch-name` パラメータを*含めない*ことが条件です。

**次の手順に示すように、CLI でサービスパイプライン付きのサービスを作成します。**

1. **次の CLI コマンドの例に示すように、パイプラインの[サービスロール](security_iam_service-role-policy-examples.md#codepipeline-proton-svc-role)をセットアップします。**

   コマンド:

   ```
   $ aws proton update-account-settings \
           --pipeline-service-role-arn "arn:aws:iam::{{123456789012}}:role/{{AWS ProtonServiceRole}}"
   ```

1. 以下のリストは、サービステンプレートスキーマに基づいて、サービスパイプラインとインスタンスの入力を含めた仕様の例を示しています。

   仕様:

   ```
   proton: ServiceSpec
   
   pipeline:
     my_sample_pipeline_required_input: "hello"
     my_sample_pipeline_optional_input: "bye"
   
   instances:
     - name: "acme-network-dev"
       environment: "ENV_NAME"
       spec:
         my_sample_service_instance_required_input: "hi"
         my_sample_service_instance_optional_input: "ho"
   ```

   **次の CLI コマンドとレスポンスの例に示すように、パイプライン付きでサービスを作成します。**

   コマンド:

   ```
   $ aws proton create-service \
           --name "{{MySimpleService}}" \
           --branch-name "{{mainline}}" \
           --template-major-version "{{1}}" \
           --template-name "{{fargate-service}}" \
           --repository-connection-arn "arn:aws:codestar-connections:{{region-id}}:{{123456789012}}:connection/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}" \
           --repository-id "{{myorg/myapp}}" \
           --spec "{{file://spec.yaml}}"
   ```

   レスポンス:

   ```
   {
       "service": {
           "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
           "createdAt": "2020-11-18T19:50:27.460000+00:00",
           "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
           "name": "MySimpleService",
           "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
           "repositoryId": "myorg/myapp",
           "status": "CREATE_IN_PROGRESS",
           "templateName": "fargate-service"
       }
   }
   ```

**次の CLI コマンドとレスポンスの例に示すように、サービスパイプラインなしでサービスを作成します。**

以下に示すのは、サービスパイプライン入力を*含めない*仕様の例です。

仕様:

```
proton: ServiceSpec

instances:
  - name: "acme-network-dev"
    environment: "ENV_NAME"
    spec:
      my_sample_service_instance_required_input: "hi"
      my_sample_service_instance_optional_input: "ho"
```

**プロビジョニングされたサービスパイプライン*なし*でサービスを作成するには、次の CLI コマンドとレスポンスの例に示すように、`spec.yaml` へのパスを指定し、かつリポジトリパラメータを*含めない*ことです。**

コマンド:

```
$ aws proton create-service \
        --name "{{MySimpleServiceNoPipeline}}" \
        --template-major-version "{{1}}" \
        --template-name "{{fargate-service}}" \
        --spec "{{file://spec-no-pipeline.yaml}}"
```

レスポンス:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline",
        "createdAt": "2020-11-18T19:50:27.460000+00:00",
        "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
        "name": "MySimpleServiceNoPipeline",
        "status": "CREATE_IN_PROGRESS",
        "templateName": "fargate-service-no-pipeline"
    }
}
```

------