

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

# Tutorial: Terapkan ke instans Amazon EC2 dengan CodePipeline
<a name="tutorials-ec2-deploy"></a>

Tutorial ini membantu Anda membuat tindakan penerapan CodePipeline yang menyebarkan kode Anda ke instance yang telah Anda konfigurasi di Amazon EC2.

**catatan**  
Sebagai bagian dari pembuatan pipa di konsol, ember artefak S3 akan digunakan oleh CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS yang aman dan dapat diandalkan.

**catatan**  
Tindakan `EC2` penerapan hanya tersedia untuk saluran pipa tipe V2.

## Prasyarat
<a name="tutorials-ec2-deploy-prereqs"></a>

Ada beberapa sumber daya yang harus Anda miliki sebelum Anda dapat menggunakan tutorial ini untuk membuat pipeline CD Anda. Berikut adalah hal-hal yang Anda butuhkan untuk memulai:

**catatan**  
Semua sumber daya ini harus dibuat dalam AWS Wilayah yang sama.
+ Sebuah repositori kontrol sumber (tutorial ini menggunakan GitHub) di mana Anda akan menambahkan file sampel`script.sh`.
+ Anda harus menggunakan peran CodePipeline layanan yang ada yang telah diperbarui dengan izin untuk tindakan ini. Untuk memperbarui peran layanan Anda, lihat[Izin kebijakan peran layanan untuk tindakan penerapan EC2](action-reference-EC2Deploy.md#action-reference-EC2Deploy-permissions-action).

Setelah Anda memenuhi prasyarat ini, Anda dapat melanjutkan dengan tutorial dan membuat pipeline CD Anda.

## Langkah 1: Buat instans Amazon EC2 Linux
<a name="tutorials-ec2-deploy-instances"></a>

Pada langkah ini, Anda membuat instans Amazon EC2 di mana Anda akan menerapkan aplikasi sampel. Sebagai bagian dari proses ini, buat peran instance di IAM, jika Anda belum membuat peran instance di Wilayah tempat Anda ingin membuat sumber daya.

**Untuk membuat peran instance**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)).

1. Dari dasbor konsol, pilih **Peran**.

1. Pilih **Buat peran**.

1. Di bawah **Pilih jenis entitas tepercaya**, pilih **Layanan AWS**. Di bawah **Pilih kasus penggunaan**, pilih **EC2**. Di bawah **Pilih kasus penggunaan Anda**, pilih **EC2**. Pilih **Berikutnya**.

1. Cari dan pilih kebijakan bernama **`AmazonSSMManagedEC2InstanceDefaultPolicy`**. 

1. Cari dan pilih kebijakan bernama **`AmazonSSMManagedInstanceCore`**. Pilih **Berikutnya: Tanda**.

1. Pilih **Berikutnya: Tinjau**. Masukkan nama untuk peran (misalnya,**EC2InstanceRole**).
**catatan**  
Catat nama peran Anda untuk langkah selanjutnya. Anda memilih peran ini saat membuat instance Anda.
**catatan**  
Anda akan menambahkan izin ke peran ini untuk memungkinkan akses ke bucket artefak S3 untuk pipeline Anda setelah pembuatan pipeline.

   Pilih **Buat peran**.

**Untuk meluncurkan instance**

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

1. Dari navigasi samping, pilih **Instans**, dan pilih **Luncurkan instance** dari bagian atas halaman.

1. Di **Nama**, masukkan **MyInstances**. Ini memberikan contoh tag **Key** dari **Name** dan tag **Nilai** dari. **MyInstances** 

1. Di bawah **Application and OS Images (Amazon Machine Image)****, cari opsi Amazon Linux** AMI dengan AWS logo, dan pastikan itu dipilih. (AMI ini digambarkan sebagai Amazon Linux 2 AMI (HVM) dan diberi label “Memenuhi syarat tingkat gratis”.)

1. Di bawah **Jenis instans**, pilih `t2.micro` tipe yang memenuhi syarat tingkat gratis sebagai konfigurasi perangkat keras untuk instans Anda.

1. Di bawah **Key pair (login)**, pilih key pair atau buat satu. 

1. Di bawah **Pengaturan jaringan**, pastikan statusnya **Aktifkan**.

1. Perluas **Detail lanjutan**. Di **profil instans IAM**, pilih peran IAM yang Anda buat di prosedur sebelumnya (misalnya,**EC2InstanceRole**).
**catatan**  
Jangan biarkan peran instance kosong karena ini menciptakan peran default dan tidak memilih peran yang Anda buat.

1. Di bawah **Ringkasan**, di bawah **Jumlah instance**, masukkan`2`.

1. Pilih **Luncurkan instans**. 

1. Anda dapat melihat status peluncuran di halaman **Instans**. Saat Anda meluncurkan instans, status awalnya adalah `pending`. Setelah instans dimulai, statusnya berubah menjadi `running`, dan ia menerima nama DNS publik. (Jika kolom **DNS Publik** tidak ditampilkan, pilih ikon **Tampilkan/Sembunyikan**, lalu pilih DNS **Publik**.)

## Langkah 2: Tambahkan izin bucket artefak ke peran instans EC2
<a name="tutorials-ec2-deploy-role-s3"></a>

Anda harus memperbarui peran instans EC2 yang Anda buat untuk instans Anda agar dapat mengaksesnya ke bucket artefak pipeline Anda. 

**catatan**  
Saat membuat instance, Anda membuat atau menggunakan peran instans EC2 yang ada. Untuk menghindari `Access Denied` kesalahan, Anda harus menambahkan izin bucket S3 ke peran instance untuk memberikan izin instance ke bucket artefak CodePipeline . Buat peran default atau perbarui peran yang ada dengan `s3:GetObject` izin yang tercakup ke bucket artefak untuk Wilayah pipeline Anda.

1. Arahkan ke pipeline Anda di CodePipeline konsol. Pilih **Pengaturan**. Lihat nama dan lokasi penyimpanan artefak untuk pipa yang ada. Catat ember artefak Amazon Resource Name (ARN) dan salin.

1. Arahkan ke konsol IAM dan pilih **Peran**. Pilih peran instance yang Anda buat di Langkah 1 dari tutorial ini.

1. Pada tab **Izin**, pilih **Tambahkan kebijakan inline**.

1. Tambahkan JSON berikut ke dokumen kebijakan, ganti nilai di `Resource` bidang dengan bucket ARN.

   ```
   {
       "Effect": "Allow",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Resource": "arn:aws:s3:::BucketName"
   }
   ```

1. Pilih **Perbarui**.

## Langkah 3: Tambahkan file skrip ke repositori Anda
<a name="tutorials-ec2-deploy-file"></a>

Rekatkan teks contoh ini untuk membuat `script.sh` file Anda untuk langkah pasca-skrip dalam penerapan.

```
echo "Hello World!" 
```

**Untuk menambahkan `script.sh` file ke repositori sumber Anda**

1. Buka editor teks lalu salin dan tempel file di atas ke file baru.

1. Komit dan dorong `script.sh` file Anda ke repositori sumber Anda.

   1. Tambahkan file.

      ```
      git add .
      ```

   1. Lakukan perubahan.

      ```
      git commit -m "Adding script.sh."
      ```

   1. Dorong komit.

      ```
      git push
      ```

   Catat jalur di repositori Anda.

   ```
   /MyDemoRepo/test/script.sh
   ```

## Langkah 4: Membuat pipeline Anda
<a name="tutorials-ec2-deploy-pipeline"></a>

Gunakan CodePipeline wizard untuk membuat tahapan pipeline dan menghubungkan repositori sumber Anda.

**Untuk membuat alur Anda**

1. Buka CodePipeline konsol di [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Pada halaman **Selamat Datang**, halaman **Memulai**, atau halaman **Pipelines**, pilih **Buat pipeline**.

1. Pada **Langkah 1: Pilih halaman opsi pembuatan**, di bawah **Opsi pembuatan**, pilih opsi **Build custom pipeline**. Pilih **Berikutnya**.

1. Pada **Langkah 2: Pilih pengaturan pipeline**, dalam **nama Pipeline**, masukkan**MyPipeline**.

1. CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat [jenis pipa](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Untuk informasi tentang harga CodePipeline, lihat [Harga](https://aws.amazon.com/codepipeline/pricing/).

1. Di **peran Layanan**, pilih **Gunakan peran layanan yang ada**, lalu pilih peran CodePipeline layanan yang telah diperbarui dengan izin yang diperlukan untuk tindakan ini. Untuk mengonfigurasi peran CodePipeline layanan Anda untuk tindakan ini, lihat[Izin kebijakan peran layanan untuk tindakan penerapan EC2](action-reference-EC2Deploy.md#action-reference-EC2Deploy-permissions-action).

1. **Biarkan pengaturan di bawah **Pengaturan lanjutan** pada defaultnya, lalu pilih Berikutnya.**

1. Pada **Langkah 3: Tambahkan halaman tahap sumber**, tambahkan tahap sumber:

   1. Di **penyedia Sumber**, pilih **GitHub (melalui GitHub Aplikasi)**.

   1. Di bawah **Koneksi**, pilih koneksi yang ada atau buat yang baru. Untuk membuat atau mengelola koneksi untuk tindakan GitHub sumber Anda, lihat[GitHub koneksi](connections-github.md).

   1. Dalam nama **Repositori, pilih nama** repositori Anda GitHub .

   Pilih **Berikutnya**.

1. Pada **Langkah 4: Tambahkan halaman tahap build**, pilih **Lewati**.

1. Pada **Langkah 5: Tambahkan halaman tahap penerapan**, pilih **EC2**.  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/ec2deploy-action.png)

   1. Untuk **direktori Target**, masukkan direktori pada instance yang ingin Anda gunakan, seperti`/home/ec2-user/testhelloworld`.
**catatan**  
Tentukan direktori penyebaran yang Anda inginkan untuk digunakan tindakan pada instance. Tindakan akan mengotomatiskan pembuatan direktori yang ditentukan pada instance sebagai bagian dari penerapan.

   1. Untuk **PostScript**, masukkan jalur dan nama file untuk skrip Anda, seperti`test/script.sh`.

   1. Pilih **Berikutnya**.

1. Pada halaman **Langkah 6: Tinjau**, tinjau konfigurasi pipeline Anda dan pilih **Buat pipeline** untuk membuat pipeline.  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/ec2deploy-pipeline.png)

1. Setelah pipeline berhasil berjalan, pilih **Lihat detail** untuk melihat log pada tindakan untuk melihat keluaran tindakan komputasi terkelola.  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/ec2deploy-logs.png)  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/ec2deploy-logs2.png)

## Langkah 5: Uji Pipa Anda
<a name="tutorials-ec2-deploy-test"></a>

Pipeline Anda harus memiliki segalanya untuk menjalankan penerapan AWS berkelanjutan end-to-end asli. Sekarang, uji fungsinya dengan mendorong perubahan kode ke repositori sumber Anda.

**Untuk menguji pipa Anda**

1. Buat perubahan kode ke repositori sumber yang dikonfigurasi, komit, dan dorong perubahan.

1. Buka CodePipeline konsol di [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Pilih pipeline Anda dari daftar.

1. Perhatikan kemajuan pipa melalui tahapannya. Pipeline Anda harus selesai dan tindakan Anda menerapkan skrip pada instance Anda.

1. Untuk informasi pemecahan masalah selengkapnya, lihat [Tindakan Penerapan EC2 gagal dengan pesan kesalahan `No such file`](troubleshooting.md#troubleshooting-ec2-deploy).