

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Jeda kait untuk penerapan layanan Amazon ECS
<a name="pause-lifecycle-hooks"></a>

Jeda kait menjeda penerapan layanan Amazon ECS pada tahap siklus hidup tertentu dan menunggu Anda menelepon sebelum penerapan dilanjutkan. `ContinueServiceDeployment` Gunakan kait jeda saat Anda memerlukan persetujuan manual atau validasi eksternal sebelum penerapan berlanjut.

## Cara kerja kait jeda
<a name="pause-hooks-how-they-work"></a>

Saat penerapan mencapai tahap siklus hidup yang memiliki kait jeda yang dikonfigurasi, hal berikut akan terjadi:

1. Amazon ECS menghasilkan yang unik `hookId` untuk kait jeda.

1. Amazon ECS memancarkan EventBridge acara dengan tipe detail `ECS Hook State Change` dan nama acara. `HOOK_AWAITING_ACTION`

1. Penerapan tetap dijeda hingga Anda memanggil `ContinueServiceDeployment` dengan `hookId` dan tindakan `CONTINUE` atau`ROLLBACK`, atau hingga batas waktu yang dikonfigurasi tercapai.

Anda dapat mengambil `hookId` dengan menelepon`DescribeServiceDeployments`. Responsnya mencakup `lifecycleHookDetails` array dengan status hook:

```
{
    "serviceDeployments": [
        {
            "lifecycleHookDetails": [
                {
                    "hookId": "ecs-pause-e7tK9G_WRJqNF_EOMjztDXfKenlJuEUVjsNStf4WLKw",
                    "targetType": "PAUSE",
                    "status": "AWAITING_ACTION",
                    "expiresAt": "2024-01-15T12:00:00Z",
                    "timeoutAction": "ROLLBACK"
                }
            ]
        }
    ]
}
```

## Mengkonfigurasi kait jeda
<a name="pause-hooks-configuring"></a>

Contoh berikut menunjukkan konfigurasi hook jeda dalam definisi layanan yang menjeda penerapan setelah pergeseran lalu lintas pengujian selesai:

```
{
    "deploymentConfiguration": {
        "strategy": "BLUE_GREEN",
        "lifecycleHooks": [
            {
                "targetType": "PAUSE",
                "lifecycleStages": [
                    "POST_TEST_TRAFFIC_SHIFT"
                ],
                "timeoutConfiguration": {
                    "timeoutInMinutes": 10,
                    "action": "ROLLBACK"
                }
            }
        ]
    }
}
```

### Bidang konfigurasi
<a name="pause-hooks-configuration-fields"></a>


| Bidang | Deskripsi | Nilai valid | Diperlukan | 
| --- | --- | --- | --- | 
| targetType | Jenis kait. Harus PAUSE untuk jeda kait. | PAUSE | Ya | 
| lifecycleStages | Tahapan siklus hidup di mana penerapan berhenti. | RECONCILE\_SERVICE, PRE\_SCALE\_UP, POST\_SCALE\_UP, POST\_TEST\_TRAFFIC\_SHIFT, PRE\_PRODUCTION\_TRAFFIC\_SHIFT, POST\_PRODUCTION\_TRAFFIC\_SHIFT | Ya | 
| timeoutConfiguration.timeoutInMinutes | Berapa lama menunggu sebelum mengambil tindakan batas waktu. Default: 1.440 menit (24 jam). | 1 - 20.160 (14 hari) | Tidak | 
| timeoutConfiguration.action | Tindakan yang harus diambil jika batas waktu berakhir. | ROLLBACK (default), CONTINUE | Tidak | 

## Batasan
<a name="pause-hooks-constraints"></a>
+ Anda dapat mengonfigurasi maksimum 10 kait jeda dan 10 kait Lambda per layanan.
+ Jeda kait tidak digunakan `hookTargetArn` atau. `roleArn` Bidang ini hanya untuk kait Lambda.
+ Jeda kait tidak dapat dikonfigurasi pada tahap `TEST_TRAFFIC_SHIFT` atau`PRODUCTION_TRAFFIC_SHIFT`.

## Melanjutkan penyebaran yang dijeda
<a name="pause-hooks-continuing"></a>

Saat penerapan dijeda (status kait jeda`AWAITING_ACTION`), panggil `ContinueServiceDeployment` dengan `hookId` dan tindakan yang ingin Anda ambil.

Untuk melanjutkan penerapan:

```
aws ecs continue-service-deployment \
    --hook-id ecs-pause-e7tK9G_WRJqNF_EOMjztDXfKenlJuEUVjsNStf4WLKw \
    --action CONTINUE
```

Untuk memutar kembali penerapan:

```
aws ecs continue-service-deployment \
    --hook-id ecs-pause-e7tK9G_WRJqNF_EOMjztDXfKenlJuEUVjsNStf4WLKw \
    --action ROLLBACK
```

Untuk informasi selengkapnya, lihat [Penerapan layanan berkelanjutan](continue-service-deployment.md).

## Beberapa kait pada tahap yang sama
<a name="pause-hooks-multiple-at-same-stage"></a>

Ketika beberapa kait dikonfigurasi pada tahap siklus hidup yang sama, penerapan tetap dijeda hingga semua kait pada tahap tersebut dilanjutkan. Jika ada kait yang memicu rollback, seluruh penyebaran berputar kembali terlepas dari status kait lain pada tahap itu.

Perilaku ini berlaku ketika kait Lambda dan kait jeda dikonfigurasi pada tahap siklus hidup yang sama. Penerapan berlangsung hanya ketika semua kait pada tahap itu telah selesai dengan sukses atau dilanjutkan.

Semua kait yang dikonfigurasi pada tahap siklus hidup yang sama berjalan secara paralel.

## Perilaku waktu habis
<a name="pause-hooks-timeout"></a>

Jika Anda tidak menelepon `ContinueServiceDeployment` sebelum batas waktu berakhir, Amazon ECS akan mengambil tindakan batas waktu yang dikonfigurasi:
+ `ROLLBACK`(default) - Amazon ECS mengembalikan penerapan ke revisi layanan sebelumnya.
+ `CONTINUE`- Amazon ECS melanjutkan penerapan ke tahap siklus hidup berikutnya.

Periksa `expiresAt` bidang dalam `lifecycleHookDetails` larik `DescribeServiceDeployments` respons untuk melihat kapan batas waktu berakhir.

## Jeda kait dengan penerapan linier dan kenari
<a name="pause-hooks-linear-canary"></a>

Untuk penerapan linier dan kenari, kait jeda yang dikonfigurasi di dipanggil pada setiap langkah `PRE_PRODUCTION_TRAFFIC_SHIFT` pergeseran lalu lintas. Setiap doa menghasilkan yang unik`hookId`, dan Anda harus memanggil `ContinueServiceDeployment` masing-masing.

Misalnya, penyebaran linier dengan 5 langkah pergeseran lalu lintas dan kait jeda pada `PRE_PRODUCTION_TRAFFIC_SHIFT` jeda 5 kali - sekali sebelum setiap langkah. Setiap jeda membutuhkan panggilan terpisah `ContinueServiceDeployment` dengan yang sesuai`hookId`.

## EventBridge acara
<a name="pause-hooks-eventbridge"></a>

Amazon ECS memancarkan EventBridge peristiwa dengan tipe detail saat jeda menghubungkan kemajuan melalui `ECS Hook State Change` siklus hidupnya. Tabel berikut menjelaskan nama-nama acara:


| Nama peristiwa | Deskripsi | 
| --- | --- | 
| HOOK\_AWAITING\_ACTION | Kait sedang menunggu Anda untuk meneleponContinueServiceDeployment. | 
| HOOK\_SUCCEEDED | Kait selesai dengan sukses (Anda menelepon ContinueServiceDeployment denganCONTINUE). | 
| HOOK\_FAILED | Kait gagal (Anda menelepon ContinueServiceDeployment denganROLLBACK). | 
| HOOK\_TIMED\_OUT | Hook yang habis waktunya sebelumnya ContinueServiceDeployment dipanggil. | 

Contoh berikut menunjukkan EventBridge peristiwa yang dipancarkan saat hook jeda menunggu tindakan:

```
{
    "version": "0",
    "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "detail-type": "ECS Hook State Change",
    "source": "aws.ecs",
    "account": "123456789012",
    "time": "2024-01-15T10:00:00Z",
    "region": "us-west-2",
    "detail": {
        "eventType": "INFO",
        "eventName": "HOOK_AWAITING_ACTION",
        "hookId": "ecs-pause-e7tK9G_WRJqNF_EOMjztDXfKenlJuEUVjsNStf4WLKw",
        "hookType": "PAUSE",
        "expiresAt": "2024-01-15T12:00:00Z",
        "lifecycleStage": "POST_TEST_TRAFFIC_SHIFT",
        "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster",
        "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/my-cluster/my-service",
        "serviceDeploymentArn": "arn:aws:ecs:us-west-2:123456789012:service-deployment/my-cluster/my-service/EZe5RNVLH6PPzHXINuP28",
        "updatedAt": "2024-01-15T10:00:00Z"
    }
}
```