

지원 종료 알림: 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 Management Console ]

**다음 단계에 설명된 대로 콘솔을 사용하여 서비스를 편집합니다.**

**서비스 목록에서.**

1. [AWS Proton 콘솔](https://console.aws.amazon.com//proton/)에서 **서비스**를 선택합니다.

1. 서비스 목록에서 업데이트하려는 서비스 왼쪽에 있는 라디오 버튼을 선택합니다.

1. **편집**을 선택합니다.

1. **서비스 구성** 페이지에서 양식을 작성하고 **다음**을 선택합니다.

1. **사용자 지정 설정 구성** 페이지에서 **다음**을 선택합니다.

1. 편집 내용을 검토하고 **변경 사항 저장**을 선택합니다.

**서비스 세부 정보 페이지에서.**

1. [AWS Proton 콘솔](https://console.aws.amazon.com//proton/)에서 **서비스**를 선택합니다.

1. 서비스 목록에서 수정하려는 서비스의 이름을 선택합니다.

1. 서비스 세부 정보 페이지에서 **편집**을 선택합니다.

1. **서비스 구성** 페이지에서 양식을 작성하고 **다음**을 선택합니다.

1. **사용자 지정 설정** 페이지에서 양식을 작성하고 **다음**을 선택합니다.

1. 편집 내용을 검토하고 **변경 사항 저장**을 선택합니다.

------
#### [ 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 Management Console ]

**콘솔을 사용하여 서비스 인스턴스를 추가하거나 제거하려면 서비스를 편집합니다.**

[AWS Proton 콘솔](https://console.aws.amazon.com//proton/)에서

1. 탐색 창에서 **서비스**를 선택합니다.

1. 편집할 서비스를 선택합니다.

1. **편집**을 선택합니다.

1. (선택 사항) **서비스 구성** 페이지에서 서비스 이름 또는 설명을 편집한 후 **다음**을 선택합니다.

1. **사용자 지정 설정 구성** 페이지에서 **삭제**를 선택하여 서비스 인스턴스를 삭제하고 **새 인스턴스 추가**를 선택하여 서비스 인스턴스를 추가하고 양식을 작성합니다.

1. **다음**을 선택합니다.

1. 업데이트를 검토하고 **변경 사항 저장**을 선택합니다.

1. 서비스 인스턴스 삭제를 확인하라는 모달이 표시됩니다. 지침을 따르고 **예, 삭제**를 선택합니다.

1. 서비스 세부 정보 페이지에서 서비스의 상태 세부 정보를 확인합니다.

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

**다음 AWS CLI 예제 명령 및 응답과 `spec` 같이가 편집된 서비스 인스턴스를 추가하고 삭제합니다.**

CLI를 사용할 때는 `spec`이 삭제할 서비스 인스턴스를 *제외*하고 추가할 서비스 인스턴스와 삭제 대상으로 표시하지 *않은* 기존 서비스 인스턴스를 모두 *포함*해야 합니다.

다음 목록은 편집 전 예제 `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`가 추가됩니다.

Spec:

```
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"
```

값이 `spec` 에 있는 경우 `"${Proton::CURRENT_VAL}"`을 원본 `spec`에서 보존할 파라미터 값을 지정하는 데 사용할 수 있습니다. [서비스 데이터 보기](ag-svc-view.md)에 설명된 대로 서비스의 원본 `spec`을 보는 데 `get-service`을 사용합니다.

다음 목록은 `"${Proton::CURRENT_VAL}"`을 사용하여 기존 서비스 인스턴스가 유지되도록 `spec`이 파라미터 값 변경 사항을 포함하지 *않도록* 하는 방법을 보여줍니다.

Spec:

```
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 는 다음과 같이 실패 모드를 해결하려고 시도합니다.
+ 하나 이상의 서비스 인스턴스*를 생성하지 못한 경우*는 새로 생성된 모든 서비스 인스턴스의 프로비저닝을 해제 AWS Proton 하고 `spec`를 이전 상태로 되돌립니다. 서비스 인스턴스는 삭제되지 *않으며* 파이프라인을 어떤 식으로든 수정하지 *않습니다*.
+ 하나 이상의 서비스 인스턴스*를 삭제하지 못한* 경우는 삭제된 인스턴스 없이 파이프라인을 AWS Proton 다시 프로비저닝합니다. `spec`은 추가된 인스턴스를 포함하고 삭제 대상으로 표시된 인스턴스는 제외하도록 업데이트되었습니다.
+ *파이프라인 프로비저닝에 실패*할 경우 롤백은 시도되지 *않으며* 서비스와 파이프라인 모두 실패한 업데이트 상태를 반영합니다.

### 태깅 및 서비스 편집
<a name="ag-svc-update-tagging"></a>

서비스 편집의 일부로 서비스 인스턴스를 추가하면 AWS 관리형 태그가에 전파되고 새 인스턴스 및 프로비저닝된 리소스에 대해 자동으로 생성됩니다. 새 태그를 만들면 해당 태그는 새 인스턴스에만 적용됩니다. 기존 서비스 고객 관리형 태그도 새 인스턴스에 전파됩니다. 자세한 내용은 [AWS Proton 리소스 및 태그 지정](resources.md) 단원을 참조하세요.