

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

# Menyebarkan Aplikasi
<a name="serverlessrepo-consuming-applications"></a>

Bagian ini membantu Anda mempelajari cara menemukan dan menyebarkan aplikasi tanpa server yang telah dipublikasikan ke. AWS Serverless Application Repository Anda dapat menelusuri aplikasi yang tersedia untuk umum tanpa memiliki AWS akun dengan mengunjungi [situs publik](https://aws.amazon.com/serverless/serverlessrepo). Atau, Anda dapat menelusuri aplikasi dari dalam AWS Lambda konsol.

Beberapa aplikasi memiliki lencana **penulis terverifikasi**, dengan tautan ke profil penulis. Seorang penulis dianggap sebagai **penulis terverifikasi** ketika AWS telah membuat tinjauan itikad baik, sebagai penyedia layanan yang masuk akal dan bijaksana, dari informasi yang diberikan oleh pemohon, dan telah mengkonfirmasi bahwa identitas pemohon adalah seperti yang diklaim.

Sebelum menerapkan aplikasi dari AWS Serverless Application Repository, lihat topik berikut untuk mempelajari tentang izin penerapan aplikasi dan kemampuan aplikasi.

**Topics**
+ [Izin Penerapan Aplikasi](application-deployment-permissions.md)
+ [Kemampuan Aplikasi: Peran IAM, Kebijakan Sumber Daya, dan Aplikasi Bersarang](acknowledging-application-capabilities.md)
+ [Cara Menyebarkan Aplikasi](serverlessrepo-how-to-consume.md)

# Izin Penerapan Aplikasi
<a name="application-deployment-permissions"></a>

Untuk menyebarkan aplikasi di AWS Serverless Application Repository, Anda harus memiliki izin untuk melakukannya. Ada tiga kategori aplikasi yang Anda memiliki izin untuk menyebarkan:
+ **Private** — Aplikasi yang dibuat dengan akun yang sama, dan belum dibagikan dengan akun lain. Anda memiliki izin untuk menyebarkan aplikasi yang dibuat menggunakan AWS akun Anda.
+ **Dibagikan secara pribadi** — Aplikasi yang telah dibagikan secara eksplisit oleh penerbit dengan serangkaian akun tertentu. AWS Anda memiliki izin untuk menyebarkan aplikasi yang telah dibagikan dengan AWS akun Anda.
+ **Dibagikan secara publik** — Aplikasi yang telah dibagikan penerbit dengan semua orang. Anda memiliki izin untuk menyebarkan aplikasi yang dibagikan secara publik.

Anda hanya dapat mencari dan menelusuri aplikasi yang memiliki izin untuk Anda. Ini termasuk aplikasi yang dibuat menggunakan AWS akun Anda, dibagikan secara pribadi dengan AWS akun Anda, dan dibagikan secara publik. Semua aplikasi lain tidak ditampilkan untuk Anda.

**penting**  
Aplikasi yang berisi aplikasi bersarang mewarisi batasan berbagi aplikasi bersarang. Misalnya, aplikasi dibagikan secara publik, tetapi berisi aplikasi bersarang yang hanya dibagikan secara pribadi dengan AWS akun yang membuat aplikasi induk. Dalam hal ini, jika AWS akun Anda tidak memiliki izin untuk menerapkan aplikasi bersarang, maka Anda tidak dapat menerapkan aplikasi induk. Untuk informasi selengkapnya tentang aplikasi bersarang, lihat [Aplikasi Bersarang](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) di Panduan *AWS Serverless Application Model Pengembang*.

# Kemampuan Aplikasi: Peran IAM, Kebijakan Sumber Daya, dan Aplikasi Bersarang
<a name="acknowledging-application-capabilities"></a>

Sebelum Anda dapat menerapkan aplikasi, akan AWS Serverless Application Repository memeriksa template aplikasi untuk peran IAM, kebijakan AWS sumber daya, dan aplikasi bersarang yang ditentukan oleh template yang harus dibuat. Sumber daya IAM, seperti peran IAM dengan akses penuh, dapat mengubah sumber daya apa pun di akun Anda AWS . Oleh karena itu, kami menyarankan Anda meninjau izin yang terkait dengan aplikasi sebelum melanjutkan sehingga Anda tidak secara tidak sengaja membuat sumber daya dengan izin yang meningkat. Untuk memastikan bahwa Anda telah melakukannya, Anda harus mengakui bahwa aplikasi berisi kemampuan sebelum AWS Serverless Application Repository dapat menyebarkan aplikasi atas nama Anda. 

Aplikasi dapat berisi salah satu dari empat kemampuan berikut:`CAPABILITY_IAM`,`CAPABILITY_NAMED_IAM`,`CAPABILITY_RESOURCE_POLICY`, dan`CAPABILITY_AUTO_EXPAND`.

Sumber daya berikut mengharuskan Anda untuk menentukan `CAPABILITY_IAM` atau`CAPABILITY_NAMED_IAM`: [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html), [AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html), [AWS::IAM::Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html), dan [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). Jika aplikasi berisi sumber daya IAM dengan nama khusus, Anda harus menentukan`CAPABILITY_NAMED_IAM`. Untuk contoh cara menentukan kemampuan, lihat[Menemukan dan Mengakui Kemampuan Aplikasi ()AWS CLI](serverlessrepo-how-to-consume.md#acknowledging-application-capabilities-api).

Sumber daya berikut mengharuskan Anda untuk menentukan`CAPABILITY_RESOURCE_POLICY`: [AWS::Lambda::LayerVersionIzin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html),, [AWS::Events::EventBusKebijakan [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html), [AWS: :iam:Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html),,, [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html), [AWS::S3::BucketPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html)dan. [AWS::SQS::QueuePolicy[AWS::SNS::TopicPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html)

Aplikasi yang berisi satu atau lebih aplikasi bersarang mengharuskan Anda untuk menentukan`CAPABILITY_AUTO_EXPAND`. Untuk informasi selengkapnya tentang aplikasi bersarang, lihat [Aplikasi Bersarang](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html) di Panduan *AWS Serverless Application Model Pengembang*.

## Menemukan dan Mengakui Kemampuan Aplikasi (Konsol)
<a name="acknowledging-application-capabilities-console"></a>

Anda dapat menemukan aplikasi yang tersedia AWS Serverless Application Repository di [AWS Serverless Application Repository situs web](https://aws.amazon.com/serverless/serverlessrepo/), atau melalui [konsol Lambda (pada halaman **Buat Fungsi** di bawah AWS Serverless Application Repository tab](https://console.aws.amazon.com/lambda/home?region=us-east-1#/create?tab=serverlessApps)).

Aplikasi yang memerlukan pengakuan kemampuan untuk membuat peran IAM kustom atau kebijakan sumber daya tidak ditampilkan dalam hasil penelusuran secara default. Untuk mencari aplikasi yang berisi kemampuan ini, Anda harus memilih kotak centang **Tampilkan aplikasi yang membuat peran IAM kustom atau kebijakan sumber daya**.

Anda dapat meninjau kemampuan aplikasi di bawah tab **Izin** saat Anda memilih aplikasi. Untuk menyebarkan aplikasi, Anda harus memilih kotak centang **I mengakui aplikasi ini membuat peran IAM kustom atau kebijakan sumber daya**. Jika Anda tidak mengakui kemampuan ini, Anda melihat pesan galat ini: **Pengakuan diperlukan. Untuk menyebarkan, centang kotak di bagian Konfigurasikan parameter aplikasi**.

## Melihat Kemampuan Aplikasi (AWS CLI)
<a name="acknowledging-application-capabilities-cli"></a>

Untuk melihat kemampuan aplikasi menggunakan AWS CLI, Anda perlu terlebih dahulu Nama Sumber Daya Amazon (ARN) aplikasi. Anda kemudian dapat menjalankan perintah berikut:

```
aws serverlessrepo get-application \
--application-id application-arn
```

[Properti respon RequiredCapabilities berisi daftar kemampuan aplikasi yang perlu Anda akui sebelum Anda dapat menerapkan aplikasi.](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid.html#applications-applicationid-prop-version-requiredcapabilities) Perhatikan bahwa jika properti [RequiredCapabilities](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid.html#applications-applicationid-prop-version-requiredcapabilities) kosong, aplikasi tidak memiliki kemampuan yang diperlukan.



# Cara Menyebarkan Aplikasi
<a name="serverlessrepo-how-to-consume"></a>

Bagian ini memberi Anda prosedur untuk menyebarkan aplikasi tanpa server dari AWS Serverless Application Repository dengan menggunakan atau. Konsol Manajemen AWS AWS CLI

## Menerapkan Aplikasi Baru (Konsol)
<a name="consuming-applications-console"></a>

Bagian ini menunjukkan kepada Anda cara menerapkan aplikasi baru dari AWS Serverless Application Repository menggunakan. Konsol Manajemen AWS Untuk petunjuk tentang penerapan versi baru dari aplikasi yang sudah ada, lihat[Memperbarui Aplikasi](serverlessrepo-how-to-consume-new-version.md).

### Menjelajah, Mencari, dan Menyebarkan Aplikasi
<a name="browse-and-search-applications"></a>

Temukan, konfigurasikan, dan terapkan aplikasi di AWS Serverless Application Repository dengan menggunakan prosedur berikut.

**Untuk menemukan dan mengkonfigurasi aplikasi di AWS Serverless Application Repository**

1. Buka [halaman beranda AWS Serverless Application Repository publik](https://aws.amazon.com/serverless/serverlessrepo), atau buka [AWS Lambda konsol](https://console.aws.amazon.com/lambda/). Pilih **fungsi Buat**, lalu pilih **Jelajahi repositori aplikasi tanpa server**.

1. Jelajahi atau cari aplikasi.
**catatan**  
Untuk menampilkan aplikasi yang berisi peran IAM kustom atau kebijakan sumber daya, pilih kotak centang **Tampilkan aplikasi yang membuat peran IAM kustom atau kebijakan sumber daya**. Untuk informasi selengkapnya tentang peran IAM kustom dan kebijakan sumber daya, lihat [Mengakui Kemampuan Aplikasi](acknowledging-application-capabilities.md). 

1. Pilih aplikasi untuk melihat detail seperti izin, kemampuan, dan berapa kali aplikasi tersebut digunakan oleh AWS pelanggan. 

   Jumlah penerapan ditampilkan untuk AWS Wilayah tempat Anda mencoba menerapkan aplikasi.

1. Pada halaman detail aplikasi, lihat izin aplikasi dan sumber daya aplikasi dengan melihat file AWS SAM template, lisensi, dan readme. Di halaman ini, Anda juga dapat menemukan tautan **URL kode sumber** untuk aplikasi yang dibagikan secara publik. Jika aplikasi menyertakan aplikasi bersarang, Anda juga dapat melihat detail aplikasi bersarang di halaman ini.

1. Konfigurasikan **aplikasi di bagian Pengaturan aplikasi**. Untuk panduan tentang mengonfigurasi aplikasi tertentu, lihat file readme aplikasi tersebut. 

   Misalnya, persyaratan konfigurasi mungkin termasuk menentukan nama sumber daya yang Anda ingin aplikasi untuk memiliki akses ke. Sumber daya semacam itu mungkin berupa tabel Amazon DynamoDB, bucket Amazon S3, atau Amazon API Gateway API.

1. Pilih **Deploy**. Melakukan hal ini akan membawa Anda ke halaman **status Deployment**.
**catatan**  
Jika aplikasi memiliki kemampuan yang memerlukan pengakuan, Anda harus memilih kotak centang **Saya mengakui aplikasi ini membuat peran IAM khusus atau kebijakan sumber daya sebelum menerapkan** aplikasi. Jika tidak, kesalahan akan terjadi. Untuk informasi selengkapnya tentang peran IAM kustom dan kebijakan sumber daya, lihat [Mengakui Kemampuan Aplikasi](acknowledging-application-capabilities.md). 

1. Pada halaman **status Deployment**, Anda dapat melihat kemajuan penerapan Anda. Sambil menunggu penerapan Anda selesai, Anda dapat mencari dan menelusuri aplikasi lain, dan kembali ke halaman ini melalui konsol Lambda.

Setelah aplikasi Anda berhasil digunakan, Anda dapat meninjau dan mengelola sumber daya yang telah dibuat dengan menggunakan AWS alat yang ada. 

## Menyebarkan Aplikasi Baru ()AWS CLI
<a name="consuming-applications-cli"></a>

Bagian ini menunjukkan kepada Anda cara menerapkan aplikasi baru dari AWS Serverless Application Repository dengan menggunakan. AWS CLI Untuk petunjuk tentang penerapan versi baru dari aplikasi yang sudah ada, lihat[Memperbarui Aplikasi](serverlessrepo-how-to-consume-new-version.md).

### Menemukan dan Mengakui Kemampuan Aplikasi ()AWS CLI
<a name="acknowledging-application-capabilities-api"></a>

Untuk mengetahui kemampuan aplikasi menggunakan AWS CLI, ikuti langkah-langkah berikut:

1. **Tinjau kemampuan aplikasi.**Gunakan AWS CLI perintah berikut untuk meninjau kemampuan aplikasi:

   ```
   aws serverlessrepo get-application \
   --application-id application-arn
   ```

   [Properti respon RequiredCapabilities berisi daftar kemampuan aplikasi yang perlu Anda akui sebelum Anda dapat menerapkan aplikasi.](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid.html#applications-applicationid-prop-version-requiredcapabilities) Anda juga dapat menggunakan [GetApplication API](https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplication) di AWS SDKs untuk mendapatkan data ini.

1. **Buat set perubahan.**Anda harus menyediakan set [kemampuan](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid-changesets.html#applications-applicationid-changesets-createcloudformationchangesetinput-capabilities) yang diperlukan ketika Anda membuat CloudFormation changeset. Misalnya, gunakan AWS CLI perintah berikut untuk menyebarkan aplikasi dengan mengakui kemampuannya:

   ```
   aws serverlessrepo create-cloud-formation-change-set \
   --application-id application-arn \
   --stack-name unique-name-for-cloud-formation-stack \
   --capabilities list-of-capabilities
   ```

   ID changeset dikembalikan ketika perintah ini berhasil dijalankan. Anda memerlukan ID changeset untuk langkah selanjutnya. Anda juga dapat menggunakan [CreateCloudFormationChangeSet API](https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationChangeSet) di AWS SDKs untuk membuat changeset.

   Misalnya, AWS CLI perintah berikut mengakui aplikasi yang berisi [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)sumber daya dengan nama kustom dan satu atau beberapa aplikasi bersarang:

   ```
   aws serverlessrepo create-cloud-formation-change-set \
   --application-id application-arn \
   --stack-name unique-name-for-cloud-formation-stack \
   --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
   ```

1. **Jalankan changeset.**Mengeksekusi changeset benar-benar melakukan penerapan. Berikan ID changeset yang dikembalikan saat Anda membuat changeset di langkah sebelumnya.

   Contoh AWS CLI perintah berikut mengeksekusi changeset aplikasi untuk menyebarkan aplikasi:

   ```
   aws cloudformation execute-change-set \
   --change-set-name changeset-id-arn
   ```

   Anda juga dapat menggunakan [ExecuteChangeSet API](https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet) di AWS SDKs untuk mengeksekusi changeset.

## Menghapus Tumpukan Aplikasi
<a name="delete-application-stack"></a>

Untuk menghapus aplikasi yang sebelumnya Anda gunakan AWS Serverless Application Repository, ikuti prosedur yang sama seperti menghapus tumpukan: CloudFormation 
+ **Konsol Manajemen AWS**: Untuk menghapus aplikasi menggunakan Konsol Manajemen AWS, lihat [Menghapus Tumpukan di CloudFormation Konsol](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) di *Panduan AWS CloudFormation Pengguna*.
+ **AWS CLI**: Untuk menghapus aplikasi menggunakan AWS CLI, lihat [Menghapus Tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-deleting-stack.html) di *Panduan AWS CloudFormation Pengguna*.

# Memperbarui Aplikasi
<a name="serverlessrepo-how-to-consume-new-version"></a>

Setelah Anda menerapkan aplikasi dari AWS Serverless Application Repository, Anda mungkin ingin memperbaruinya. Misalnya, Anda mungkin ingin mengubah setelan aplikasi, atau Anda mungkin ingin memperbarui aplikasi ke versi terbaru yang diterbitkan.

Bagian berikut menjelaskan cara menerapkan versi baru aplikasi dengan menggunakan aplikasi Konsol Manajemen AWS atau aplikasi. AWS CLI

## Memperbarui Aplikasi (Konsol)
<a name="update-applications"></a>

Untuk memperbarui aplikasi yang sebelumnya Anda gunakan, gunakan prosedur yang sama seperti menerapkan aplikasi baru, dan *berikan nama aplikasi yang sama dengan yang Anda gunakan sebelumnya*. Secara khusus, AWS Serverless Application Repository prepends `serverlessrepo-` untuk nama aplikasi Anda. Namun, untuk menerapkan versi baru aplikasi Anda, Anda memberikan nama aplikasi asli tanpa menambahkan`serverlessrepo-`.

Misalnya, jika Anda menerapkan aplikasi dengan nama`MyApplication`, nama tumpukan akan menjadi`serverlessrepo-MyApplication`. Untuk memperbarui aplikasi itu, Anda akan memberikan nama `MyApplication` *lagi-jangan* tentukan nama tumpukan lengkap. `serverlessrepo-MyApplication`

Untuk semua pengaturan aplikasi lainnya, Anda dapat menyimpan nilai yang sama dengan penerapan sebelumnya, atau memberikan nilai baru.

## Memperbarui Aplikasi (AWS CLI)
<a name="update-applications-cli"></a>

Untuk memperbarui aplikasi yang sebelumnya Anda gunakan, gunakan prosedur yang sama seperti menerapkan aplikasi baru, dan *berikan yang sama dengan `--stack-name` yang Anda gunakan sebelumnya*. Secara khusus, AWS Serverless Application Repository tambahkan `serverlessrepo-` ke nama tumpukan Anda. Namun, untuk menerapkan versi baru aplikasi Anda, Anda memberikan nama tumpukan asli tanpa menambahkan`serverlessrepo-`.

Misalnya, jika Anda menerapkan aplikasi dengan nama tumpukan`MyApplication`, nama tumpukan yang dibuat akan menjadi`serverlessrepo-MyApplication`. Untuk memperbarui aplikasi itu, Anda akan memberikan nama `MyApplication` *lagi-jangan* tentukan nama tumpukan lengkap. `serverlessrepo-MyApplication`