

AWS Blockchain Templates dihentikan pada 30 April 2019. Tidak ada pembaruan lebih lanjut untuk layanan ini atau dokumentasi pendukung ini akan dilakukan. Untuk pengalaman Blockchain Terkelola terbaik AWS, kami sarankan Anda menggunakan [Amazon Managed Blockchain (AMB)](https://aws.amazon.com/managed-blockchain/). Untuk mempelajari lebih lanjut tentang memulai dengan Amazon Managed Blockchain, lihat [lokakarya kami tentang Hyperledger Fabric](https://catalog.us-east-1.prod.workshops.aws/workshops/008da2cb-8454-42d0-877b-bc290bff7fcf/en-US), atau [blog kami tentang penerapan node Ethereum](https://aws.amazon.com/blogs/database/deploy-an-ethereum-node-on-amazon-managed-blockchain/). Jika Anda memiliki pertanyaan tentang AMB atau memerlukan dukungan lebih lanjut, [hubungi Dukungan](https://console.aws.amazon.com/support/home#/case/create?issueType=technical) atau tim AWS akun Anda.

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

# Siapkan Prasyarat
<a name="blockchain-template-getting-started-prerequisites"></a>

Template AWS Blockchain untuk konfigurasi Ethereum yang Anda tentukan dalam tutorial ini mengharuskan Anda melakukan hal berikut:
+ [Buat VPC dan Subnet](#blockchain-templates-create-a-vpc)
+ [Buat Grup Keamanan](#blockchain-templates-create-security-group)
+ [Membuat Peran IAM untuk Amazon ECS dan Profil Instans EC2](#blockchain-templates-iam-roles)
+ [Buat Host Bastion](#blockchain-templates-bastion-host)

## Buat VPC dan Subnet
<a name="blockchain-templates-create-a-vpc"></a>

Template AWS Blockchain untuk Ethereum meluncurkan sumber daya ke jaringan virtual yang Anda tentukan menggunakan Amazon Virtual Private Cloud (Amazon VPC). Konfigurasi yang Anda tentukan dalam tutorial ini menciptakan Application Load Balancer, yang membutuhkan dua subnet publik di Availability Zone yang berbeda. Selain itu, subnet pribadi diperlukan untuk instance container, dan subnet harus berada di Availability Zone yang sama dengan Application Load Balancer. Anda pertama kali menggunakan VPC Wizard untuk membuat satu subnet publik dan subnet pribadi di Availability Zone yang sama. Anda kemudian membuat subnet publik kedua dalam VPC ini di Availability Zone yang berbeda.

Untuk informasi lebih lanjut, lihat [Apa itu Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/) di* Panduan Pengguna Amazon VPC*.

Gunakan konsol Amazon VPC ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) untuk membuat alamat IP Elastis, VPC, dan subnet seperti yang dijelaskan di bawah ini.

**Untuk membuat Alamat IP elastis**

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

1. Pilih **elastis IPs**, **alokasikan alamat baru**, **alokasikan**.

1. Catat alamat IP Elastis yang Anda buat dan pilih **Tutup**.

1. Dalam daftar alamat IP elastis, temukan **ID Alokasi** untuk alamat IP elastis yang dibuat sebelumnya. Anda menggunakan ini saat Anda membuat VPC.

**Untuk membuat VPC**

1. Dari bilah navigasi, pilih Wilayah untuk VPC. VPCs khusus untuk Wilayah, jadi pilih Wilayah yang sama tempat Anda membuat key pair dan tempat Anda meluncurkan tumpukan Ethereum. Untuk informasi selengkapnya, lihat [Membuat Pasangan Kunci](blockchain-templates-setting-up.md#blockchain-templates-create-a-key-pair).

1. Di dasbor VPC, pilih **Start VPC Wizard** (Mulai Wizard VPC).

1. **Pada **Langkah 1: Pilih halaman Konfigurasi VPC**, pilih **VPC dengan Subnet Publik dan Pribadi**, Pilih.**

1. Pada **Langkah 2: VPC dengan halaman Subnet Publik dan Pribadi**, biarkan blok CIDR dan **blok IPv4 CIDR** ke nilai defaultnya **IPv6 .** Untuk nama **VPC, masukkan nama** yang ramah.

1. Untuk ** IPv4 CIDR subnet Public**, tinggalkan nilai default. Untuk **Availability Zone**, pilih zona. Untuk nama **subnet Publik, masukkan nama** yang ramah.

   Anda menentukan subnet ini sebagai salah satu dari dua subnet pertama untuk Application Load Balancer ketika Anda menggunakan template.

   Perhatikan Availability Zone subnet ini karena Anda memilih Availability Zone yang sama untuk subnet pribadi, dan yang berbeda untuk subnet publik lainnya.

1. Untuk ** IPv4 CIDR subnet Private**, tinggalkan nilai default. Untuk **Availability Zone**, pilih Availability Zone yang sama seperti pada langkah sebelumnya. Untuk nama **subnet pribadi, masukkan nama** yang ramah.

1. Untuk **ID Alokasi IP Elastis**, pilih alamat IP Elastis yang Anda buat sebelumnya.

1. Tinggalkan nilai default untuk pengaturan lain.

1. Pilih **Buat VPC**.

   **Contoh di bawah ini menunjukkan VPC **EthereumNetworkVPC** dengan subnet publik **EthereumPubSub1 dan subnet pribadi 1**. EthereumPvtSub** Subnet publik menggunakan Availability Zone **us-west-2a**.  
![Formulir konfigurasi VPC dengan detail subnet publik dan pribadi untuk EthereumVPC.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/VPC.png)

**Untuk membuat subnet publik kedua di Availability Zone yang berbeda**

1. Pilih **Subnet** dan kemudian pilih subnet publik yang Anda buat sebelumnya dari daftar. Pilih tab **Route Table** dan perhatikan ID **tabel Route**. Anda menentukan tabel rute yang sama untuk subnet publik kedua di bawah ini.

1. Pilih **Buat Subnet**

1. Untuk **Tanda nama**, masukkan nama untuk subnet. Anda menggunakan nama ini nanti ketika Anda membuat host bastion di jaringan ini.

1. Untuk **VPC**, pilih VPC yang Anda buat sebelumnya.

1. Untuk **Availability Zone**, pilih zona berbeda dari zona yang Anda pilih untuk subnet publik pertama.

1. Untuk **blok IPv4 CIDR**, masukkan **10.0.2.0/24**.

1. Pilih **Ya, Buat**. Subnet ditambahkan ke daftar subnet.

1. Dengan subnet yang dipilih dari daftar, pilih **Tindakan Subnet, Ubah pengaturan** **IP penetapan otomatis**. **Pilih **Tetapkan otomatis IPs**, **Simpan, Tutup**.** Ini memungkinkan host bastion untuk mendapatkan alamat IP publik saat Anda membuatnya di subnet ini.

1. Pada tab **Tabel Rute**, pilih **Edit**. Untuk **Ubah ke**, pilih ID tabel rute yang Anda catat sebelumnya dan pilih **Simpan**.

Anda sekarang akan melihat tiga subnet untuk VPC yang Anda buat sebelumnya. Catat nama subnet dan IDs agar Anda dapat menentukannya menggunakan templat.

![Dasbor VPC menampilkan tiga subnet dengan rentang IDs, status, dan IPv4 CIDR.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/subnets-listing.png)


## Buat Grup Keamanan
<a name="blockchain-templates-create-security-group"></a>

Kelompok keamanan bertindak sebagai firewall, mengendalikan lalu lintas masuk dan keluar ke sumber daya. Saat Anda menggunakan template untuk membuat jaringan Ethererum di klaster Amazon ECS, Anda menentukan dua grup keamanan:
+ Grup keamanan untuk instans EC2 yang mengontrol lalu lintas ke dan dari instans EC2 di klaster
+ Grup keamanan untuk Application Load Balancer yang mengontrol lalu lintas antara Application Load Balancer, instans EC2, dan host bastion. Anda mengaitkan grup keamanan ini dengan host benteng juga.

Setiap grup keamanan memiliki aturan yang memungkinkan komunikasi antara Application Load Balancer dan instans EC2, serta aturan minimum lainnya. Ini mengharuskan kelompok keamanan saling merujuk. Untuk alasan ini, pertama-tama Anda membuat grup keamanan dan kemudian memperbaruinya dengan aturan yang sesuai.

**Untuk membuat dua grup keamanan**

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

1. Di panel navigasi, pilih **Grup Keamanan**, **Buat Grup Keamanan**.

1. *Untuk **nama grup Keamanan**, masukkan nama untuk grup keamanan yang mudah diidentifikasi dan akan membedakannya dari yang lain, seperti *Ethereum EC2 -SG atau EthereumAlb-SG*.* Anda menggunakan nama-nama ini nanti. Untuk **Deskripsi**, masukkan ringkasan singkat.

1. Untuk **VPC**, pilih VPC yang Anda buat sebelumnya.

1. Pilih **Buat**.

1. Ulangi langkah-langkah di atas untuk membuat grup keamanan lainnya.

**Menambahkan aturan masuk ke grup keamanan untuk instans EC2**

1. Pilih grup keamanan untuk instans EC2 yang Anda buat sebelumnya

1. Pada tab **Ke dalam**, pilih **Edit**.

1. Untuk **Tipe**, pilih **Semua lalu lintas**. Untuk **Sumber**, biarkan **Kustom** dipilih, lalu pilih grup keamanan yang sedang Anda edit dari daftar, misalnya, *Ethereum EC2 -SG*. Hal ini memungkinkan instans EC2 dalam kelompok keamanan untuk berkomunikasi satu sama lain.

1. Pilih **Tambahkan aturan**.

1. Untuk **Tipe**, pilih **Semua lalu lintas**. *Untuk **Sumber**, biarkan **Kustom** dipilih, lalu pilih grup keamanan untuk Application Load Balancer dari daftar, misalnya, EthereumAlb-SG.* Hal ini memungkinkan instans EC2 dalam grup keamanan untuk berkomunikasi dengan Application Load Balancer.

1. Pilih **Simpan**.

**Menambahkan aturan masuk dan mengedit keluar untuk grup keamanan untuk Application Load Balancer**

1. Pilih grup keamanan untuk Application Load Balancers yang Anda buat sebelumnya

1. Pada tab **Inbound**, pilih **Edit** lalu tambahkan aturan masuk berikut:

   1. Untuk **Tipe**, pilih **Semua lalu lintas**. Untuk **Sumber**, biarkan **Kustom** dipilih, lalu pilih grup keamanan yang sedang Anda edit dari daftar, misalnya, *EthereumAlb-SG*. Hal ini memungkinkan Application Load Balancer untuk berkomunikasi dengan dirinya sendiri dan dengan host bastion.

   1. Pilih **Tambahkan aturan**.

   1. Untuk **Tipe**, pilih **Semua lalu lintas**. Untuk **Sumber**, biarkan **Kustom** dipilih, lalu pilih grup keamanan untuk instans EC2 dari daftar, misalnya, *Ethereum EC2* -SG. Hal ini memungkinkan instans EC2 dalam grup keamanan untuk berkomunikasi dengan Application Load Balancer dan host bastion.

   1. Pilih **Add Rule** (Tambahkan Aturan).

   1. Untuk **Tipe**, pilih **SSH**. Untuk **Sumber**, pilih **IP Saya**, yang mendeteksi CIDR IP komputer Anda dan memasukkannya.
**penting**  
Aturan ini memungkinkan host bastion untuk menerima lalu lintas SSH dari komputer Anda, memungkinkan komputer Anda menggunakan host bastion untuk melihat antarmuka web dan terhubung ke instans EC2 di jaringan Ethereum. Untuk memungkinkan orang lain terhubung ke jaringan Ethereum, tambahkan mereka sebagai sumber ke aturan ini. Hanya izinkan lalu lintas masuk ke sumber tepercaya.

   1. Pilih **Simpan**.

1. Pada tab **Keluar**, pilih **Edit** dan hapus aturan yang dibuat secara otomatis untuk mengizinkan lalu lintas keluar ke semua alamat IP.

1. Pilih **Tambahkan aturan**.

1. Untuk **Tipe**, pilih **Semua lalu lintas**. Untuk **Tujuan**, biarkan **Kustom** dipilih, lalu pilih grup keamanan untuk instans EC2 dari daftar. Hal ini memungkinkan koneksi keluar dari Application Load Balancer dan host bastion ke instans EC2 di jaringan Ethereum.

1. Pilih **Tambahkan aturan**.

1. Untuk **Tipe**, pilih **Semua lalu lintas**. Untuk **Tujuan**, biarkan **Kustom** dipilih, lalu pilih grup keamanan yang sedang Anda edit dari daftar, misalnya, *EthereumAlb-SG*. Hal ini memungkinkan Application Load Balancer untuk berkomunikasi dengan dirinya sendiri dan dengan host bastion.

1. Pilih **Simpan**.

## Membuat Peran IAM untuk Amazon ECS dan Profil Instans EC2
<a name="blockchain-templates-iam-roles"></a>

Saat Anda menggunakan template ini, Anda menentukan peran IAM untuk Amazon ECS dan profil instans EC2. Kebijakan izin yang dilampirkan pada peran ini memungkinkan sumber daya AWS dan instance di klaster Anda berinteraksi dengan sumber daya AWS lainnya. Untuk informasi lebih lanjut, lihat [Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) dalam *Panduan Pengguna IAM*. Anda mengatur peran IAM untuk Amazon ECS dan profil instans EC2 menggunakan konsol IAM (). [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

**Untuk membuat peran IAM untuk Amazon ECS**

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

1. Dalam panel navigasi, pilih **Roles** (Peran), **Create role** (Buat Peran).

1. Di bawah **Pilih jenis entitas tepercaya**, pilih **Layanan AWS**.

1. Untuk **Choose the service that will use this role** (Pilih layanan yang akan menggunakan peran ini), pilih ** Elastic Container Service**.

1. Di bawah **Pilih kasus penggunaan Anda**, pilih **Layanan Kontainer Elastis**, **Berikutnya:Izin**.  
![AWS antarmuka konsol untuk membuat peran, dengan Elastic Container Service dipilih sebagai kasus penggunaan.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ecs-role.png)

1. Untuk kebijakan **Izin, biarkan kebijakan** default (**Amazon EC2 ContainerServiceRole**) dipilih, dan pilih **Next:Review**.

1. Untuk **nama Peran**, masukkan nilai yang membantu Anda mengidentifikasi peran, seperti *ECSRoleForEthereum*. Untuk **Deskripsi Peran**, masukkan ringkasan singkat. Perhatikan nama peran untuk nanti.

1. Pilih **Buat peran**.

1. Pilih peran yang baru saja Anda buat dari daftar. Jika akun Anda memiliki banyak peran, Anda dapat mencari nama peran.  
![IAM konsol yang menampilkan ECSRole ForEtherium peran yang dipilih dalam daftar peran dengan filter pencarian.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ecs-role-list.png)

1. Salin nilai **ARN Peran** dan simpan sehingga Anda dapat menyalinnya lagi. Anda memerlukan ARN ini saat membuat jaringan Ethereum.  
![AWS IAM halaman ringkasan peran yang menampilkan ARN peran, deskripsi, dan kebijakan terlampir.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ecs-role-arn.png)

Profil instans EC2 yang Anda tentukan dalam template diasumsikan oleh instans EC2 di jaringan Ethereum untuk berinteraksi dengan layanan lain. AWS Anda membuat kebijakan izin untuk peran, membuat peran (yang secara otomatis membuat profil instance dengan nama yang sama), lalu melampirkan kebijakan izin ke peran tersebut.

**Untuk membuat profil instans EC2**

1. Di panel navigasi, pilih **Kebijakan**, **Buat kebijakan**.

1. Pilih **JSON** dan ganti pernyataan kebijakan default dengan kebijakan JSON berikut:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ecs:CreateCluster",
                   "ecs:DeregisterContainerInstance",
                   "ecs:DiscoverPollEndpoint",
                   "ecs:Poll",
                   "ecs:RegisterContainerInstance",
                   "ecs:StartTelemetrySession",
                   "ecs:Submit*",
                   "ecr:GetAuthorizationToken",
                   "ecr:BatchCheckLayerAvailability",
                   "ecr:GetDownloadUrlForLayer",
                   "ecr:BatchGetImage",
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "dynamodb:BatchGetItem",
                   "dynamodb:BatchWriteItem",
                   "dynamodb:PutItem",
                   "dynamodb:DeleteItem",
                   "dynamodb:GetItem",
                   "dynamodb:Scan",
                   "dynamodb:Query",
                   "dynamodb:UpdateItem"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Pilih **Tinjau kebijakan**.

1. Untuk **Nama**, masukkan nilai yang membantu Anda mengidentifikasi kebijakan izin ini, misalnya *EthereumPolicyForEC2*. Untuk **Deskripsi**, masukkan ringkasan singkat. Pilih **Buat kebijakan**.  
![AWS konsol yang menampilkan Buat halaman kebijakan dengan nama, deskripsi, dan izin layanan.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ec2-perms-policy.png)

1. Pilih **Peran**, **Buat peran**.

1. Pilih **EC2**, **Berikutnya: Izin**.

1. Di bidang **Pencarian**, masukkan nama kebijakan izin yang Anda buat sebelumnya, misalnya *EthereumPolicyForEC2*.

1. Pilih tanda centang untuk kebijakan yang Anda buat sebelumnya, dan pilih **Berikutnya: Tinjau**.  
![AWS konsol yang menampilkan Buat halaman peran dengan EthereumPolicyFor EC2 kebijakan yang dipilih.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ec2-select-policy.png)

1. Untuk **nama Peran**, masukkan nilai yang membantu Anda mengidentifikasi peran, misalnya *EC2RoleForEthereum*. **Untuk **deskripsi peran**, masukkan ringkasan singkat.Pilih Buat peran.**

1. Pilih peran yang baru saja Anda buat dari daftar. Jika akun Anda memiliki banyak peran, Anda dapat memasukkan nama peran di kolom **Pencarian**.  
![AWS IAM antarmuka yang menunjukkan peran bernama EC2 RoleforEther dengan deskripsi terkait dan entitas tepercaya.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ec2-select-role.png)

1. Salin nilai **ARN Profil Instance** dan simpan sehingga Anda dapat menyalinnya lagi. Anda memerlukan ARN ini saat membuat jaringan Ethereum.  
![AWS IAM halaman ringkasan peran yang menampilkan bidang ARN Peran dan Profil ARNs Instance.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ec2-role-arn.png)

## Buat Host Bastion
<a name="blockchain-templates-bastion-host"></a>

Dalam tutorial ini, Anda membuat host benteng. Ini adalah instans EC2 yang Anda gunakan untuk terhubung ke antarmuka web dan instance di jaringan Ethereum Anda. Tujuan utamanya adalah untuk meneruskan lalu lintas SSH dari klien tepercaya di luar VPC sehingga mereka dapat mengakses sumber daya jaringan Ethereum.

Anda mengatur host bastion karena Application Load Balancer yang dibuat template bersifat internal, artinya hanya merutekan alamat IP internal. Tuan rumah benteng:
+ Memiliki alamat IP internal yang dikenali Application Load Balancer karena Anda meluncurkannya di subnet publik kedua yang Anda buat sebelumnya.
+ Memiliki alamat IP publik yang diberikan subnet, yang dapat diakses oleh sumber tepercaya di luar VPC.
+ Terkait dengan grup keamanan untuk Application Load Balancer yang Anda buat sebelumnya, yang memiliki aturan masuk yang memungkinkan lalu lintas SSH (port 22) dari klien tepercaya.

Untuk dapat mengakses jaringan Ethereum, klien tepercaya perlu diatur untuk terhubung melalui host benteng. Untuk informasi selengkapnya, lihat [Connect ke EthStats dan EthExplorer Menggunakan Bastion Host](blockchain-bastion-host-connect.md). Tuan rumah benteng adalah salah satu pendekatan. Anda dapat menggunakan pendekatan apa pun yang menyediakan akses dari klien tepercaya ke sumber daya pribadi dalam VPC.

**Untuk membuat host benteng**

1. Ikuti lima langkah pertama untuk [Meluncurkan Instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) di *Panduan Pengguna Amazon EC2*.

1. Pilih **Edit Detail Instance**. Untuk **Jaringan**, pilih VPC yang Anda buat sebelumnya, untuk **Subnet pilih subnet** publik kedua yang Anda buat sebelumnya. Biarkan semua pengaturan lainnya ke defaultnya.

1. Konfirmasikan perubahan saat diminta, lalu pilih **Tinjau dan Luncurkan**.

1. Pilih **Edit Grup Keamanan**. Untuk **Tetapkan grup keamanan**, pilih **Pilih grup keamanan yang sudah ada**.

1. Dari daftar grup keamanan, pilih grup keamanan untuk Application Load Balancer yang Anda buat sebelumnya, lalu pilih **Tinjau dan** Luncurkan.

1. Pilih **Luncurkan**.

1. Perhatikan ID instance. Anda membutuhkannya nanti ketika Anda[Connect ke EthStats dan EthExplorer Menggunakan Bastion Host](blockchain-bastion-host-connect.md).  
![Tanda centang hijau menunjukkan peluncuran instans yang berhasil dengan ID instans yang dikaburkan sebagian.](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/bastion-instance.png)