Siapkan Prasyarat - AWS Blockchain Templates

Blockchain Templates AWS dihentikan pada 30 April 2019. Tidak ada pembaruan lebih lanjut untuk layanan ini atau dokumentasi pendukung ini akan dibuat. Untuk pengalaman Blockchain Terkelola terbaikAWS, kami sarankan Anda menggunakan Amazon Managed Blockchain (AMB). Jika Anda memiliki pertanyaan tentang AMB atau memerlukan dukungan lebih lanjut untuk memindahkan beban kerja Anda ke AMB, hubungi,AWS Support atau timAWS akun Anda.

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

Siapkan Prasyarat

AWS Blockchain Template untuk konfigurasi Ethereum yang Anda tentukan dalam tutorial ini mengharuskan Anda melakukan hal berikut:

Membuat VPC dan Subnet

Template 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 membuat 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. Kemudian Anda membuat subnet publik kedua di VPC ini di Availability Zone yang berbeda.

Untuk informasi lebih lanjut, lihat Apa itu Amazon VPC? di Panduan Pengguna Amazon VPC.

Menggunakan konsol Amazon 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 Amazon VPC di https://console.aws.amazon.com/vpc/.

  2. PilihIP elastis,Alokasikan alamat baru,Mengalokasikan.

  3. Buat catatan alamat IP elastis yang Anda buat dan pilihtutup.

  4. Dalam daftar alamat IP elastis, temukan alamatID alokasiuntuk alamat IP Elastic dibuat sebelumnya. Anda menggunakan ini saat membuat VPC.

Untuk membuat VPC

  1. Di bilah navigasi, pilih Wilayah untuk VPC. VPC khusus untuk suatu Wilayah, jadi pilih Wilayah yang sama tempat Anda membuat key pair dan tempat Anda meluncurkan tumpukan Ethereum. Untuk informasi selengkapnya, lihat Membuat Pasangan Kunci.

  2. Di dasbor VPC, pilih Start VPC Wizard (Mulai Wizard VPC).

  3. Di Langkah 1: Pilih Konfigurasi VPChalaman, pilihVPC dengan Subnet Publik dan Pribadi,Pilih.

  4. Di Langkah 2: VPC dengan Subnet Publik dan Pribadihalaman, tinggalkanBlok CIDR IPv4danBlok CIDR IPv6ke nilai default mereka. UntukNama VPC, masukkan nama yang ramah.

  5. UntukCIDR IPv4 Subnet Publik, tinggalkan nilai default. UntukAvailability Zone, pilih zona. UntukNama 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.

  6. UntukCIDR IPv4 subnet privat, tinggalkan nilai default. UntukAvailability Zone, pilih Availability Zone yang sama seperti pada langkah sebelumnya. UntukNama subnet pribadi, masukkan nama yang ramah.

  7. UntukID Alokasi IP elastis, pilih alamat IP elastis yang Anda buat sebelumnya.

  8. Tinggalkan nilai default untuk pengaturan lainnya.

  9. Pilih Buat VPC.

    Contoh di bawah ini menunjukkan VPCEthereumNetworkVPCdengan subnet publikEthereumPubSub1dan subnet privatEthereumPvtSub1. Subnet publik menggunakan Availability Zoneus-west-2a.

Membuat subnet publik kedua di Availability Zone yang berbeda

  1. PilihSubnetlalu pilih subnet publik yang Anda buat sebelumnya dari daftar. PilihTabel Rutetab dan perhatikanTabel ruteID Anda menentukan tabel rute yang sama untuk subnet publik kedua di bawah ini.

  2. Pilih Buat Subnet

  3. Untuk Tanda nama, masukkan nama untuk subnet. Anda menggunakan nama ini nanti ketika Anda membuat host benteng di jaringan ini.

  4. UntukVPC, pilih VPC yang Anda buat sebelumnya.

  5. UntukAvailability Zone, pilih zona yang berbeda dari zona yang Anda pilih untuk subnet publik pertama.

  6. UntukBlok CIDR IPv4masukkan10.0.2.0/24.

  7. Pilih Ya, Buat. Subnet ditambahkan ke daftar subnet.

  8. Dengan subnet yang dipilih dari daftar, pilihTindakan subnet,Modifikasi pengaturan penetapan otomatis IP. PilihPenetapan otomatis IP,Simpan,tutup. Hal ini memungkinkan host benteng untuk mendapatkan alamat IP publik ketika Anda membuatnya di subnet ini.

  9. PadaTabel Rutetab, pilihMengedit. UntukUbah ke, pilih ID tabel rute yang Anda catat sebelumnya dan pilihSimpan.

Sekarang Anda harus melihat tiga subnet untuk VPC yang Anda buat sebelumnya. Membuat catatan dari nama subnet dan ID sehingga Anda dapat menentukan mereka menggunakan template.

Buat Grup Keamanan

Grup keamanan bertindak sebagai firewall, mengendalikan lalu lintas masuk dan keluar untuk sumber daya. Saat Anda menggunakan template untuk membuat jaringan Ethererum di klaster Amazon ECS, Anda menetapkan 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 mengasosiasikan grup keamanan ini dengan tuan rumah benteng juga.

Setiap grup keamanan memiliki aturan yang memungkinkan komunikasi antara Application Load Balancer dan instans EC2, serta aturan minimum lainnya. Hal ini mengharuskan kelompok keamanan referensi satu sama lain. Untuk alasan ini, Anda pertama kali membuat grup keamanan dan kemudian memperbaruinya dengan aturan yang sesuai.

Membuat dua grup keamanan

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Grup Keamanan, Buat Grup Keamanan.

  3. UntukNama grup keamanan, masukkan nama untuk grup keamanan yang mudah dikenali dan akan membedakannya dari yang lain, sepertiEthereumEC2-SGatauEthereumalb-SG. Anda menggunakan nama-nama ini nanti. UntukDeskripsi, masukkan ringkasan singkat.

  4. UntukVPC, pilih VPC yang Anda buat sebelumnya.

  5. Pilih Create (Buat).

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

Tambahkan aturan masuk ke grup keamanan untuk instans EC2

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

  2. Pada tab Masuk, pilih Edit.

  3. Untuk Jenis, pilih Semua lalu lintas. UntukSumbertinggalkanKhususdipilih, dan kemudian pilih grup keamanan yang sedang Anda edit dari daftar, misalnya,EthereumEC2-SG. Hal ini memungkinkan instans EC2 dalam grup keamanan untuk berkomunikasi satu sama lain.

  4. Pilih Tambahkan aturan.

  5. Untuk Jenis, pilih Semua lalu lintas. UntukSumbertinggalkanKhususdipilih, dan kemudian 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.

  6. Pilih Save (Simpan).

Tambahkan aturan masuk dan edit keluar untuk grup keamanan untuk Application Load Balancer

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

  2. PadaInboundtab, pilihMengeditlalu tambahkan aturan masuk berikut:

    1. Untuk Jenis, pilih Semua lalu lintas. UntukSumbertinggalkanKhususdipilih, dan kemudian 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 benteng.

    2. Pilih Tambahkan aturan.

    3. Untuk Jenis, pilih Semua lalu lintas. UntukSumbertinggalkanKhususdipilih, dan kemudian pilih grup keamanan untuk instans EC2 dari daftar, misalnya,EthereumEC2-SG. Hal ini memungkinkan instans EC2 dalam grup keamanan untuk berkomunikasi dengan Application Load Balancer dan host bastion.

    4. Pilih Add Rule (Tambahkan Aturan).

    5. Untuk Type (Tipe), pilih SSH. UntukSumber, pilihIP saya, yang mendeteksi IP CIDR komputer Anda dan memasukinya.

      penting

      Aturan ini memungkinkan host benteng untuk menerima lalu lintas SSH dari komputer Anda, memungkinkan komputer Anda menggunakan host benteng 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.

    6. Pilih Save (Simpan).

  3. PadaOutboundtab, pilihMengeditdan hapus aturan yang dibuat secara otomatis untuk memungkinkan lalu lintas ke luar ke semua alamat IP.

  4. Pilih Tambahkan aturan.

  5. Untuk Jenis, pilih Semua lalu lintas. UntukTujuantinggalkanKhususdipilih, dan kemudian 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.

  6. Pilih Tambahkan aturan.

  7. Untuk Jenis, pilih Semua lalu lintas. UntukTujuantinggalkanKhususdipilih, dan kemudian 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 benteng.

  8. Pilih Save (Simpan).

Buat IAM role untuk Amazon ECS dan Profil Instans EC2

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

Membuat IAM role untuk Amazon ECS

  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

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

  3. Di bawah Pilih jenis entitas tepercaya, pilih Layanan AWS.

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

  5. Di bawahPilih kasus penggunaan Anda, pilihLayanan Kontainer elastis,Berikutnya:Izin.

  6. UntukKebijakan izin, meninggalkan kebijakan default (Amazonec2ContainerServicePeran) dipilih, dan pilihBerikutnya:Ulasan.

  7. UntukNama peran, masukkan nilai yang membantu Anda mengidentifikasi peran tersebut, misalnyaECSRoleForEthereum. UntukDeskripsi peran, masukkan ringkasan singkat. Perhatikan nama peran untuk nanti.

  8. Pilih Create role (Buat peran).

  9. Pilih peran yang baru Anda buat dari daftar. Jika akun Anda memiliki banyak peran, Anda dapat mencari nama peran.

  10. SalinARN Perannilai dan simpan sehingga Anda dapat menyalinnya lagi. Anda memerlukan ARN ini saat membuat jaringan Ethereum.

Profil instans EC2 yang Anda tentukan dalam template diasumsikan oleh instans EC2 di jaringan Ethereum untuk berinteraksi dengan yang lainAWSlayanan. Anda membuat kebijakan izin untuk peran, membuat peran (yang secara otomatis membuat profil instans dengan nama yang sama), dan kemudian melampirkan kebijakan izin ke peran.

Untuk membuat profil instans EC2

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

  2. PilihJSONdan 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": "*" } ] }
  3. Pilih Tinjau kebijakan.

  4. UntukNama, masukkan nilai yang membantu Anda mengidentifikasi kebijakan izin ini, misalnyaEthereumPolicyForec2. UntukDeskripsi, masukkan ringkasan singkat. Pilih Buat kebijakan.

  5. Pilih Peran, Buat peran.

  6. PilihEC2,Selanjutnya: Izin.

  7. DiCaribidang, masukkan nama kebijakan izin yang Anda buat sebelumnya, misalnyaEthereumPolicyForec2.

  8. Pilih tanda centang kebijakan yang Anda buat sebelumnya, lalu pilihSelanjutnya: Tinjau.

  9. UntukNama peran, masukkan nilai yang membantu Anda mengidentifikasi peran tersebut, misalnyaEC2RoleForEthereum. UntukDeskripsi peran, masukkan ringkasan singkat.PilihBuat peran.

  10. Pilih peran yang baru Anda buat dari daftar. Jika akun Anda memiliki banyak peran, Anda dapat memasukkan nama peran diCaribidang.

  11. SalinProfil instans ARNnilai dan menyimpannya sehingga Anda dapat menyalinnya lagi. Anda memerlukan ARN ini saat membuat jaringan Ethereum.

Membuat Host Bastion

Dalam tutorial ini, Anda membuathost 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, yang berarti hanya merutekan alamat IP internal. Host bastion:

  • Memiliki alamat IP internal yang diakui 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 terpercaya 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 disiapkan untuk terhubung melalui host benteng. Untuk informasi selengkapnya, lihat Sambungkan keEthStatsdanEthExplorerMenggunakan Host Bastion. 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 bastion

  1. Ikuti lima langkah pertamaLuncurkan sebuah InstansdiPanduan Pengguna Amazon EC2 untuk Instans Linux.

  2. PilihEdit Detail Instans. UntukJaringan, pilih VPC yang Anda buat sebelumnya, untukSubnetpilih subnet publik kedua yang Anda buat sebelumnya. Biarkan semua pengaturan lain sesuai default-nya.

  3. Konfirmasikan perubahan saat diminta, lalu pilihMemeriksa dan meluncurkan.

  4. PilihEdit Grup Keamanan. Untuk Tetapkan grup keamanan, pilih Pilih grup keamanan yang sudah ada.

  5. Dari daftar grup keamanan, pilih grup keamanan untuk Application Load Balancer yang Anda buat sebelumnya, lalu pilihMemeriksa dan meluncurkan.

  6. Pilih Luncurkan.

  7. Perhatikan ID instance. Anda membutuhkannya nanti ketika AndaSambungkan keEthStatsdanEthExplorerMenggunakan Host Bastion.