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

Topik ini menjelaskan manfaat menggunakan VPC titik akhir dengan Elastic Beanstalk dan berbagai jenis konfigurasi yang dapat Anda terapkan.

Anda dapat menggunakan Amazon Virtual Private Cloud (AmazonVPC) untuk membuat jaringan aman untuk aplikasi Elastic Beanstalk Anda dan yang terkait AWS sumber daya. Saat Anda membuat lingkungan, Anda memilih subnetVPC, dan grup keamanan mana yang digunakan untuk instance aplikasi dan penyeimbang beban Anda. Anda dapat menggunakan VPC konfigurasi apa pun yang Anda suka selama memenuhi persyaratan berikut.

VPCpersyaratan
  • 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.

    • Private Subnet — Instans menggunakan NAT perangkat untuk mengakses internet.

    catatan

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

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

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

  • NTP— Instans di lingkungan Elastic Beanstalk Anda menggunakan Network Time NTP Protocol () untuk menyinkronkan jam sistem. Jika instance tidak dapat berkomunikasi di UDP port 123, jam mungkin tidak sinkron, menyebabkan masalah dengan pelaporan kesehatan Elastic Beanstalk. Pastikan grup VPC keamanan dan jaringan Anda ACLs memungkinkan UDP lalu lintas masuk dan keluar di port 123 untuk menghindari masalah ini.

elastic-beanstalk-samplesRepositori menyediakan AWS CloudFormation template yang dapat Anda gunakan untuk membuat VPC untuk digunakan dengan lingkungan Elastic Beanstalk Anda.

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

  2. Buka AWS CloudFormation konsol.

  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.

Saat pembuatan tumpukan selesai, periksa tab Output untuk menemukan VPC ID dan subnet. IDs Gunakan ini untuk mengkonfigurasi VPC dalam kategori konfigurasi jaringan wizard lingkungan baru.

Publik VPC

AWS CloudFormation template vpc-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

VPCTata letak dasar khusus publik mencakup satu atau lebih subnet publik, gateway internet, dan grup keamanan default yang memungkinkan lalu lintas antar sumber daya di situs. VPC Saat Anda membuat lingkungan diVPC, Elastic Beanstalk menciptakan sumber daya tambahan yang bervariasi tergantung pada jenis lingkungan.

VPCsumber daya
  • 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.

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

Publik/pribadi VPC

AWS CloudFormation template vpc-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 pribadi ke Anda VPC untuk membuat tata letak publik-pribadi. Tata letak ini memerlukan penyeimbang beban dan NAT gateway di subnet publik, dan memungkinkan Anda menjalankan instance aplikasi, database, dan sumber daya lainnya di subnet pribadi. Contoh dalam subnet pribadi hanya dapat berkomunikasi dengan internet melalui load balancer dan gateway. NAT

Pribadi VPC

AWS CloudFormation template vpc-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). Template ini membuat VPC tanpa subnet publik dan tidak ada gateway internet. Gunakan tata letak ini untuk aplikasi yang seharusnya hanya dapat diakses dari yang sama VPC atau terlampirVPN.

Menjalankan lingkungan Elastic Beanstalk secara pribadi VPC

Saat Anda membuat lingkungan Elastic Beanstalk Anda secara pribadi, lingkungan tidak VPC 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 instance lingkungan mengirimkan lalu lintas ke yang lain AWS layanan, dan lalu lintas lainnya ke non-AWS endpoint (misalnya, untuk mengunduh paket dependensi untuk aplikasi Anda). Berikut adalah beberapa langkah yang mungkin perlu Anda ambil dalam kasus ini untuk memastikan bahwa lingkungan Anda bekerja dengan baik.

  • Konfigurasikan VPC titik akhir untuk Elastic Beanstalk — Elastic Beanstalk dan titik akhir dukungan layanan kesehatannya yang VPC ditingkatkan, 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 titik VPC akhir.

  • Konfigurasikan VPC titik akhir untuk layanan tambahan — Instans Elastic Beanstalk mengirim lalu lintas ke beberapa lainnya AWS layanan atas nama Anda: Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service SQS (Amazon), AWS CloudFormation, dan CloudWatch Log Amazon. Anda juga harus mengonfigurasi VPC titik akhir untuk layanan ini. Untuk informasi terperinci tentang VPC titik akhir, termasuk tautan per layanan, lihat Titik VPCAkhir di Panduan Pengguna Amazon. VPC

    catatan

    Beberapa AWS layanan, termasuk Elastic BeanstalkVPC, mendukung titik akhir dalam jumlah terbatas AWS Daerah. Saat Anda mendesain VPC solusi pribadi Anda, verifikasi bahwa Elastic Beanstalk dan layanan dependen lainnya yang disebutkan di sini mendukung titik akhir di VPC AWS Wilayah 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 image Docker kustom di lingkungan Anda, atau gunakan image Docker yang disimpan di Amazon Elastic Container Registry ECR (Amazon) dan konfigurasikan VPC titik akhir untuk layanan Amazon. ECR

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

    penting

    Jika Anda VPC tidak pribadi dan memiliki akses internet publik, dan jika DNSnama Aktifkan dinonaktifkan untuk VPC titik akhir apa pun, lalu lintas ke layanan masing-masing berjalan melalui internet publik. Ini mungkin bukan apa yang Anda inginkan. Sangat mudah untuk mendeteksi masalah ini dengan pribadiVPC, karena mencegah lalu lintas ini masuk dan Anda menerima kesalahan. Namun, dengan wajah publikVPC, 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 yang lebih lama memiliki masalah yang akan mencegah DNS entri yang dibuat oleh opsi Aktifkan DNS nama berfungsi dengan baik untuk Amazon. SQS