

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

# Konversikan AMI yang didukung Amazon S3 Anda ke AMI yang didukung EBS
<a name="Using_ConvertingS3toEBS"></a>

Anda dapat mengonversi AMI Linux yang didukung Amazon S3 yang Anda miliki ke AMI Linux yang didukung Amazon EBS. 

**penting**  
Anda tidak dapat mengonversi AMI yang tidak Anda miliki.

**Untuk mengonversi AMI yang didukung Amazon S3 ke AMI yang didukung Amazon EBS**

1. Luncurkan instans Amazon Linux dari AMI yang didukung Amazon EBS. Untuk informasi selengkapnya, lihat [Luncurkan instans EC2 menggunakan wizard instans peluncuran di konsol](ec2-launch-instance-wizard.md). Instans Amazon Linux memiliki alat AWS CLI dan AMI yang sudah diinstal sebelumnya.

1. Unggah kunci pribadi X.509 yang Anda gunakan untuk menggabungkan AMI yang didukung Amazon S3 ke instans Anda. Kami menggunakan kunci ini untuk memastikan hanya Anda dan Amazon EC2 yang dapat mengakses AMI.

   1. Buat direktori sementara pada instans Anda untuk kunci privat X.509 sebagai berikut:

      ```
      [ec2-user ~]$ mkdir /tmp/cert
      ```

   1. Salin kunci privat X.509 dari komputer Anda ke direktori `/tmp/cert` pada instans, menggunakan alat penyalin aman seperti [scp](linux-file-transfer-scp.md). *my-private-key*Parameter dalam perintah berikut adalah kunci pribadi yang Anda gunakan untuk terhubung ke instance Anda dengan SSH. Contoh:

      ```
      you@your_computer:~ $ scp -i my-private-key.pem /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem ec2-user@ec2-203-0-113-25.compute-1.amazonaws.com:/tmp/cert/
      pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem  100%  717     0.7KB/s   00:00
      ```

1. Konfigurasikan variabel lingkungan Anda untuk menggunakan AWS CLI. Untuk informasi selengkapnya, lihat [Variabel lingkungan](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html).

   1. (Disarankan) Tetapkan variabel lingkungan untuk kunci AWS akses, kunci rahasia, dan token sesi Anda.

      ```
      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id
      [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key
      [ec2-user ~]$ export AWS_SESSION_TOKEN=your_session_token
      ```

   1. Tetapkan variabel lingkungan untuk kunci AWS akses Anda, dan kunci rahasia.

      ```
      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id
      [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key
      ```

1. Siapkan volume Amazon Elastic Block Store (Amazon EBS) untuk AMI baru Anda.

   1. Buat volume EBS kosong di Zona Ketersediaan yang sama dengan instans Anda menggunakan perintah [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html). Perhatikan ID volume di output perintah.
**penting**  
 Volume EBS ini harus berukuran sama atau lebih besar dari volume root penyimpanan instans awal.

      ```
      aws ec2 create-volume \
          --size 10 \
          --region us-west-2 \
          --availability-zone us-west-2b
      ```

   1. Lampirkan volume ke instans yang didukung Amazon EBS menggunakan perintah [attach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html).

      ```
      aws ec2 attach-volume \
          --volume-id vol-01234567890abcdef \
          --instance-id i-1234567890abcdef0 \
          --region us-west-2
      ```

1. Buat folder untuk paketan Anda.

   ```
   [ec2-user ~]$ mkdir /tmp/bundle
   ```

1. Unduh paketan untuk AMI berbasis penyimpanan instans Anda ke `/tmp/bundle` menggunakan perintah [ec2-download-bundle](ami-tools-commands.md#ami-download-bundle).

   ```
   [ec2-user ~]$ ec2-download-bundle -b amzn-s3-demo-bucket/bundle_folder/bundle_name -m image.manifest.xml -a $AWS_ACCESS_KEY_ID -s $AWS_SECRET_ACCESS_KEY --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -d /tmp/bundle
   ```

1. Susun kembali file gambar dari paketan menggunakan perintah [ec2-unbundle](ami-tools-commands.md#ami-unbundle).

   1. Ubah direktori ke folder paketan.

      ```
      [ec2-user ~]$ cd /tmp/bundle/
      ```

   1. Jalankan perintah [ec2-unbundle](ami-tools-commands.md#ami-unbundle).

      ```
      [ec2-user bundle]$ ec2-unbundle -m image.manifest.xml --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
      ```

1. Salin file dari gambar yang tidak dipaketkan ke volume EBS baru.

   ```
   [ec2-user bundle]$ sudo dd if=/tmp/bundle/image of=/dev/sdb bs=1M
   ```

1. Periksa volume apakah ada partisi baru yang tidak dipaketkan.

   ```
   [ec2-user bundle]$ sudo partprobe /dev/sdb1
   ```

1. Buat daftar perangkat blok untuk mencari nama perangkat yang akan dipasang.

   ```
   [ec2-user bundle]$ lsblk
   NAME         MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   /dev/sda    202:0    0   8G  0 disk
   └─/dev/sda1 202:1    0   8G  0 part /
   /dev/sdb    202:80   0  10G  0 disk
   └─/dev/sdb1 202:81   0  10G  0 part
   ```

   Dalam contoh ini, partisi yang akan dipasang adalah `/dev/sdb1`, tetapi nama perangkat Anda mungkin akan berbeda. Jika volume Anda tidak dipartisi, perangkat yang akan dipasang akan serupa dengan `/dev/sdb` (tanpa digit di bagian akhir partisi perangkat).

1. Buat titik pemasangan untuk volume EBS yang baru dan pasang volume.

   ```
   [ec2-user bundle]$ sudo mkdir /mnt/ebs
   [ec2-user bundle]$ sudo mount /dev/sdb1 /mnt/ebs
   ```

1. Buka file `/etc/fstab` pada volume EBS dengan editor teks favorit Anda (seperti **vim** atau **nano**) dan hapus entri apa pun untuk volume penyimpanan instans (ephemeral). Karena volume EBS dipasang di `/mnt/ebs`, file `fstab` berada di `/mnt/ebs/etc/fstab`.

   ```
   [ec2-user bundle]$ sudo nano /mnt/ebs/etc/fstab
   #
   LABEL=/     /           ext4    defaults,noatime  1   1
   tmpfs       /dev/shm    tmpfs   defaults        0   0
   devpts      /dev/pts    devpts  gid=5,mode=620  0   0
   sysfs       /sys        sysfs   defaults        0   0
   proc        /proc       proc    defaults        0   0
   /dev/sdb        /media/ephemeral0       auto    defaults,comment=cloudconfig    0       2
   ```

   Dalam contoh ini, baris terakhir harus dihapus.

1. Lepas volume dan pisahkan dari instans.

   ```
   [ec2-user bundle]$ sudo umount /mnt/ebs
   [ec2-user bundle]$ aws ec2 detach-volume --volume-id vol-01234567890abcdef --region us-west-2
   ```

1. Buat AMI dari volume EBS baru sebagai berikut.

   1. Buat snapshot volume EBS yang baru.

      ```
      [ec2-user bundle]$ aws ec2 create-snapshot --region us-west-2 --description "your_snapshot_description" --volume-id vol-01234567890abcdef
      ```

   1. Periksa untuk memastikan kelengkapan snapshot Anda.

      ```
      [ec2-user bundle]$ aws ec2 describe-snapshots --region us-west-2 --snapshot-id snap-0abcdef1234567890
      ```

   1. Identifikasi arsitektur prosesor, tipe virtualisasi, dan gambar kernel (`aki`) yang digunakan pada AMI asli dengan perintah **describe-images**. Anda memerlukan ID AMI dari AMI asli yang didukung Amazon S3 untuk langkah ini.

      ```
      [ec2-user bundle]$ aws ec2 describe-images --region us-west-2 --image-id ami-0abcdef1234567890 --output text
      IMAGES	x86_64	amazon/amzn-ami-pv-2013.09.2.x86_64-s3	ami-8ef297be	amazon	available	public	machine	aki-fc8f11cc	instance-store	paravirtual	xen
      ```

      Dalam contoh ini, arsitekturnya adalah `x86_64` dan ID gambar kernel-nya adalah `aki-fc8f11cc`. Gunakan nilai-nilai ini di langkah berikut. Jika output perintah di atas juga mencantumkan ID `ari`, perhatikan juga hal tersebut.

   1. Daftarkan AMI baru Anda dengan ID snapshot volume EBS baru Anda dan nilai-nilai dari langkah sebelumnya. Jika output perintah sebelumnya mencantumkan ID `ari`, sertakan ID tersebut dalam perintah berikut ini dengan `--ramdisk-id ari_id`.

      ```
      [ec2-user bundle]$ aws ec2 register-image --region us-west-2 --name your_new_ami_name --block-device-mappings DeviceName=device-name,Ebs={SnapshotId=snap-0abcdef1234567890} --virtualization-type paravirtual --architecture x86_64 --kernel-id aki-fc8f11cc --root-device-name device-name
      ```

1. (Opsional) Setelah Anda menguji bahwa Anda dapat meluncurkan instans dari AMI baru, Anda dapat menghapus volume EBS yang Anda buat untuk prosedur ini.

   ```
   aws ec2 delete-volume --volume-id vol-01234567890abcdef
   ```