

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

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

서비스 파이프라인은 서비스에 속합니다. 서비스 [생성](ag-create-svc.md) 및 [삭제](ag-svc-delete.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 참조*의 [CancelServicePipelineDeployment](https://docs.aws.amazon.com/proton/latest/APIReference/API_CancelServicePipelineDeployment.html)를 참조하세요.

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

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

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

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

1. 서비스 목록에서 파이프라인을 업데이트할 서비스의 이름을 선택합니다.

1. 서비스 세부정보 페이지에는 **개요** 및 **파이프라인**이라는 두 개의 탭이 있습니다. **파이프라인**을 선택합니다.

1. 사양을 업데이트하려면 **파이프라인 편집**을 선택하고 각 양식을 작성하고 최종 양식을 완료할 때까지 **다음**을 선택한 다음 **파이프라인 업데이트**를 선택합니다.

   새 버전으로 업데이트하고 **파이프라인 템플릿**에서 새 버전을 사용할 수 있음을 나타내는 **정보 아이콘**이 있는 경우 새 템플릿 버전의 이름을 선택합니다.

   1. **권장 버전으로 업데이트**를 선택합니다.

   1. 각 양식을 작성하고 최종 양식을 작성할 때까지 **다음** 을 선택하고 **업데이트** 를 선택합니다.

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

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

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

다음은 `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-pipeline \
    --service-name "simple-svc" \
    --spec "file://service-spec.yaml" \
    --template-major-version "1" \
    --template-minor-version "1" \
    --deployment-type "MINOR_VERSION"
```

응답:

```
{
    "pipeline": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\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": "0",
        "templateName": "svc-simple"
    }
}
```

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

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

응답:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
        "branchName": "main",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "lastModifiedAt": "2021-04-02T21:30:54.364000+00:00",
        "name": "simple-svc",
        "pipeline": {
            "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
            "createdAt": "2021-04-02T21:29:59.962000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
            "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
            "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: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
            "templateMajorVersion": "1",
            "templateMinorVersion": "1",
            "templateName": "svc-simple"
        },
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "repo-name/myorg-myapp",
        "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: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "status": "ACTIVE",
        "templateName": "svc-simple"
    }
}
```

------

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

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

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

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

1. 서비스 세부 정보 페이지에서 **파이프라인** 탭을 선택합니다.

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

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

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

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

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

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

명령: 취소

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

응답:

```
{
    "pipeline": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "CANCELLING",
        "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```

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

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

응답:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
        "branchName": "main",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "lastModifiedAt": "2021-04-02T21:30:54.364000+00:00",
        "name": "simple-svc",
        "pipeline": {
            "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
            "createdAt": "2021-04-02T21:29:59.962000+00:00",
            "deploymentStatus": "CANCELLED",
            "deploymentStatusMessage": "User initiated cancellation.",
            "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
            "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
            "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: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
            "templateMajorVersion": "1",
            "templateMinorVersion": "1",
            "templateName": "svc-simple"
        },
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "repo-name/myorg-myapp",
        "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: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "status": "ACTIVE",
        "templateName": "svc-simple"
    }
}
```

------