

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

# Aktifkan Lambda Hook di akun Anda
<a name="lambda-hooks-activate-hooks"></a>

Topik berikut menunjukkan cara mengaktifkan Lambda Hook di akun Anda, yang membuatnya dapat digunakan di akun dan Wilayah tempat diaktifkan.

**Topics**
+ [Aktifkan Lambda Hook (konsol)](#lambda-hooks-activate-hook-console)
+ [Aktifkan Lambda Hook ()AWS CLI](#lambda-hooks-activate-hooks-cli)
+ [Sumber daya terkait](#related-resources-lambda-hooks)

## Aktifkan Lambda Hook (konsol)
<a name="lambda-hooks-activate-hook-console"></a>

**Untuk mengaktifkan Lambda Hook untuk digunakan di akun Anda**

1. Masuk ke Konsol Manajemen AWS dan buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Pada bilah navigasi di bagian atas layar, pilih Wilayah AWS tempat Anda ingin membuat Hook.

1. Jika Anda *belum* membuat fungsi Lambda untuk Hook, lakukan hal berikut:
   + Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.
   + Buat fungsi Lambda yang akan Anda gunakan dengan Hook ini, dan kemudian kembali ke prosedur ini. Untuk informasi selengkapnya, lihat [Buat fungsi Lambda untuk mengevaluasi sumber daya untuk Lambda Hooks](lambda-hooks-create-lambda-function.md). 

   Jika Anda telah membuat fungsi Lambda Anda, lanjutkan ke langkah berikutnya. 

1. Di panel navigasi di sebelah kiri, pilih **Hooks**.

1. Pada halaman **Hooks**, pilih **Create a Hook**, lalu pilih **With Lambda**.

1. Untuk **nama Hook**, pilih salah satu opsi berikut:
   + Berikan nama deskriptif singkat yang akan ditambahkan setelahnya`Private::Lambda::`. Misalnya, jika Anda masuk*`MyTestHook`*, nama Hook lengkap menjadi`Private::Lambda::MyTestHook`.
   + Berikan nama Hook lengkap (juga disebut alias) menggunakan format ini: `Provider::ServiceName::HookName` 

1. Untuk fungsi **Lambda, sediakan fungsi** Lambda untuk digunakan dengan Hook ini. Anda dapat menggunakan: 
   + Nama Sumber Daya Amazon lengkap (ARN) tanpa akhiran.
   + ARN yang memenuhi syarat dengan versi atau akhiran alias.

1. Untuk **target Hook**, pilih apa yang akan dievaluasi:
   + **Stacks** - Mengevaluasi template tumpukan saat pengguna membuat, memperbarui, atau menghapus tumpukan.
   + **Sumber Daya** - Mengevaluasi perubahan sumber daya individu saat pengguna memperbarui tumpukan.
   + **Ubah set** - Mengevaluasi pembaruan yang direncanakan saat pengguna membuat set perubahan.
   + **Cloud Control API** - Mengevaluasi membuat, memperbarui, atau menghapus operasi yang diprakarsai oleh [Cloud Control](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html) API.

1. Untuk **Tindakan**, pilih tindakan mana (buat, perbarui, hapus) yang akan memanggil Hook Anda.

1. Untuk **mode Hook**, pilih bagaimana Hook merespons ketika fungsi Lambda yang dipanggil oleh Hook mengembalikan respons: `FAILED`
   + **Peringatkan** — Mengeluarkan peringatan kepada pengguna tetapi memungkinkan tindakan untuk dilanjutkan. Ini berguna untuk validasi non-kritis atau pemeriksaan informasi.
   + **Gagal** — Mencegah tindakan dari melanjutkan. Ini berguna untuk menegakkan kepatuhan yang ketat atau kebijakan keamanan.

1. Untuk **peran Eksekusi**, pilih peran IAM yang diasumsikan Hook untuk memanggil fungsi Lambda Anda. Anda dapat mengizinkan CloudFormation untuk secara otomatis membuat peran eksekusi untuk Anda atau Anda dapat menentukan peran yang telah Anda buat. 

1. Pilih **Berikutnya**.

1. (Opsional) Untuk **filter Hook**, lakukan hal berikut:

   1. Untuk **filter Sumber Daya**, tentukan jenis sumber daya mana yang dapat memanggil Hook. Ini memastikan bahwa Hook hanya dipanggil untuk sumber daya yang relevan.

   1. Untuk **kriteria Pemfilteran**, pilih logika untuk menerapkan nama tumpukan dan filter peran tumpukan:
      + **Semua nama tumpukan dan peran tumpukan** — Hook hanya akan dipanggil ketika semua filter yang ditentukan cocok.
      + **Setiap nama tumpukan dan peran tumpukan** — Hook akan dipanggil jika setidaknya salah satu filter yang ditentukan cocok.
**catatan**  
Untuk operasi Cloud Control API, semua **nama Stack** **dan filter peran Stack** diabaikan.

   1. Untuk **nama Stack**, sertakan atau kecualikan tumpukan tertentu dari pemanggilan Hook.
      + Untuk **Sertakan**, tentukan nama tumpukan yang akan disertakan. Gunakan ini ketika Anda memiliki satu set kecil tumpukan spesifik yang ingin Anda targetkan. Hanya tumpukan yang ditentukan dalam daftar ini yang akan memanggil Hook.
      + Untuk **Kecualikan**, tentukan nama tumpukan yang akan dikecualikan. Gunakan ini ketika Anda ingin memanggil Hook di sebagian besar tumpukan tetapi mengecualikan beberapa yang spesifik. Semua tumpukan kecuali yang tercantum di sini akan memanggil Hook.

   1. Untuk **peran Stack**, sertakan atau kecualikan tumpukan tertentu dari pemanggilan Hook berdasarkan peran IAM terkait.
      + Untuk **Sertakan**, tentukan satu atau beberapa peran IAM ARNs untuk menargetkan tumpukan yang terkait dengan peran ini. Hanya operasi tumpukan yang diprakarsai oleh peran ini yang akan memanggil Hook.
      + Untuk **Kecualikan**, tentukan satu atau beberapa peran IAM ARNs untuk tumpukan yang ingin Anda kecualikan. Hook akan dipanggil pada semua tumpukan kecuali yang diprakarsai oleh peran yang ditentukan.

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan aktifkan**, tinjau pilihan Anda. Untuk membuat perubahan, pilih **Edit** pada bagian terkait.

1. Saat Anda siap untuk melanjutkan, pilih **Activate Hook**.

## Aktifkan Lambda Hook ()AWS CLI
<a name="lambda-hooks-activate-hooks-cli"></a>

Sebelum melanjutkan, konfirmasikan bahwa Anda telah membuat fungsi Lambda dan peran eksekusi yang akan Anda gunakan dengan Hook ini. Untuk informasi selengkapnya, lihat [Buat fungsi Lambda untuk mengevaluasi sumber daya untuk Lambda Hooks](lambda-hooks-create-lambda-function.md) dan [Buat peran eksekusi untuk Lambda Hook](lambda-hooks-prepare-to-create-hook.md#lambda-hooks-create-execution-role).

**Untuk mengaktifkan Lambda Hook untuk digunakan di akun Anda ()AWS CLI**

1. Untuk mulai mengaktifkan Hook, gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html)perintah berikut, ganti placeholder dengan nilai spesifik Anda. Perintah ini mengotorisasi Hook untuk menggunakan peran eksekusi tertentu dari Anda Akun AWS.

   ```
   aws cloudformation activate-type --type HOOK \
     --type-name AWS::Hooks::LambdaHook \
     --publisher-id aws-hooks \
     --execution-role-arn arn:aws:iam::123456789012:role/my-execution-role \
     --type-name-alias Private::Lambda::MyTestHook \
     --region us-west-2
   ```

1. Untuk menyelesaikan pengaktifan Hook, Anda harus mengkonfigurasinya menggunakan file konfigurasi JSON.

   Gunakan **cat** perintah untuk membuat file JSON dengan struktur berikut. Untuk informasi selengkapnya, lihat [Referensi sintaks skema konfigurasi hook](hook-configuration-schema.md).

   ```
   $ cat > config.json
   {
     "CloudFormationConfiguration": {
       "HookConfiguration": {
         "HookInvocationStatus": "ENABLED",
         "TargetOperations": [
           "CLOUD_CONTROL"
         ],
         "FailureMode": "WARN",
         "Properties": {
           "LambdaFunction": "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
         },
         "TargetFilters": {
           "Actions": [
             "CREATE",
             "UPDATE",
             "DELETE"
           ]
         }
       }
     }
   }
   ```
   + `HookInvocationStatus`: Setel `ENABLED` untuk mengaktifkan Hook.
   + `TargetOperations`: Tentukan operasi yang akan dievaluasi oleh Hook.
   + `FailureMode`: Setel ke salah satu `FAIL` atau`WARN`.
   + `LambdaFunction`: Tentukan ARN dari fungsi Lambda.
   + `TargetFilters`: Tentukan jenis tindakan yang akan memanggil Hook.

1. Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html)perintah berikut, bersama dengan file JSON yang Anda buat, untuk menerapkan konfigurasi. Ganti placeholder dengan nilai spesifik Anda.

   ```
   aws cloudformation set-type-configuration \
     --configuration file://config.json \
     --type-arn "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyTestHook" \
     --region us-west-2
   ```

## Sumber daya terkait
<a name="related-resources-lambda-hooks"></a>

Kami menyediakan contoh template yang dapat Anda gunakan untuk memahami cara mendeklarasikan Lambda Hook dalam template tumpukan. CloudFormation Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-lambdahook.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-lambdahook.html) di *AWS CloudFormation Panduan Pengguna*.