Menggunakan Elastic Beanstalk dengan Amazon VPC - AWS Elastic Beanstalk

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

Menggunakan Elastic Beanstalk dengan Amazon VPC

Anda dapat menggunakan Amazon Virtual Private Cloud(Amazon VPC) untuk membuat jaringan yang aman untuk aplikasi Elastic Beanstalk Anda dan terkait sumber daya AWS. Ketika Anda membuat lingkungan Anda, Anda memilih VPC, subnet, dan grup keamanan yang digunakan untuk instans aplikasi Anda dan penyeimbang beban. Anda dapat menggunakan konfigurasi VPC yang Anda sukai selama memenuhi persyaratan berikut.

Persyaratan VPC
  • Akses Internet – Instans dapat memiliki akses ke internet melalui salah satu metode berikut:

    • Subnet Publik – Instans memiliki alamat IP publik dan menggunakan Gateway Internet untuk mengakses internet.

    • Subnet Pribadi – Instans menggunakan perangkat NAT untuk mengakses internet.

    catatan

    Jika Anda mengonfigurasi VPC endpoint di VPC Anda untuk terhubung ke layanan elasticbeanstalk dan elasticbeanstalk-health, akses internet bersifat opsional, dan hanya diperlukan jika aplikasi Anda secara khusus membutuhkannya. Tanpa VPC endpoint, VPC Anda harus memiliki akses ke internet.

    Default VPC yang Elastic Beanstalk atur untuk Anda menyediakan akses internet.

    Elastic Beanstalk tidak mendukung pengaturan proksi seperti HTTPS_PROXY untuk mengonfigurasi proksi web.

  • NTP – Instans dalam lingkungan Elastic Beanstalk Anda menggunakan Network Time Protocol (NTP) untuk menyinkronkan jam sistem. Jika instans tidak dapat berkomunikasi pada UDP port 123, jam mungkin tidak sinkron, menyebabkan masalah dengan pelaporan kondisi Elastic Beanstalk. Pastikan bahwa grup keamanan VPC dan ACL jaringan mengizinkan inbound dan outbound UDP lalu lintas pada port 123 untuk menghindari masalah ini.

Parameterelastic-beanstalk-samplesrepositori menyediakanAWS CloudFormationtemplate yang dapat Anda gunakan untuk membuat VPC untuk digunakan dengan lingkungan Elastic Beanstalk.

Untuk membuat sumber daya dengan templat AWS CloudFormation
  1. Klon repositori sampel atau unduh templat menggunakan tautan di README.

  2. Buka konsol AWS CloudFormation.

  3. Pilih Membuat tumpukan.

  4. Pilih Unggah templat ke Amazon S3.

  5. Pilih Unggah file dan mengungah file templat dari mesin lokal Anda.

  6. Pilih Selanjutnya dan ikuti petunjuk untuk membuat tumpukan dengan sumber daya dalam templat.

Ketika pembuatan tumpukan selesai, periksa tab Keluaran untuk menemukan ID VPC dan ID subnet. Gunakan ini untuk mengonfigurasi VPC di wizard lingkungan baru kategori konfigurasi jaringan.

VPC publik

templat AWS CloudFormationvpc-public.yaml

Pengaturan (beban seimbang)
  • Visibilitas penyeimbang beban – Publik

  • Subnet penyeimbang beban – Kedua subnet publik

  • IP publik instans – Diaktifkan

  • Subnet instans – Kedua subnet publik

  • Grup keamanan instans – Tambahkan grup keamanan default

Pengaturan (instans tunggal)
  • Subnets instance – Salah satu subnet publik

  • Grup keamanan instans – Tambahkan grup keamanan default

Dasar tata letak VPC hanya-publik mencakup satu atau lebih subnet publik, gateway internet, dan grup keamanan default yang memungkinkan lalu lintas antara sumber daya di VPC. Ketika Anda membuat lingkungan di VPC, Elastic Beanstalk menciptakan sumber daya tambahan yang bervariasi tergantung pada jenis lingkungannya.

Sumber daya VPC
  • Satu instans – Elastic Beanstalk membuat grup keamanan untuk instans aplikasi yang memungkinkan lalu lintas di port 80 dari internet, dan memberikan instans sebuah IP Elastic untuk memberikan alamat IP publik. Nama domain lingkungan ditetapkan ke alamat IP publik instans.

  • Beban seimbang – Elastic Beanstalk menciptakan grup keamanan untuk penyeimbang beban yang memungkinkan lalu lintas di port 80 dari internet, dan grup keamanan untuk instans aplikasi yang memungkinkan lalu lintas dari grup keamanan penyeimbang beban. Nama domain lingkungan menyelesaikan nama domain publik penyeimbang beban.

Hal ini serupa dengan cara bahwa Elastic Beanstalk mengelola jaringan saat menggunakan VPC default. Keamanan dalam subnet publik bergantung pada penyeimbang beban dan grup keamanan instans yang dibuat oleh Elastic Beanstalk. Ini adalah konfigurasi paling mahal karena tidak memerlukan NAT Gateway.

VPC publik/privat

templat AWS CloudFormationvpc-privatepublic.yaml

Pengaturan (beban seimbang)
  • Visibilitas penyeimbang beban – Publik

  • Subnet penyeimbang beban – Kedua subnet publik

  • IP publik instans – Nonaktifkan

  • Subnets instans – Kedua subnet privat

  • Grup keamanan instans – Tambahkan grup keamanan default

Untuk keamanan tambahan, tambahkan subnet privat ke VPC Anda untuk membuat tata letak publik-privat. Tata letak ini memerlukan penyeimbang beban dan NAT gateway di subnet publik, dan memungkinkan Anda menjalankan instans aplikasi, basis data, dan sumber daya lainnya di subnet privat. Intans dalam subnet privat hanya dapat berkomunikasi dengan internet melalui penyeimbang beban dan gateway NAT.

VPC privat

templat AWS CloudFormationvpc private.yaml

Pengaturan (beban seimbang)
  • Visibilitas penyeimbang beban – Privat

  • Subnet penyeimbang beban – Kedua subnet pribadi

  • IP publik instans – Nonaktifkan

  • Subnets instans – Kedua subnet privat

  • Grup keamanan instans – Tambahkan grup keamanan default

Untuk aplikasi internal yang seharusnya tidak memiliki akses dari internet, Anda dapat menjalankan semuanya di subnet pribadi dan mengonfigurasi penyeimbang beban agar menghadap secara internal (ubah visibilitas Penyeimbang beban ke Internal). Templat ini membuat VPC tanpa subnet publik dan tidak ada gateway internet. Gunakan tata letak ini untuk aplikasi yang seharusnya hanya dapat diakses dari VPC yang sama atau VPN terlampir.

Menjalankan lingkungan Elastic Beanstalk di VPC pribadi

Ketika Anda membuat lingkungan Elastic Beanstalk di VPC pribadi, lingkungan tidak memiliki akses ke internet. Aplikasi Anda mungkin memerlukan akses ke layanan Elastic Beanstalk atau layanan lainnya. Lingkungan Anda mungkin menggunakan pelaporan kondisi yang ditingkatkan, dan dalam hal ini instans lingkungan mengirimkan informasi kondisi ke layanan kondisi yang ditingkatkan. Dan kode Elastic Beanstalk pada instans lingkungan mengirimkan lalu lintas ke layanan AWS lainnya, dan lalu lintas lainnya untuk titik akhir non-AWS (misalnya, untuk mengunduh paket ketergantungan untuk aplikasi Anda). Berikut adalah beberapa langkah yang mungkin perlu Anda ambil dalam kasus ini untuk memastikan bahwa lingkungan Anda bekerja dengan baik.

  • Mengonfigurasi VPC endpoint untuk Elastic Beanstalk – Elastic Beanstalk dan layanan kondisi yang ditingkatkan mendukung titik akhir VPC, yang memastikan bahwa lalu lintas ke layanan ini tetap berada di dalam jaringan Amazon dan tidak memerlukan akses internet. Untuk informasi selengkapnya, lihat Menggunakan Elastic Beanstalk dengan VPC endpoint.

  • Mengonfigurasi VPC endpoint untuk layanan tambahan- Contoh Elastic Beanstalk mengirim lalu lintas ke beberapa lainnyaAWSlayanan atas nama Anda: Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service (Amazon SQS),AWS CloudFormation, dan AmazonCloudWatchLog. Anda harus mengonfigurasi VPC endpoint untuk layanan ini juga. Untuk informasi rinci tentang VPC endpoint, termasuk tautan per layanan, lihat VPC endpoint di Panduan Pengguna Amazon VPC.

    catatan

    Beberapa layanan AWS, termasuk Elastic Beanstalk, mendukung VPC endpoint dalam jumlah terbatas dari Wilayah AWS. Ketika Anda merancang solusi VPC privat Anda, verifikasi bahwa Elastic Beanstalk dan layanan dependen lainnya yang disebutkan di sini mendukung VPC endpoint di Wilayah AWS yang Anda pilih.

  • Menyediakan gambar Docker privat – Dalam lingkungan Docker, kode pada instans lingkungan mungkin mencoba menarik gambar Docker yang dikonfigurasi dari internet selama pembuatan lingkungan dan gagal. Untuk menghindari kegagalan ini, buat gambar Docker kustom di lingkungan Anda, atau gunakan gambar Docker yang disimpan di Amazon Elastic Container Registry (Amazon ECR) dan mengonfigurasi VPC endpoint untuk layanan Amazon ECR.

  • Aktifkan nama DNS – Kode Elastic Beanstalk pada instans lingkungan mengirimkan lalu lintas ke semua layanan AWS menggunakan titik akhir publik mereka. Untuk memastikan bahwa lalu lintas ini berjalan, pilih opsi Aktifkan nama DNS ketika Anda mengonfigurasi semua antarmuka VPC endpoint. Ini menambahkan entri DNS di VPC Anda yang memetakan titik akhir layanan publik untuk antarmuka VPC endpoint.

    penting

    Jika VPC Anda tidak bersifat privat dan memiliki akses internet publik, dan jika Aktifkan nama DNS dinonaktifkan untuk setiap VPC endpoint, lalu lintas ke layanan masing-masing perjalanan melalui internet publik. Ini mungkin bukan apa yang Anda inginkan. Sangat mudah untuk mendeteksi masalah ini dengan VPC privat, karena mencegah lalu lintas ini melewati dan Anda menerima kesalahan. Namun, dengan VPC menghadap publik, Anda tidak mendapatkan indikasi.

  • Sertakan dependensi aplikasi – Jika aplikasi Anda memiliki dependensi seperti paket waktu aktif bahasa, mungkin mencoba untuk mengunduh dan menginstalnya dari internet selama pembuatan lingkungan dan gagal. Untuk menghindari kegagalan ini, sertakan semua paket ketergantungan dalam paket sumber aplikasi Anda.

  • Gunakan versi platform saat ini – Pastikan lingkungan Anda menggunakan versi platform yang dirilis pada 24 Februari 2020 atau lebih baru. Secara khusus, gunakan versi platform yang dirilis di atau setelah salah satu dari dua pembaruan ini: Pembaruan Linux 2020-02-28,Pemutakhiran Windows 2020-02-24.

    catatan

    Alasan untuk membutuhkan versi platform yang diperbarui adalah bahwa versi lama memiliki masalah yang akan mencegah entri DNS yang dibuat oleh pilihan Aktifkan nama DNS dari bekerja dengan baik untuk Amazon SQS.