

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

# AWS Service Catalog Tindakan Layanan
<a name="using-service-actions"></a>

**catatan**  
AWS Service Catalog tidak mendukung tindakan layanan untuk produk Terraform Open Source atau Terraform Cloud.

AWS Service Catalog memungkinkan Anda untuk mengurangi pemeliharaan administratif dan pelatihan pengguna akhir sambil mematuhi kepatuhan dan langkah-langkah keamanan. Dengan tindakan layanan, sebagai administrator, Anda dapat mengaktifkan pengguna akhir untuk melakukan tugas operasional, memecahkan masalah, menjalankan perintah yang disetujui, atau meminta izin di AWS Service Catalog. Anda menggunakan [dokumen AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) untuk menentukan tindakan layanan. [AWS Systems Manager Dokumen](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) menyediakan akses ke tindakan yang telah ditentukan sebelumnya yang menerapkan praktik AWS terbaik, seperti Amazon EC2 berhenti dan reboot, dan Anda juga dapat menentukan tindakan kustom.

Dalam tutorial ini, Anda menyediakan pengguna akhir dengan kemampuan untuk memulai ulang instans Amazon EC2. Anda menambahkan izin yang diperlukan, menentukan tindakan layanan, mengaitkan tindakan layanan dengan produk, dan menguji pengalaman pengguna akhir menggunakan tindakan dengan produk yang tersedia.

## Prasyarat
<a name="service-actions-prerequisites"></a>

Tutorial ini mengasumsikan bahwa Anda memiliki izin AWS administrator penuh, Anda sudah terbiasa dengan AWS Service Catalog, dan bahwa Anda sudah memiliki satu set dasar produk, portofolio, dan pengguna. Jika Anda tidak terbiasa dengan AWS Service Catalog, selesaikan [Pengaturan](setup.md) dan [Memulai](getstarted.md) tugas sebelum menggunakan tutorial ini.

**Topics**
+ [Prasyarat](#service-actions-prerequisites)
+ [Langkah 1: Konfigurasikan izin pengguna akhir](#service-actions-configure-end-user-permissions)
+ [Langkah 2: Buat tindakan layanan](#service-actions-create-new-service-action)
+ [Langkah 3: Kaitkan tindakan layanan dengan versi produk](#service-actions-associate-with-product-version)
+ [Langkah 4: Uji pengalaman pengguna akhir](#service-actions-test-end-user-experience)
+ [Langkah 5: Mengelola tindakan layanan dengan AWS CloudFormation](#service-actions-cloudformation)
+ [Langkah 6: Pemecahan Masalah](#service-actions-troubleshooting)

## Langkah 1: Konfigurasikan izin pengguna akhir
<a name="service-actions-configure-end-user-permissions"></a>

Pengguna akhir harus memiliki izin yang diperlukan untuk melihat dan melakukan tindakan layanan tertentu. Dalam contoh ini, pengguna akhir memerlukan izin untuk mengakses fitur tindakan AWS Service Catalog layanan dan melakukan restart Amazon EC2.

**Untuk memperbarui izin**

1. Buka konsol AWS Identity and Access Management (IAM) di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dari menu, cari grup pengguna.

1. Pilih grup yang akan digunakan pengguna akhir untuk mengakses AWS Service Catalog sumber daya. Dalam contoh ini, kami memilih grup pengguna akhir. Dalam implementasi Anda sendiri, pilih grup yang digunakan oleh pengguna akhir yang relevan.

1. Pada tab **Izin** dari halaman detail grup Anda, Anda dapat membuat kebijakan baru atau mengedit kebijakan yang sudah ada. Dalam contoh ini, kami menambahkan izin ke kebijakan yang ada dengan memilih kebijakan khusus yang dibuat untuk izin AWS Service Catalog Penyediaan dan Penghentian grup.

1. Pada halaman **Kebijakan**, pilih **Edit Kebijakan** untuk menambahkan izin yang dibutuhkan. Anda dapat menggunakan editor visual atau editor JSON untuk mengedit kebijakan. Dalam contoh ini, kami menggunakan editor JSON untuk menambahkan izin. Untuk tutorial ini, tambahkan izin berikut ke dalam kebijakan:

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Sid": "Stmt1536341175150",
   			"Action": [
   				"servicecatalog:ListServiceActionsForProvisioningArtifact",
   				"servicecatalog:ExecuteprovisionedProductServiceAction",
   				"ssm:DescribeDocument",
   				"ssm:GetAutomationExecution",
   				"ssm:StartAutomationExecution",
   				"ssm:StopAutomationExecution",
   				"cloudformation:ListStackResources",
   				"ec2:DescribeInstanceStatus",
   				"ec2:StartInstances",
   				"ec2:StopInstances"
   			],
   			"Effect": "Allow",
   			"Resource": "*"
   		}
   	]
   }
   ```

------

1. Setelah Anda mengedit kebijakan, tinjau dan setujui perubahan kebijakan. Pengguna di grup pengguna akhir sekarang memiliki izin yang diperlukan untuk melakukan tindakan mulai ulang Amazon EC2 di AWS Service Catalog.

## Langkah 2: Buat tindakan layanan
<a name="service-actions-create-new-service-action"></a>

Selanjutnya, Anda membuat tindakan layanan untuk memulai ulang instans Amazon EC2.

1. Buka AWS Service Catalog konsol di [https://console.aws.amazon.com/sc/](https://console.aws.amazon.com/servicecatalog/).

1. Dari menu, pilih **Tindakan layanan**.

1. Pada halaman **Tindakan layanan**, pilih **Buat tindakan**.

1. Pada halaman **Buat tindakan**, pilih AWS Systems Manager dokumen untuk menentukan tindakan layanan. Tindakan Mulai Ulang Instans Amazon EC2 ditentukan oleh dokumen AWS Systems Manager , jadi kami menyimpan opsi default pada menu tarik turun, **Dokumen Amazon**.

1. Cari dan pilih tindakan **AWS-Restart EC2 Instance**.

1. Berikan nama dan deskripsi untuk tindakan yang masuk akal bagi lingkungan dan tim Anda. Pengguna akhir akan melihat deskripsi ini, jadi pilihlah sesuatu yang membantu mereka memahami tindakan yang dilakukan.

1. Di bawah **Parameter dan konfigurasi target**, pilih parameter dokumen SSM yang akan menjadi target tindakan (misalnya, **ID Instans**), dan pilih target parameter. Pilih **Tambahkan parameter** untuk menambahkan parameter tambahan. 

1. Di bawah **Izin**, pilih peran. Kami menggunakan izin default untuk contoh ini. Konfigurasi izin lainnya dimungkinkan dan ditentukan di halaman ini.

1. Setelah Anda meninjau konfigurasi, pilih **Buat tindakan**.

1. Pada halaman selanjutnya, konfirmasi muncul saat tindakan telah dibuat dan siap digunakan.

## Langkah 3: Kaitkan tindakan layanan dengan versi produk
<a name="service-actions-associate-with-product-version"></a>

Setelah menentukan sebuah tindakan, Anda harus mengaitkan produk dengan tindakan tersebut.

1. Pada halaman **Tindakan layanan**, pilih **AWS-Restart EC2instance**, lalu pilih **Tindakan asosiasi**. 

1. Pada halaman **Kaitkan tindakan**, pilih produk yang Anda inginkan agar dilakukan tindakan layanan oleh pengguna akhir Anda. Dalam contoh ini, kami memilih **Desktop Linux**.

1. Pilih versi produk. Perhatikan bahwa Anda dapat menggunakan kotak centang paling atas untuk memilih semua versi.

1. Pilih **Kaitkan tindakan**.

1. Di halaman selanjutnya, pesan konfirmasi muncul.

Anda sekarang telah membuat tindakan layanan di AWS Service Catalog. Langkah berikutnya dari tutorial ini adalah dengan menggunakan tindakan layanan sebagai pengguna akhir.

## Langkah 4: Uji pengalaman pengguna akhir
<a name="service-actions-test-end-user-experience"></a>

Pengguna akhir dapat melakukan tindakan layanan pada produk yang tersedia. Untuk tujuan tutorial ini, pengguna akhir harus memiliki setidaknya satu produk yang tersedia. Produk yang tersedia harus diluncurkan dari versi produk yang Anda kaitkan dengan tindakan layanan di langkah sebelumnya.

**Untuk mengakses tindakan layanan sebagai pengguna akhir**

1. Masuk ke AWS Service Catalog konsol sebagai pengguna akhir. 

1. Di AWS Service Catalog dasbor, di panel navigasi, pilih Daftar Produk **yang disediakan.** Daftar menunjukkan produk yang tersedia untuk akun pengguna akhir.

1. Pada halaman **Daftar produk yang Tersedia**, pilih instans yang tersedia.

1. Pada halaman **Detail produk yang disediakan**, pilih **Tindakan** di sisi kanan atas, lalu pilih tindakan **AWS EC2instance-Restart**. 

1. Konfirmasikan bahwa Anda ingin mengeksekusi tindakan kustom. Anda menerima konfirmasi bahwa tindakan telah dikirim.

## Langkah 5: Mengelola tindakan layanan dengan AWS CloudFormation
<a name="service-actions-cloudformation"></a>

 Anda dapat membuat tindakan layanan dan asosiasi mereka dengan AWS CloudFormation sumber daya. Untuk informasi selengkapnya, pelajari topik berikut di *Panduan Pengguna AWS CloudFormation *: 
+  [AWS::ServiceCatalog::CloudFormationProduct ProvisioningArtifactProperties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html) 
+  [AWS::ServiceCatalog::ServiceActionAsosiasi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html) 

**catatan**  
 Jika Anda mengelola asosiasi tindakan layanan dengan CloudFormation sumber daya, jangan menambahkan atau menghapus tindakan layanan melalui AWS Command Line Interface atau Konsol Manajemen AWS. Saat Anda melakukan pembaruan tumpukan, perubahan apa pun pada tindakan sevice yang dibuat di luar akan CloudFormation diganti. 

## Langkah 6: Pemecahan Masalah
<a name="service-actions-troubleshooting"></a>

Jika eksekusi tindakan layanan Anda gagal, Anda dapat menemukan pesan kesalahan di bagian **Output** dari peristiwa eksekusi tindakan layanan pada halaman **Produk yang Tersedia**. Di bawah ini Anda dapat melihat penjelasan untuk pesan kesalahan umum yang mungkin Anda temukan.

**catatan**  
Teks yang tepat dari pesan kesalahan dapat berubah, jadi Anda harus menghindari penggunaannya dalam proses otomatis apa pun.

 **Kegagalan internal**

AWS Service Catalog mengalami kesalahan internal. Coba lagi nanti. Jika masalah berlanjut, hubungi dukungan pelanggan. 

 **Terjadi kesalahan (ThrottlingException) saat memanggil StartAutomationExecution operasi**

Eksekusi tindakan layanan di-throttle oleh layanan backend, seperti SSM. 

 **Akses ditolak saat mengambil peran**

 AWS Service Catalog tidak dapat mengambil peran yang ditentukan dalam definisi tindakan layanan. Pastikan bahwa pelaku utama *servicecatalog.amazonaws.com*, atau wilayah utama seperti *servicecatalog.us-east-1.amazonaws.com*, diizinkan dalam kebijakan kepercayaan peran. 

 **Terjadi kesalahan (AccessDeniedException) saat memanggil StartAutomationExecution operasi: Pengguna tidak berwenang untuk melakukan: ssm: StartAutomationExecution pada sumber daya.**

Peran yang ditentukan dalam definisi tindakan layanan tidak memiliki izin untuk memanggil ssm:. StartAutomationExecution Pastikan peran memiliki izin SSM yang sesuai. 

 **Tidak dapat menemukan sumber daya apa pun dengan tipe *TargetType* produk yang disediakan**

Produk yang disediakan tidak berisi sumber daya apa pun yang cocok dengan jenis target yang ditentukan dalam dokumen SSM, seperti AWS: :EC2: :Instance. Periksa produk yang Anda sediakan untuk sumber daya ini atau konfirmasikan bahwa dokumen sudah benar. 

 **Dokumen dengan nama itu tidak ada**

Dokumen yang ditentukan dalam ketentuan tindakan layanan tidak ada. 

 **Gagal mendeskripsikan dokumen SSM Automation**

AWS Service Catalog menemukan pengecualian yang tidak diketahui dari SSM ketika mencoba mendeskripsikan dokumen yang ditentukan. 

 **Gagal mengambil kredensi untuk peran**

AWS Service Catalog mengalami kesalahan yang tidak diketahui saat mengasumsikan peran yang ditentukan. 

 **Parameter memiliki nilai "*InvalidValue*" tidak ditemukan di *\$1ValidValue1\$1, \$1ValidValue2\$1***

 Nilai parameter yang diteruskan ke SSM tidak ada dalam daftar nilai yang diizinkan untuk dokumen. Konfirmasikan bahwa parameter yang tersedia adalah valid, dan coba lagi. 

 **Kesalahan tipe parameter. Nilai yang diberikan untuk *ParameterName* bukan string yang valid.**

Nilai parameter yang diteruskan ke SSM tidak valid untuk tipe pada dokumen. 

 **Parameter tidak didefinisikan dalam definisi tindakan layanan**

Parameter diteruskan ke AWS Service Catalog yang tidak didefinisikan dalam definisi tindakan layanan. Anda hanya dapat menggunakan parameter yang ditentukan dalam ketentuan tindakan layanan. 

 **Langkah gagal ketika itu adalah executing/canceling tindakan. *Error message.* Silakan merujuk ke Panduan Pemecahan Masalah Layanan Otomatisasi untuk detail diagnosis selengkapnya.**

 Langkah dalam dokumen otomatisasi SSM gagal. Lihat kesalahan dalam pesan untuk memecahkan masalah lebih lanjut. 

 **Nilai berikut untuk parameter tidak diperbolehkan karena tidak ada dalam produk yang disediakan: *InvalidResourceId***

Pengguna meminta tindakan pada sumber daya yang tidak ada dalam produk yang tersedia. 

 **TargetType tidak ditentukan untuk dokumen SSM Automation**

Tindakan layanan memerlukan dokumen otomatisasi SSM untuk memiliki yang TargetType ditentukan. Periksa dokumen otomatisasi SSM Anda. 