

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

# Jadikan AMI Anda tersedia untuk umum untuk digunakan di Amazon EC2
<a name="sharingamis-intro"></a>

Anda dapat membuat AMI Anda tersedia untuk umum dengan membagikannya kepada semua Akun AWS.

Jika Anda ingin mencegah AMI Anda dibagikan ke publik, Anda dapat mengaktifkan *blokir akses publik untuk AMI*. Hal ini memblokir setiap upaya untuk membuat AMI publik, membantu mencegah akses tidak sah dan potensi penyalahgunaan data AMI. Perhatikan bahwa mengaktifkan blokir akses publik tidak memengaruhi AMI Anda yang sudah tersedia untuk umum; AMI tersebut tetap tersedia untuk umum. Untuk informasi selengkapnya, lihat [Memahami memblokir akses publik untuk AMI](block-public-access-to-amis.md).

Untuk mengizinkan hanya akun tertentu yang menggunakan AMI Anda untuk meluncurkan instans, lihat [Bagikan AMI dengan spesifik AWS rekening](sharingamis-explicit.md).

**Topics**
+ [Pertimbangan-pertimbangan](#considerations-for-sharing-public-AMIs)
+ [Bagikan AMI dengan semua AWS akun (bagikan secara publik)](#share-an-ami-publicly)

## Pertimbangan-pertimbangan
<a name="considerations-for-sharing-public-AMIs"></a>

Pertimbangkan hal berikut sebelum menjadikan AMI publik.
+ **Kepemilikan** — Untuk membuat AMI publik, Anda Akun AWS harus memiliki AMI.
+ **Wilayah** – AMI adalah sumber daya Wilayah. Saat Anda membagikan AMI, AMI hanya tersedia di Wilayah tempat Anda membagikannya. Agar AMI tersedia di Wilayah yang berbeda, salin AMI ke Wilayah, lalu bagikan. Untuk informasi selengkapnya, lihat [Salin Amazon EC2 AMI](CopyingAMIs.md).
+ **Blokir akses publik** – Untuk berbagi AMI secara publik, [blokir akses publik untuk AMI](block-public-access-to-amis.md) harus dinonaktifkan di setiap Wilayah tempat AMI akan dibagikan secara publik. Setelah membagikan AMI secara publik, Anda dapat mengaktifkan kembali blokir akses publik untuk AMI untuk mencegah AMI terus dibagikan secara publik.
+ **Beberapa AMI tidak dapat dijadikan publik** - Jika AMI Anda menyertakan salah satu komponen berikut, Anda tidak dapat menjadikannya publik (tetapi Anda dapat [membagikan AMI dengan Akun AWS spesifik](sharingamis-explicit.md)):
  + Volume terenkripsi
  + Snapshot volume terenkripsi
  + Kode produk
+ **Hindari pemaparan data sensitif** – Untuk menghindari pemaparan data sensitif saat Anda membagikan AMI, baca pertimbangan keamanan di [Rekomendasi untuk membuat AMI Linux bersama](building-shared-amis.md) dan ikuti tindakan yang direkomendasikan.
+ **Penggunaan** – Saat Anda membagikan AMI, pengguna hanya dapat meluncurkan instans dari AMI tersebut. Mereka tidak dapat menghapus, berbagi, atau memodifikasinya. Namun, setelah mereka meluncurkan instans menggunakan AMI Anda, mereka dapat membuat AMI dari instans yang mereka luncurkan.
+ **Pengusangan otomatis** – Secara default, tanggal pengusangan semua AMI publik diatur ke dua tahun dari tanggal pembuatan AMI. Anda dapat mengatur tanggal pengusangan menjadi lebih awal dari dua tahun. [Untuk membatalkan tanggal penghentian, atau untuk memindahkan penghentian ke tanggal berikutnya, Anda harus menjadikan AMI pribadi dengan hanya membagikannya dengan spesifik. Akun AWS](sharingamis-explicit.md)
+ **Hapus AMI usang** — Setelah AMI publik mencapai tanggal penghentian, jika tidak ada instance baru yang diluncurkan dari AMI selama enam bulan atau lebih, AWS akhirnya menghapus properti berbagi publik sehingga AMI usang tidak muncul di daftar AMI publik.
+ **Penagihan** — Anda tidak ditagih ketika AMI Anda digunakan oleh orang lain Akun AWS untuk meluncurkan instans. Akun yang meluncurkan instans menggunakan AMI akan dikenai biaya untuk instans yang diluncurkan.

## Bagikan AMI dengan semua AWS akun (bagikan secara publik)
<a name="share-an-ami-publicly"></a>

Setelah Anda menjadikan AMI publik, AMI tersedia di **AMI Komunitas** di konsol, yang dapat Anda akses dari **Katalog AMI** di navigator kiri di konsol EC2 atau saat meluncurkan instans menggunakan konsol. Perhatikan bahwa perlu waktu hingga AMI muncul di **AMI Komunitas** setelah Anda menjadikannya publik. 

------
#### [ Console ]

**Untuk menjadikan AMI publik**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMI**.

1. Pilih AMI Anda dari daftar, lalu pilih **Tindakan**, **Ubah izin AMI**.

1. Di bawah **Ketersediaan AMI**, pilih **Publik**.

1. Pilih **Simpan perubahan**.

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

Setiap AMI memiliki `launchPermission` properti yang mengontrol yang Akun AWS, selain pemilik, diizinkan untuk menggunakan AMI itu untuk meluncurkan instance. Dengan memodifikasi `launchPermission` properti AMI, Anda dapat membuat AMI menjadi publik (yang memberikan izin peluncuran ke semua Akun AWS), atau membagikannya hanya dengan Akun AWS yang Anda tentukan.

Anda dapat menambahkan atau menghapus ID akun dari daftar akun yang memiliki izin peluncuran untuk AMI. Untuk menjadikan AMI publik, tentukan kelompok `all`. Anda dapat menentukan izin peluncuran publik dan eksplisit.

**Untuk menjadikan AMI publik**

1. Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) sebagai berikut untuk menambahkan grup `all` ke daftar `launchPermission` untuk AMI tertentu.

   ```
   aws ec2 modify-image-attribute \
       --image-id {{ami-0abcdef1234567890}} \
       --launch-permission "Add=[{Group=all}]"
   ```

1. Untuk memverifikasi izin peluncuran AMI, gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html).

   ```
   aws ec2 describe-image-attribute \
       --image-id {{ami-0abcdef1234567890}} \
       --attribute launchPermission
   ```

1. (Opsional) Untuk menjadikan AMI kembali privat, hapus grup `all` dari izin peluncurannya. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

   ```
   aws ec2 modify-image-attribute \
       --image-id {{ami-0abcdef1234567890}} \
       --launch-permission "Remove=[{Group=all}]"
   ```

------
#### [ PowerShell ]

Setiap AMI memiliki `launchPermission` properti yang mengontrol yang Akun AWS, selain pemilik, diizinkan untuk menggunakan AMI itu untuk meluncurkan instance. Dengan memodifikasi `launchPermission` properti AMI, Anda dapat membuat AMI menjadi publik (yang memberikan izin peluncuran ke semua Akun AWS), atau membagikannya hanya dengan Akun AWS yang Anda tentukan.

Anda dapat menambahkan atau menghapus ID akun dari daftar akun yang memiliki izin peluncuran untuk AMI. Untuk menjadikan AMI publik, tentukan kelompok `all`. Anda dapat menentukan izin peluncuran publik dan eksplisit.

**Untuk menjadikan AMI publik**

1. Gunakan perintah [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html) sebagai berikut untuk menambahkan grup `all` ke daftar `launchPermission` untuk AMI tertentu.

   ```
   Edit-EC2ImageAttribute `
       -ImageId {{ami-0abcdef1234567890}} `
       -Attribute launchPermission `
       -OperationType add `
       -UserGroup all
   ```

1. Untuk memverifikasi izin peluncuran AMI, gunakan perintah [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html) berikut.

   ```
   Get-EC2ImageAttribute `
       -ImageId {{ami-0abcdef1234567890}} `
       -Attribute launchPermission
   ```

1. (Opsional) Untuk menjadikan AMI kembali privat, hapus grup `all` dari izin peluncurannya. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

   ```
   Edit-EC2ImageAttribute `
       -ImageId {{ami-0abcdef1234567890}} `
       -Attribute launchPermission `
       -OperationType remove `
       -UserGroup all
   ```

------