

지원 종료 알림: 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-instance-update"></a>

 AWS Proton 서비스 인스턴스를 업데이트하고 업데이트를 취소하는 방법을 알아봅니다.

서비스 인스턴스는 서비스에 속합니다. 서비스 [편집](ag-svc-update.md), [생성](ag-create-svc.md) 및 [삭제](ag-svc-delete.md) 작업의 컨텍스트 내에서만 인스턴스를 생성하거나 삭제할 수 있습니다. 서비스에 인스턴스 추가 및 제거 방법에 대해 알아보려면 [서비스 편집](ag-svc-update.md)을 참조하세요.

다음 목록에 설명된 대로 서비스 인스턴스를 업데이트하는 데는 네 가지 모드가 있습니다. 를 사용할 때 AWS CLI`deployment-type` 필드는 모드를 정의합니다. 콘솔을 사용할 때 이러한 모드는 서비스 인스턴스 세부 정보 페이지의 **작업**에서 드롭다운되는 **편집** 및 **최신 마이너 버전** 및 **최신 메이저 버전으로 업데이트** 작업에 매핑됩니다.

  
`NONE`  
이 모드에서는 배포가 이루어지지 *않습니다*. 요청된 메타데이터 파라미터만 업데이트됩니다.

  
`CURRENT_VERSION`  
이 모드에서는 서비스 인스턴스가 배포되고 사용자가 제공한 새 사양으로 업데이트됩니다. 요청된 파라미터만 업데이트됩니다. 이 `deployment-type`을 사용할 때 마이너 버전 또는 메이저 버전 파라미터를 포함하지 *마십시오*.

  
`MINOR_VERSION`  
이 모드에서는 서비스 인스턴스가 기본적으로 현재 사용 중인 메이저 버전의 게시된, 권장되는 최신 마이너 버전으로 배포 및 업데이트됩니다. 현재 사용 중인 메이저 버전과 다른 마이너 버전을 지정할 수도 있습니다.

  
`MAJOR_VERSION`  
이 모드에서는 기본적으로 현재 템플릿의 게시된 권장(최신) 메이저 버전 및 마이너 버전으로 서비스 인스턴스가 배포 및 업데이트됩니다. 사용 중인 메이저 버전보다 상위의 다른 메이저 버전과 마이너 버전을 지정할 수도 있습니다(선택 사항).

`deploymentStatus`가 배포 취소를 시도하는 경우 서비스 인스턴스 업데이트 배포 취소`IN_PROGRESS` AWS Proton 를 시도할 수 있습니다. 취소 성공은 보장되지 *않습니다*.

업데이트 배포를 취소하면는 다음 단계에 나열된 대로 배포 취소를 AWS Proton 시도합니다.
+ 배포 상태를 `CANCELLING`로 설정합니다.
+ `IN_PROGRESS`인 경우 진행 중인 배포를 중지하고 배포에 의해 생성된 모든 새 리소스를 삭제합니다.
+ 배포 상태를 `CANCELLED`로 설정합니다.
+ 리소스 상태를 배포가 시작되기 전의 상태로 되돌립니다.

서비스 인스턴스 배포를 취소하는 방법에 대한 자세한 내용은 *AWS Proton API 참조*에서 [CancelServiceInstanceDeployment](https://docs.aws.amazon.com/proton/latest/APIReference/API_CancelServiceInstanceDeployment.html)를 참조하세요.

**콘솔 또는를 사용하여 업데이트를 AWS CLI 수행하거나 업데이트 배포를 취소합니다.**

------
#### [ AWS Management Console ]

**다음 단계에 따라 콘솔을 사용하여 서비스 인스턴스를 업데이트합니다.**

1. [AWS Proton 콘솔](https://console.aws.amazon.com//proton/)로 돌아가 탐색 창에서 **서비스 인스턴스**를 선택합니다.

1. 서비스 인스턴스 목록에서 업데이트하려는 서비스 인스턴스의 이름을 선택합니다.

1. **작업**을 선택한 다음 업데이트 옵션 중 하나를 선택하고, 사양이나 **작업**을 업데이트하려면 **편집**을 선택한 다음 **최신 마이너 버전으로 업데이트** 또는 **최신 메이저 버전으로 업데이트**를 선택합니다.

1. 양식을 작성하고 **검토** 페이지가 표시될 때까지 **다음**을 선택합니다.

1. 편집 내용을 검토하고 **업데이트**를 선택합니다.

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

**CLI 예제 명령 및 응답에 표시된 대로 서비스 인스턴스를 새 마이너 버전으로 업데이트합니다.**

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

다음은 `spec`에서 `"${Proton::CURRENT_VAL}"`를 사용하는 방법을 나타낸 예시입니다.

Spec:

```
proton: ServiceSpec

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

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

명령: 업데이트

```
$ aws proton update-service-instance \
    --name "instance-one" \
    --service-name "simple-svc" \
    --spec "file://service-spec.yaml" \
    --template-major-version "1" \
    --template-minor-version "1" \
    --deployment-type "MINOR_VERSION"
```

응답:

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "environmentName": "arn:aws:proton:region-id:123456789012:environment/simple-env",
        "lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "templateMajorVersion": "1",
        "templateMinorVersion": "0",
        "templateName": "svc-simple"
    }
}
```

명령: 상태 가져오기 및 확인

```
$ aws proton get-service-instance \
    --name "instance-one" \
    --service-name "simple-svc"
```

응답:

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "SUCCEEDED",
        "environmentName": "simple-env",
        "lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"instance-one\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"kls-simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```

------

------
#### [ AWS Management Console ]

**다음 단계에 표시된 대로 콘솔을 사용하여 서비스 인스턴스 배포를 취소합니다.**

1. [AWS Proton 콘솔](https://console.aws.amazon.com//proton/)로 돌아가 탐색 창에서 **서비스 인스턴스**를 선택합니다.

1. 서비스 인스턴스 목록에서 취소하려는 배포 업데이트가 있는 서비스 인스턴스의 이름을 선택합니다.

1. 업데이트 배포 상태가 **진행 중**이면 서비스 인스턴스 세부 정보 페이지에서 **작업**을 선택한 다음 **배포 취소**를 선택합니다.

1. 취소 확인을 요청하는 모달이 표시됩니다. **배포 취소**를 선택합니다.

1. 업데이트 배포 상태가 **취소 중**으로 설정된 다음 취소가 완료되면 **취소됨**으로 설정됩니다.

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

**다음 CLI 예제 명령 및 응답에 표시된 대로 새로운 마이너 버전 2로 IN\$1PROGRESS 서비스 인스턴스 배포 업데이트를 취소합니다.**

이 예제에 사용된 템플릿에는 업데이트 배포가 성공하기 전에 취소가 시작되도록 대기 조건이 포함되어 있습니다.

명령: 취소

```
$ aws proton cancel-service-instance-deployment \
    --service-instance-name "instance-one" \
    --service-name "simple-svc"
```

응답:

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "CANCELLING",
        "environmentName": "simple-env",
        "lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "spec": "proton: ServiceSpec\npipeline:\n  my_sample_pipeline_optional_input: abc\n  my_sample_pipeline_required_input: '123'\ninstances:\n- name: my-instance\n  environment: MySimpleEnv\n  spec:\n    my_sample_service_instance_optional_input: def\n    my_sample_service_instance_required_input: '456'\n- name: my-other-instance\n  environment: MySimpleEnv\n  spec:\n    my_sample_service_instance_required_input: '789'\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```

명령: 상태 가져오기 및 확인

```
$ aws proton get-service-instance \
    --name "instance-one" \
    --service-name "simple-svc"
```

응답:

```
{
    "serviceInstance": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "CANCELLED",
        "deploymentStatusMessage": "User initiated cancellation.",
        "environmentName": "simple-env",
        "lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00",
        "name": "instance-one",
        "serviceName": "simple-svc",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"instance-one\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"kls-simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```

------