

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 Instance 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**.  
![\[VPC configuration form with public and private subnet details for 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.

![\[VPC Dashboard showing three subnets with their IDs, states, and IPv4 CIDR ranges.\]](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 EC2 instance yang mengontrol lalu lintas ke dan dari EC2 instance di klaster
+ Grup keamanan untuk Application Load Balancer yang mengontrol lalu lintas antara Application Load Balancer EC2 , instance, 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 EC2 instans, 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 EC2 konsol Amazon 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 instance EC2**

1. Pilih grup keamanan untuk EC2 instance 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 EC2 contoh 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 EC2 instance 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 EC2 instance dari daftar, misalnya, *Ethereum EC2 -SG*. Hal ini memungkinkan EC2 instance 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 EC2 instance 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 EC2 instance dari daftar. Hal ini memungkinkan koneksi keluar dari Application Load Balancer dan host bastion EC2 ke instance 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 Instance EC2
<a name="blockchain-templates-iam-roles"></a>

Saat Anda menggunakan template ini, Anda menentukan peran IAM untuk Amazon ECS dan profil EC2 instans. 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 EC2 instans 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 console interface for creating a role, with Elastic Container Service selected as the use case.\]](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.  
![\[AWSIAM console showing a role named "ECSRoleForEtherum" with its description.\]](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.  
![\[AWSIAM role summary page showing role ARN, description, and attached policies.\]](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/ecs-role-arn.png)

Profil EC2 instans yang Anda tentukan dalam templat diasumsikan oleh EC2 instance di jaringan Ethereum untuk berinteraksi dengan AWS layanan lain. 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 EC2 instance**

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 console showing Create policy page with name, description, and service permissions.\]](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 console showing Create role page with EthereumPolicyForEC2 policy selected.\]](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**.  
![\[AWSIAM interface showing a role named EC2RoleforEther with associated description and trusted entity.\]](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.  
![\[AWSIAM role summary page showing Role ARN and Instance Profile ARNs fields.\]](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 EC2 contoh 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 Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) di *Panduan EC2 Pengguna Amazon*.

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).  
![\[Green checkmark indicating successful instance launch with partially obscured instance ID.\]](http://docs.aws.amazon.com/id_id/blockchain-templates/latest/developerguide/images/bastion-instance.png)