

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

 AWS Proton サービスに対して以下の編集を行うことができます。
+ サービスの説明を編集する
+ サービスインスタンスを追加や削除することでサービスを編集します。

## サービスの説明を編集する
<a name="ag-svc-metadata"></a>

コンソールまたは を使用して AWS CLI 、サービスの説明を編集できます。

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

**以下で説明する手順に従って、コンソールでサービスを編集します。**

**サービスのリストで次のように操作します。**

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

1. サービスの一覧で、更新したいサービスの左側にあるラジオボタンを選択します。

1. [**Edit**] (編集) を選択します。

1. [**Configure service (サービスを構成する)**] ページでフォームに値を入力して [**Next (次へ)**] を選択します。

1. [**Configure custom settings (カスタム設定の構成)**] ページで [**Next (次へ)**] を選択します。

1. 編集内容を見直して [**[Save changes (変更を保存)**] を選択します。

**サービスの詳細ページで、以下の操作をします。**

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

1. サービスの一覧で、編集したいサービスの名前を選択します。

1. サービスの詳細ページで [**Edit (編集)**] を選択します。

1. [**Configure service (サービスを構成する)**] ページでフォームに値を入力して [**Next (次へ)**] を選択します。

1. [**Configure custom settings (カスタム設定を構成する)**] ページでフォームに値を入力して [**Next (次へ)**] を選択します。

1. 編集内容を見直して [**Save changes (変更を保存)**] を選択します。

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

**次の CLI の例に示すように説明を編集します。**

コマンド:

```
$ aws proton update-service \
    --name "MySimpleService" \
    --description "Edit by updating description"
```

レスポンス:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
        "branchName": "main",
        "createdAt": "2021-03-12T22:39:42.318000+00:00",
        "description": "Edit by updating description",
        "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00",
        "name": "MySimpleService",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "my-repository/myorg-myapp",
        "status": "ACTIVE",
        "templateName": "fargate-service"
    }
}
```

------

## サービスインスタンスの追加や削除によってサービスを編集します。
<a name="ag-svc-update-instances"></a>

 AWS Proton サービスの場合は、編集した仕様を送信することで、サービスインスタンスを追加または削除できます。リクエストを成功させるためには、次の条件が満たされている必要があります。
+ 編集リクエストの送信時にサービスとパイプラインの編集や削除が行われていない。
+ 編集した仕様にサービスパイプラインや削除対象ではない既存のサービスインスタンスを変更する編集が行われて*いない*。
+ 編集した仕様で、コンポーネントがアタッチされている既存のサービスインスタンスが削除されていない。このようなサービスインスタンスを削除するには、まずコンポーネントを更新してサービスインスタンスからデタッチする必要があります。コンポーネントの詳細については、「[AWS Proton コンポーネント](ag-components.md)」を参照してください。

削除に失敗したインスタンスは、`DELETE_FAILED` 状態のサービスインすんタンスです。サービスの編集をリクエストすると、 は編集プロセスの一環として、削除に失敗したインスタンスを自動的に削除 AWS Proton しようとします。いずれかのサービスインスタンスの削除に失敗した場合、コンソールまたは AWS CLIに表示されなくても、インスタンスに関連付けられたリソースがまだ残っている可能性があります。削除に失敗したインスタンスインフラストラクチャリソースを確認し、 AWS Proton が自動的に削除できるようにクリーンアップします。

サービスのサービスインスタンスのクォータについては、「[AWS Proton クォータ](ag-limits.md)」を参照してください。また、サービスの作成後に 1 つ以上のサービスインスタンスを維持する必要があります。更新プロセス中に、 は既存のサービスインスタンスと追加または削除されるインスタンスの数 AWS Proton を作成します。削除に失敗したインスタンスもこの数に含まれるため、`spec` の編集時に考慮に入れる必要があります。

### コンソールまたは AWS CLI を使用して、サービスインスタンスを追加または削除します。
<a name="ag-svc-update-console-cli"></a>

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

**コンソールでサービスインスタンスを追加するか削除してサービスを編集します。**

[AWS Proton コンソール内](https://console.aws.amazon.com//proton/)

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

1. 編集するサービスを選択します。

1. **[Edit (編集)]** を選択します。

1. (オプション) [**Configure service (サービスを構成する)**] ページで、サービス名または説明を編集して、ページの右下にある [**Next (次へ)**] を選択します。

1. [**Configure custom settings (カスタム設定の構成)**] ページで [**Delete (削除)**] を選択してサービスインスタンスを削除し、[**Add new instance (新しいインスタンスを追加)**] を選択してサービスインスタンスを追加し、フォームに値を入力します。

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

1. 更新内容を確認して [**Save changes (変更を保存)**] を選択します。

1. モーダルがサービスインスタンスの削除の確認を求めるメッセージを表示します。指示に従って操作し、**[Yes, delete (はい、削除します)]** を選択します。

1. サービスの詳細ページに表示されるサービスのステータスを確認します。

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

**次のコマンドとレスポンス AWS CLI の例`spec`に示すように、 を編集してサービスインスタンスを追加および削除します。**

CLI を使用する場合、`spec` で削除するサービスインスタンスを*除外*し、追加するサービスインスタンスと削除マークを付けて*いない*既存のサービスインスタンスの両方を*含める*必要があります。

以下のリストは、編集前の `spec` と仕様によってデプロイされるサービスインスタンスのリストの例を示します。この仕様は、サービスの説明を編集するために前の例で使用されたものです。

仕様:

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "abc"
  my_sample_pipeline_required_input: "123"

instances:
  - name: "my-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_optional_input: "def"
      my_sample_service_instance_required_input: "456"
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

次の CLI `list-service-instances` コマンドとレスポンスの例は、サービスインスタンスを追加または削除する前にアクティブなインスタンスを表示します。

コマンド:

```
$ aws proton list-service-instances \
    --service-name "MySimpleService"
```

レスポンス:

```
{
    "serviceInstances": [
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00",
            "name": "my-other-instance",
            "serviceName": "example-svc",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        },
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.160000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:39:43.160000+00:00",
            "name": "my-instance",
            "serviceName": "example-svc",
            "serviceTemplateArn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        }
    ]
}
```

次のリストは、インスタンスの削除や追加に編集した `spec` を使用する例を示します。`my-instance` という名前の既存のインスタンスが削除され、`yet-another-instance` という名前の新しいインスタンスが作成されます。

仕様:

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "abc"
  my_sample_pipeline_required_input: "123"

instances:
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
  - name: "yet-another-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

`"${Proton::CURRENT_VAL}"` を使用すると、`spec` に値が存在する場合に元の `spec` を保持するパラメータ値を指定できます。[サービスデータを表示する](ag-svc-view.md) で説明するように、`get-service` を使用してサービスの元の `spec` を表示します。

以下のリストは、`spec` で既存のサービスインスタンスを確実に残すようにパラメータ値の変更を*含めない*で `"${Proton::CURRENT_VAL}"` を使用する方法を示します。

仕様:

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}"
  my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}"

instances:
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}"
  - name: "yet-another-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

以下に示すのは、サービスを編集するための CLI コマンドとリクエストの一覧です。

コマンド:

```
$ aws proton update-service 
    --name "MySimpleService" \
    --description "Edit by adding and deleting a service instance" \
    --spec "file://spec.yaml"
```

レスポンス:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
        "branchName": "main",
        "createdAt": "2021-03-12T22:39:42.318000+00:00",
        "description": "Edit by adding and deleting a service instance",
        "lastModifiedAt": "2021-03-12T22:55:48.169000+00:00",
        "name": "MySimpleService",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "my-repository/myorg-myapp",
        "status": "UPDATE_IN_PROGRESS",
        "templateName": "fargate-service"
    }
}
```

次の `list-service-instances` コマンドとレスポンスは、`my-instance` という名前の既存のインスタンスが削除され、`yet-another-instance` という名前の新しいインスタンスが作成されたことを確認します。

コマンド:

```
$ aws proton list-service-instances \
    --service-name "MySimpleService"
```

レスポンス:

```
{
    "serviceInstances": [
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/yet-another-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:56:01.565000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:56:01.565000+00:00",
            "name": "yet-another-instance",
            "serviceName": "MySimpleService",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        },
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00",
            "name": "my-other-instance",
            "serviceName": "MySimpleService",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        }
    ]
}
```

------

### サービスインスタンスを追加または削除した場合
<a name="ag-svc-add-delete"></a>

サービス編集を送信してサービスインスタンスを削除および追加すると、 AWS Proton は次のアクションを実行します。
+ サービスを `UPDATE_IN_PROGRESS` に設定します。
+ サービスにパイプラインがある場合、そのステータスを `IN_PROGRESS` に設定してパイプラインアクションをブロックします。
+ 削除したいサービスインスタンスを `DELETE_IN_PROGRESS` に設定します。
+ サービスアクションをブロックします。
+ 削除対象のマークが付いたサービスインスタンスに対するアクションをブロックします。
+ 新しいサービスインスタンスを作成します。
+ 削除対象のリストにあるインスタンスを削除します。
+ 削除に失敗したインスタンスの削除を試みます。
+ 追加と削除が完了したら、サービスパイプライン (存在する場合) を再プロビジョニングし、サービスを `ACTIVE` に設定してサービスとパイプラインのアクションを有効にします。

AWS Proton は、次のように障害モードを修復しようとします。
+ 1 つ以上のサービスインスタンス*の作成に失敗した場合*、 は新しく作成されたすべてのサービスインスタンスのプロビジョニングを解除 AWS Proton しようとし、 `spec`を以前の状態に戻します。どのサービスインスタンスも削除*されず、*パイプラインはいかなる修正も*されません*。
+ 1 つ以上のサービスインスタンス*を削除できなかった場合*、 は削除されたインスタンスなしでパイプライン AWS Proton を再プロビジョニングします。`spec` は、追加されたインスタンスを含め、削除マークの付いたインスタンスを除外するように更新されます。
+ *パイプラインのプロビジョニングに失敗した*場合、ロールバックの試みは*なされず*、サービスとパイプラインの両方が失敗した更新状態を反映します。

### タグ付けとサービスの編集
<a name="ag-svc-update-tagging"></a>

サービス編集の一部としてサービスインスタンスを追加すると、 AWS マネージドタグが に伝播され、新しいインスタンスとプロビジョニングされたリソースに対して自動的に作成されます。新しいタグを作成すると、それらのタグは新しいインスタンスにのみ適用されます。既存のサービスカスタマーマネージドタグも新しいインスタンスに伝播します。詳細については、「[AWS Proton リソースとタグ付け](resources.md)」を参照してください。