Akses aplikasi kontainer secara pribadi di Amazon ECS dengan menggunakan AWS PrivateLink dan Network Load Balancer - AWS Prescriptive Guidance

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

Akses aplikasi kontainer secara pribadi di Amazon ECS dengan menggunakan AWS PrivateLink dan Network Load Balancer

Kirankumar Chandrashekar, Amazon Web Services

Pola ini menjelaskan cara meng-host aplikasi kontainer Docker secara pribadi di Amazon Elastic Container Service (Amazon ECS) di belakang Network Load Balancer, dan mengakses aplikasi dengan menggunakan AWS. PrivateLink Anda kemudian dapat menggunakan jaringan pribadi untuk mengakses layanan dengan aman di Amazon Web Services (AWS) Cloud. Amazon Relational Database Service (Amazon RDS) menghosting database relasional untuk aplikasi yang berjalan di Amazon ECS dengan ketersediaan tinggi (HA). Amazon Elastic File System (Amazon EFS) digunakan jika aplikasi memerlukan penyimpanan persisten.

Layanan Amazon ECS yang menjalankan aplikasi Docker, dengan Network Load Balancer di ujung depan, dapat dikaitkan dengan titik akhir virtual private cloud (VPC) untuk akses melalui AWS. PrivateLink Layanan endpoint VPC ini kemudian dapat dibagikan dengan orang lain VPCs dengan menggunakan titik akhir VPC mereka.

Anda juga dapat menggunakan AWS Fargate alih-alih grup Amazon Auto EC2 Scaling. Untuk informasi selengkapnya, lihat Mengakses aplikasi container secara pribadi di Amazon ECS dengan menggunakan AWS Fargate, PrivateLink AWS, dan Network Load Balancer.

Prasyarat

Menggunakan AWS PrivateLink untuk mengakses aplikasi container di Amazon ECS di belakang Network Load Balancer.

Tumpukan teknologi

  • Amazon CloudWatch

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • EC2 Auto Scaling Amazon

  • Amazon Elastic Container Registry (Amazon ECR)

  • Amazon ECS

  • Amazon RDS

  • Amazon Simple Storage Service (Amazon S3)

  • AWS Lambda

  • AWS PrivateLink

  • AWS Secrets Manager

  • Penyeimbang Beban Aplikasi

  • Penyeimbang Beban Jaringan

  • VPC

Otomatisasi dan skala

  • Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud.

  • EC2 Auto Scaling Amazon - Amazon EC2 Auto Scaling membantu Anda memastikan bahwa Anda memiliki jumlah instans EC2 Amazon yang benar yang tersedia untuk menangani pemuatan aplikasi Anda.

  • Amazon ECS - Amazon Elastic Container Service (Amazon ECS) adalah layanan manajemen kontainer yang sangat skalabel, cepat, yang memudahkan untuk menjalankan, menghentikan, dan mengelola kontainer di cluster.

  • Amazon ECR — Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri image container AWS terkelola yang aman, terukur, dan andal.

  • Amazon EFS — Amazon Elastic File System (Amazon EFS) menyediakan sistem file NFS elastis yang sederhana, dapat diskalakan, dan dikelola sepenuhnya untuk digunakan dengan layanan AWS Cloud dan sumber daya lokal.

  • AWS Lambda — Lambda adalah layanan komputasi untuk menjalankan kode tanpa menyediakan atau mengelola server.

  • Amazon RDS - Amazon Relational Database Service (Amazon RDS) adalah layanan web yang memudahkan pengaturan, pengoperasian, dan skala database relasional di AWS Cloud.

  • Amazon S3 - Amazon Simple Storage Service (Amazon S3) Simple Storage Service adalah penyimpanan untuk internet. Ini dirancang untuk membuat komputasi skala web lebih mudah bagi pengembang.

  • AWS Secrets Manager — Secrets Manager membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan menyediakan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram.

  • Amazon VPC — Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan.

  • Elastic Load Balancing — Elastic Load Balancing mendistribusikan lalu lintas aplikasi atau jaringan yang masuk ke beberapa target, seperti instans EC2 Amazon, kontainer, dan alamat IP, di beberapa Availability Zone.

  • Docker — Docker membantu pengembang untuk mengemas, mengirim, dan menjalankan aplikasi apa pun sebagai wadah yang ringan, portabel, dan mandiri.

TugasDeskripsiKeterampilan yang dibutuhkan

Buat sebuah VPC.

  1. Masuk ke AWS Management Console dan buka konsol Amazon VPC. Pilih Buat VPC, lalu pilih VPC dan lainnya. 

  2. Masukkan nama untuk VPC Anda, dan pilih rentang blok CIDR yang sesuai. 

  3. Tentukan dua Availability Zones, dua subnet publik, empat subnet pribadi. Dua subnet pribadi untuk tugas Amazon ECS, dan dua subnet pribadi untuk database Amazon RDS.

  4. Tentukan satu gateway NAT untuk setiap Availability Zone. 

  5. Pilih Buat VPC.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat Network Load Balancer.

  1. Buka EC2 konsol Amazon dan pilih Wilayah AWS yang berisi VPC Anda. 

  2. Di bawah Load balancing, pilih Load balancer, dan pilih Create load balancer

  3. Pilih Network Load Balancer, dan pilih Buat. 

  4. Pada halaman Configure load balancer, konfigurasikan Network Load Balancer dan listener Anda. Penting: Pastikan Anda memilih skema Network Load Balancer sebagai Internal

  5. Pilih pengaturan keamanan yang berlaku, konfigurasikan grup keamanan dan grup target. Pilih Instance atau IP sebagai tipe Target di bagian Configure routing. Pastikan Anda tidak mendaftarkan target. 

  6. Ketika Anda telah mengonfigurasi semua pengaturan, pilih Berikutnya: Tinjau, lalu pilih Buat.

Administrator awan

Buat Application Load Balancer.

  1. Di EC2 konsol Amazon, pilih Wilayah yang sama yang berisi VPC Anda.

  2. Di bawah Load balancing, pilih Load balancer, dan pilih Create load balancer.

  3. Pilih Application Load Balancer, dan pilih Create. 

  4. penting

    Konfigurasikan Application Load Balancer Anda dan pendengarnya. Pastikan Anda memilih skema Application Load Balancer sebagai Internal

  5. Pilih pengaturan keamanan yang berlaku, konfigurasikan grup keamanan dan grup target. Pilih Instance atau IP sebagai tipe Target di bagian Configure routing. Pastikan Anda tidak mendaftarkan target. 

  6. Ketika Anda telah mengonfigurasi semua pengaturan, pilih Berikutnya: Tinjau, lalu pilih Buat.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat sistem file Amazon EFS.

  1. Buka konsol Amazon EFS, dan pilih Buat sistem file

  2. Dalam kotak dialog Buat sistem file, masukkan nama untuk sistem file Anda, dan pilih VPC Anda. 

  3. Pilih Buat untuk membuat sistem file. 

  4. Siapkan dan konfigurasikan sistem file Amazon EFS Anda.

Administrator awan

Pasang target untuk subnet.

  1. Kembali ke konsol Amazon EFS, dan pilih Sistem file. Halaman sistem File menunjukkan sistem file Amazon EFS di akun Anda. 

  2. Pilih sistem file yang Anda buat, dan pilih Kelola untuk menampilkan Availability Zones. Untuk menambahkan target mount, pilih Tambahkan target mount, dan tambahkan empat subnet pribadi yang Anda buat.

Administrator awan

Verifikasi bahwa subnet dipasang sebagai target.

  1. Di konsol Amazon EFS, pilih Sistem file

  2. Pilih Jaringan untuk menampilkan daftar target pemasangan yang ada. Pastikan bahwa ini termasuk empat subnet yang Anda buat.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat ember S3.

Buka konsol Amazon S3 dan buat bucket S3 untuk menyimpan aset statis aplikasi Anda, jika diperlukan.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat kunci AWS KMS untuk mengenkripsi rahasia Secrets Manager.

Buka konsol AWS Key Management Service (AWS KMS) dan buat kunci KMS.

Administrator awan

Buat rahasia Secrets Manager untuk menyimpan kata sandi Amazon RDS.

  1. Buka konsol AWS Secrets Manager, dan buat rahasia baru dengan memilih Simpan rahasia baru

  2. Pilih kunci KMS yang Anda buat, dan simpan rahasia baru Anda.

Administrator Awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat grup subnet DB.

  1. Buka konsol Amazon RDS dan pilih grup Subnet

  2. Pilih Buat grup subnet DB, dan masukkan nama dan deskripsi untuk grup subnet DB Anda. 

  3. Pilih VPC yang Anda buat sebelumnya, dan pilih Availability Zones dan subnet. Lalu pilih Buat.

Administrator awan

Buat instance Amazon RDS.

Buat dan konfigurasikan instans Amazon RDS dalam subnet pribadi. Pastikan Multi-AZ dihidupkan untuk HA.

Administrator awan

Muat data ke instans Amazon RDS.

Muat data relasional yang diperlukan oleh aplikasi Anda ke instans Amazon RDS Anda. Proses ini akan bervariasi tergantung pada kebutuhan aplikasi Anda, serta bagaimana skema database Anda didefinisikan dan dirancang.

Administrator awan, DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Buat cluster ECS.

  1. Buka konsol Amazon ECS, dan pilih Clusters.

  2. Pilih Buat cluster, dan siapkan cluster ECS sesuai dengan spesifikasi yang Anda butuhkan.

Administrator awan

Buat gambar Docker.

Buat gambar Docker dengan mengikuti petunjuk di bagian Sumber daya terkait.

Administrator awan

Buat repositori Amazon ECR.

  1. Di konsol Amazon ECR, pilih Repositori

  2. Pilih Buat repositori, dan masukkan nama unik untuk repositori Anda. 

  3. Konfigurasikan repositori sesuai dengan spesifikasi Anda, termasuk enkripsi AWS KMS jika diperlukan.

Administrator cloud, DevOps insinyur

Otentikasi klien Docker Anda untuk repositori Amazon ECR.

Untuk mengautentikasi klien Docker Anda untuk repositori Amazon ECR, jalankan perintah aws ecr get-login-password "di AWS CLI.

Administrator awan

Dorong gambar Docker ke repositori Amazon ECR.

  1. Identifikasi image Docker yang ingin Anda dorong, dan jalankan docker images perintah di AWS CLI. 

  2. Tandai gambar Anda dengan registri Amazon ECR, repositori, dan kombinasi nama tag gambar opsional. 

  3. Dorong gambar Docker dengan menjalankan docker push perintah. 

  4. Ulangi langkah-langkah ini untuk semua gambar yang diperlukan.

Administrator awan

Buat definisi tugas Amazon ECS.

Definisi tugas diperlukan untuk menjalankan kontainer Docker di Amazon ECS. 

  1. Kembali ke konsol Amazon ECS, pilih Definisi tugas, lalu pilih Buat definisi tugas baru

  2. Pada halaman Pilih kompatibilitas, pilih jenis peluncuran yang harus digunakan tugas Anda, dan pilih Langkah berikutnya.

penting

Untuk bantuan dalam mengatur definisi tugas, lihat “Membuat definisi tugas” di bagian Sumber daya terkait. Pastikan Anda memberikan gambar Docker yang Anda dorong ke Amazon ECR.

Administrator awan

Buat layanan Amazon ECS.

Buat layanan Amazon ECS dengan menggunakan cluster ECS yang Anda buat sebelumnya. Pastikan Anda memilih Amazon EC2 sebagai tipe peluncuran, dan pilih definisi tugas yang dibuat pada langkah sebelumnya, serta kelompok target Application Load Balancer.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat konfigurasi peluncuran.

Buka EC2 konsol Amazon, dan buat konfigurasi peluncuran. Pastikan bahwa data pengguna memiliki kode untuk memungkinkan EC2 instance bergabung dengan cluster ECS yang diinginkan. Untuk contoh kode yang diperlukan, lihat bagian Sumber daya terkait.

Administrator awan

Buat grup EC2 Auto Scaling Amazon.

Kembali ke EC2 konsol Amazon dan di bawah Auto Scaling, pilih grup Auto Scaling. Siapkan grup EC2 Auto Scaling Amazon. Pastikan Anda memilih subnet pribadi dan meluncurkan konfigurasi yang Anda buat sebelumnya.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan PrivateLink titik akhir AWS.

  1. Di konsol VPC Amazon, buat titik akhir PrivateLink AWS. 

  2. Kaitkan titik akhir ini dengan Network Load Balancer, yang membuat aplikasi yang dihosting di Amazon ECS tersedia secara pribadi bagi pelanggan. 

Untuk informasi selengkapnya, lihat bagian Sumber daya terkait.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat VPC endpoint

Buat titik akhir VPC untuk PrivateLink titik akhir AWS yang Anda buat sebelumnya. Endpoint VPC Fully Qualified Domain Name (FQDN) akan mengarah ke FQDN titik akhir AWS. PrivateLink Ini menciptakan sebuah elastic network interface ke layanan endpoint VPC yang dapat diakses oleh endpoint DNS.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat fungsi Lambda.

Di konsol AWS Lambda, buat fungsi Lambda untuk memperbarui alamat IP Application Load Balancer sebagai target untuk Network Load Balancer. Untuk informasi selengkapnya tentang ini, lihat posting blog Menggunakan AWS Lambda untuk mengaktifkan alamat IP statis untuk Application Load Balancers.

Pengembang aplikasi

Buat penyeimbang beban:

Buat sistem file Amazon EFS:

Buat ember S3:

Buat rahasia Secrets Manager:

Buat instance Amazon RDS:

Buat komponen Amazon ECS:

Buat grup EC2 Auto Scaling Amazon:

Siapkan AWS PrivateLink:

Buat titik akhir VPC:

Buat fungsi Lambda:

Sumber daya lainnya: