Mengonfigurasi Application Load Balancer - AWS Elastic Beanstalk

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

Mengonfigurasi Application Load Balancer

Saat Anda mengaktifkan load balancing, AWS Elastic Beanstalk lingkungan Anda dilengkapi dengan penyeimbang beban Elastic Load Balancing untuk mendistribusikan lalu lintas antar instans di lingkungan Anda. Elastic Load Balancing mendukung beberapa tipe penyeimbang beban. Untuk mempelajarinya, lihat Panduan Pengguna Elastic Load Balancing. Elastic Beanstalk dapat membuat penyeimbang beban untuk Anda, atau memungkinkan Anda menentukan penyeimbang beban bersama yang telah Anda buat.

Topik ini menjelaskan konfigurasi Application Load Balancer yang dibuat Elastic Beanstalk dan didedikasikan untuk lingkungan Anda. Lihat juga Mengonfigurasi Application Load Balancer bersama. Untuk informasi tentang cara mengonfigurasi semua tipe penyeimbang beban yang didukung Elastic Beanstalk, lihat Penyeimbang beban untuk lingkungan Elastic Beanstalk Anda.

catatan

Anda dapat memilih tipe penyeimbang beban yang hanya digunakan lingkungan Anda selama pembuatan lingkungan. Anda dapat mengubah pengaturan untuk mengelola perilaku penyeimbang beban lingkungan berjalan Anda, tetapi Anda tidak dapat mengubah tipenya. Anda juga tidak dapat beralih dari penyeimbang beban bersama khusus ke penyeimbang beban bersama atau sebaliknya.

Pengantar

Application Load Balancer memeriksa lalu lintas di lapisan protokol jaringan aplikasi untuk mengidentifikasi jalur permintaan sehingga lalu lintas tersebut dapat mengarahkan permintaan ke jalur yang berbeda ke tujuan yang berbeda.

Bila lingkungan Anda menggunakan Application Load Balancer, Elastic Beanstalk mengonfigurasinya secara default untuk melakukan fungsi yang sama dengan Classic Load Balancer. Pendengar default menerima HTTP permintaan pada port 80 dan mendistribusikannya ke instance di lingkungan Anda. Anda dapat menambahkan pendengar aman di port 443 dengan sertifikat untuk mendekripsi HTTPS lalu lintas, mengonfigurasi perilaku pemeriksaan kesehatan, dan mendorong log akses dari penyeimbang beban ke bucket Amazon Simple Storage Service (Amazon S3).

catatan

Tidak seperti Classic Load Balancer atau Network Load Balancer, Application Load Balancer tidak dapat memiliki lapisan transport (layer 4) atau/listener. TCP SSL TLS Ini hanya mendukung HTTP dan HTTPS pendengar. Selain itu, tidak dapat menggunakan otentikasi backend untuk mengautentikasi HTTPS koneksi antara load balancer dan instance backend.

Dalam lingkungan Elastic Beanstalk, Anda dapat menggunakan Application Load Balancer untuk mengarahkan lalu lintas untuk jalur tertentu ke proses yang berbeda pada instas server web Anda. Dengan Classic Load Balancer, semua lalu lintas ke pendengar diarahkan ke satu proses pada instans backend. Dengan Application Load Balancer, Anda dapat mengonfigurasi beberapa aturan pada pendengar untuk merutekan permintaan ke jalur tertentu ke proses backend yang berbeda. Anda mengonfigurasi setiap proses dengan port yang mendengarkan proses.

Misalnya, Anda dapat menjalankan proses login secara terpisah dari aplikasi utama Anda. Sementara aplikasi utama pada instans lingkungan Anda menerima sebagian besar permintaan dan mendengarkan pada port 80, proses login Anda berkonsentrasi pada port 5000 dan menerima permintaan ke jalur /login. Semua permintaan masuk dari klien masuk pada port 80. Dengan Application Load Balancer, Anda dapat mengonfigurasi satu pendengar untuk lalu lintas masuk di port 80, dengan dua aturan yang merutekan lalu lintas ke dua proses terpisah, tergantung pada jalur dalam permintaan. Anda menambahkan aturan khusus yang merutekan lalu lintas /login untuk proses login yang berkonsentrasi pada port 5000. Aturan default merutekan semua lalu lintas lain untuk proses aplikasi utama yang berkonsentrasi pada port 80.

Aturan Application Load Balancer memetakan permintaan ke grup target. Dalam Elastic Beanstalk, grup target diwakili oleh proses. Anda dapat mengonfigurasi proses dengan protokol, port, dan pengaturan pemeriksaan kondisi. Proses ini merupakan proses yang berjalan pada instans di lingkungan Anda. Proses default adalah pendengar pada port 80 dari proksi terbalik (nginx atau Apache) yang berjalan di depan aplikasi Anda.

catatan

Di luar Elastic Beanstalk, grup target memetakan ke sekelompok instans. Seorang pendengar dapat menggunakan aturan dan grup target untuk merutekan lalu lintas ke instans yang berbeda berdasarkan jalur. Dalam Elastic Beanstalk, semua instans di lingkungan Anda identik, sehingga perbedaan dibuat antara proses mendengarkan pada port yang berbeda.

Classic Load Balancer menggunakan satu jalur pemeriksaan kondisi untuk seluruh lingkungan. Dengan Application Load Balancer, setiap proses memiliki jalur pemeriksaan kondisi terpisah yang dipantau oleh penyeimbang beban dan pemantauan kesehatan yang disempurnakan dengan Elastic Beanstalk.

Untuk menggunakan Application Load Balancer, lingkungan Anda harus dalam default atau kustomVPC, dan harus memiliki peran layanan dengan set izin standar. Jika Anda memiliki peran layanan lama, Anda mungkin harus memperbarui izin pada peran tersebut untuk memasukkan elasticloadbalancing:DescribeTargetHealth dan elasticloadbalancing:DescribeLoadBalancers. Untuk informasi selengkapnya tentang Application Load Balancers, lihat Apa itu Application Load Balancer?.

catatan

Pemeriksaan kondisi Application Load Balancer tidak menggunakan jalur pemeriksaan kondisi Elastic Beanstalk. Sebaliknya, pemeriksaan tersebut menggunakan jalur tertentu yang dikonfigurasi untuk setiap proses secara terpisah.

Mengonfigurasi Application Load Balancer menggunakan konsol Elastic Beanstalk

Anda dapat menggunakan konsol Elastic Beanstalk untuk mengonfigurasi pendengar, proses, dan aturan Application Load Balancer, selama pembuatan lingkungan atau nanti saat lingkungan Anda berjalan.

Untuk mengonfigurasi Application Load Balancer di konsol Elastic Beanstalk selama pembuatan lingkungan
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Pada panel navigasi, pilih Lingkungan.

  3. Pilih Buat lingkungan baru untuk mulai membuat lingkungan Anda.

  4. Pada halaman utama wizard, sebelum memilih Buat lingkungan, pilih Konfigurasikan opsi lainnya.

  5. Pilih konfigurasi Ketersediaan yang tinggi yang telah ditetapkan.

    Atau, pada kategori konfigurasi Kapasitas, konfigurasikan tipe lingkungan dengan beban seimbang. Untuk rincian selengkapnya, lihat Kapasitas.

  6. Pada kategori konfigurasi Penyeimbang beban, pilih Edit.

  7. Pilih opsi Application Load Balancer dan Khusus, jika belum dipilih.

    Halaman konfigurasi Elastic Load Balancing - memilih tipe penyeimbang beban
  8. Buat perubahan konfigurasi Application Load Balancer yang dibutuhkan lingkungan Anda.

  9. Pilih Simpan, dan kemudian buat perubahan konfigurasi lain yang diperlukan lingkungan Anda.

  10. Pilih Buat lingkungan.

Untuk mengonfigurasi Application Load Balancer lingkungan berjalan di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Pada panel navigasi, pilih Konfigurasi.

  4. Pada kategori konfigurasi Penyeimbang beban, pilih Edit.

    catatan

    Jika kategori konfigurasi Penyeimbang beban tidak memiliki tombol Edit, lingkungan Anda tidak memiliki penyeimbang beban. Untuk mempelajari cara menyiapkan penyeimbang beban, lihat Mengubah jenis lingkungan.

  5. Buat perubahan konfigurasi Application Load Balancer yang diperlukan lingkungan Anda.

  6. Untuk menyimpan perubahan pilih Terapkan di bagian bawah halaman.

Pengaturan Application Load Balancer

Listener

Gunakan daftar ini untuk menentukan pendengar untuk penyeimbang beban Anda. Setiap pendengar merutekan lalu lintas klien masuk pada port tertentu menggunakan protokol tertentu untuk satu atau lebih proses pada instans Anda. Awalnya, daftar menunjukkan pendengar default, yang merutekan HTTP lalu lintas masuk pada port 80 ke proses bernama default.

Konfigurasi Application Load Balancer - daftar pendengar
Untuk mengonfigurasi pendengar yang ada
  1. Pilih kotak centang di samping entri tabel, dan kemudian pilih Tindakan, Edit.

  2. Gunakan kotak dialog pendengar Application Load Balancer untuk mengedit pengaturan, dan kemudian pilih Simpan.

Untuk menambahkan pendengar
  1. Pilih Tambahkan pendengar.

  2. Di kotak dialog Pendengar Application Load Balancer, konfigurasikan pengaturan yang Anda inginkan, dan kemudian pilih Tambahkan.

Gunakan pengaturan kotak dialog pendengar Application Load Balancer untuk memilih port dan protokol tempat pendengar mendengarkan lalu lintas, dan proses untuk merutekan lalu lintas. Jika Anda memilih HTTPS protokol, konfigurasikan SSL pengaturan.

Kotak dialog pendengar Application Load Balancer

Sebelum Anda dapat mengonfigurasi HTTPS listener, pastikan Anda memiliki SSL sertifikat yang valid. Lakukan salah satu hal berikut ini:

Untuk detail lebih lanjut tentang mengonfigurasi HTTPS dan bekerja dengan sertifikat di Elastic Beanstalk, lihat. Konfigurasi HTTPS untuk lingkungan Elastic Beanstalk Anda

Proses

Gunakan daftar ini untuk menentukan proses penyeimbang beban Anda. Sebuah proses adalah target bagi pendengar untuk merutekan lalu lintas. Setiap pendengar merutekan lalu lintas klien masuk pada port tertentu menggunakan protokol tertentu untuk satu atau lebih proses pada instans Anda. Awalnya, daftar menunjukkan proses default, yang mendengarkan HTTP lalu lintas masuk pada port 80.

Konfigurasi Application Load Balancer - daftar proses

Anda dapat mengedit pengaturan proses yang ada, atau menambahkan proses baru. Untuk mulai mengedit proses pada daftar atau menambahkan proses untuk itu, gunakan langkah yang sama yang tercantum untuk daftar pendengar. Kotak dialog Proses lingkungan terbuka.

Pengaturan kotak dialog proses lingkungan Application Load Balancer

Definisi

Gunakan pengaturan ini untuk menentukan proses: Nama, dan Port dan Protokol yang mendengarkan permintaan.

Pengaturan proses Application Load Balancer untuk nama, port, dan protokol

Pemeriksaan kondisi

Gunakan pengaturan berikut untuk mengonfigurasi pemeriksaan kondisi proses:

  • HTTPkode — Kode HTTP status yang menunjuk proses yang sehat.

  • Jalur — Jalur permintaan pemeriksaan kondisi untuk proses tersebut.

  • Batas waktu — Jumlah waktu, dalam detik, untuk menunggu respons pemeriksaan kondisi.

  • Interval — Jumlah waktu, dalam detik, antara pemeriksaan kondisi dari instans individu. Interval harus lebih besar dari batas waktu.

  • Ambang batas tidak sehat, Ambang batas sehat — Jumlah pemeriksaan kondisi yang harus gagal atau lulus, masing-masing, sebelum Elastic Load Balancing mengubah status kondisi instans.

  • Penundaan pendaftaran — Jumlah waktu, dalam detik, untuk menunggu permintaan aktif selesai sebelum membatalkan pendaftaran.

Pengaturan proses Application Load Balancer untuk pemeriksaan kondisi
catatan

Pemeriksaan kondisi Elastic Load Balancing tidak memengaruhi perilaku pemeriksaan kondisi grup Auto Scaling lingkungan. Instans yang gagal dalam pemeriksaan kesehatan Elastic Load Balancing tidak secara otomatis digantikan oleh Amazon Auto EC2 Scaling kecuali Anda mengonfigurasi Amazon Auto Scaling secara manual untuk EC2 melakukannya. Lihat Pengaturan pemeriksaan kondisi Auto Scaling untuk rincian selengkapnya.

Untuk informasi selengkapnya tentang pemeriksaan kondisi dan pengaruhnya terhadap kondisi lingkungan Anda secara keseluruhan, lihat Pelaporan kondisi dasar.

Sesi

Pilih atau kosongkan kotak Kebijakan kelekatan diaktifkan untuk mengaktifkan atau menonaktifkan sesi lekat. Gunakan durasi cookie untuk mengonfigurasi durasi sesi lekat, hingga 604800 detik.

Pengaturan proses Application Load Balancer untuk kelekatan sesi

Aturan

Gunakan daftar ini untuk menentukan aturan pendengar khusus untuk penyeimbang beban Anda. Sebuah aturan memetakan permintaan yang diterima pendengar pada pola jalur tertentu untuk proses target. Setiap pendengar dapat memiliki beberapa aturan, merutekan permintaan pada jalur yang berbeda untuk proses yang berbeda pada instans Anda.

Aturan memiliki prioritas numerik yang menentukan prioritas penerapannya pada permintaan yang masuk. Untuk setiap pendengar baru yang Anda menambahkan, Elastic Beanstalk menambahkan aturan default yang merutekan semua lalu lintas pendengar ke proses default. Prioritas aturan default adalah yang terendah; itu diterapkan jika tidak ada aturan lain untuk pendengar yang sama cocok dengan permintaan masuk. Awalnya, jika Anda belum menambahkan aturan khusus, daftar tersebut kosong. Aturan default semua pendengar tidak ditampilkan.

Konfigurasi Application Load Balancer - daftar aturan

Anda dapat mengedit pengaturan aturan yang ada, atau menambahkan aturan baru. Untuk mulai mengedit aturan pada daftar atau menambahkan aturan padanya, gunakan langkah yang sama yang tercantum untuk daftar pendengar. Kotak dialog Aturan pendengar terbuka, dengan pengaturan berikut:

  • Nama - Nama aturan.

  • port Pendengar — port Pendengar yang aturannya berlaku.

  • Prioritas - Prioritas aturan. Sebuah nomor prioritas yang lebih rendah memiliki prioritas yang lebih tinggi. Prioritas aturan pendengar harus unik.

  • Ketentuan kecocokan — Daftar URL kondisi permintaan yang berlaku untuk aturan tersebut. Ada dua jenis kondisi: HostHeader(bagian URL domain), dan PathPattern(bagian URL jalur). Anda dapat menambahkan hingga lima kondisi. Setiap nilai kondisi mencapai 128 karakter, dan dapat mencakup karakter wildcard.

  • Proses — Proses dimana penyeimbang beban merutekan permintaan yang sesuai dengan aturan.

Saat mengedit aturan yang sudah ada, Anda tidak dapat mengubah Nama dan port Pendengar.

Konfigurasi Application Load Balancer - daftar aturan

Penangkapan log akses

Gunakan pengaturan ini untuk mengonfigurasi Elastic Load Balancing untuk menangkap log dengan informasi terperinci tentang permintaan yang dikirim ke Application Load Balancer Anda. Akses tangkapan log dinonaktifkan secara default. Saat Log penyimpanan diaktifkan, Elastic Load Balancing menyimpan log di bucket S3 yang Anda konfigurasikan. Pengaturan Prefiks menetapkan folder tingkat atas dalam bucket untuk log. Elastic Load Balancing menempatkan log dalam folder bernama AWSLogs di bawah prefiks Anda. Jika Anda tidak menentukan awalan, Elastic Load Balancing menempatkan foldernya di tingkat akar bucket.

catatan

Jika bucket Amazon S3 yang Anda konfigurasikan untuk pengambilan log akses bukanlah bucket yang dibuat Elastic Beanstalk untuk akun Anda, pastikan untuk menambahkan kebijakan pengguna dengan izin yang sesuai untuk () pengguna Anda. AWS Identity and Access Management IAM Kebijakan pengguna terkelola yang disediakan Elastic Beanstalk hanya mencakup izin ke sumber daya terkelola Elastic Beanstalk.

Untuk rincian tentang log akses, termasuk izin dan persyaratan lainnya, lihat Log akses untuk Application Load Balancer.

Konfigurasi Application Load Balancer - log akses

Contoh: Application Load Balancer dengan pendengar yang aman dan dua proses

Dalam contoh ini, aplikasi Anda memerlukan enkripsi end-to-end lalu lintas dan proses terpisah untuk menangani permintaan administratif.

Untuk mengonfigurasi Application Load Balancer lingkungan Anda agar memenuhi persyaratan ini, Anda menghapus pendengar default, menambahkan HTTPS pendengar, menunjukkan bahwa proses default mendengarkan port 443 aktifHTTPS, dan menambahkan proses dan aturan pendengar untuk lalu lintas admin di jalur yang berbeda.

Untuk mengonfigurasi penyeimbang beban pada contoh ini
  1. Tambahkan pendengar yang aman. Untuk Port, ketik 443. Untuk Protokol, pilih HTTPS. Untuk SSLsertifikat, pilih ARN SSL sertifikat Anda. Misalnya, arn:aws:iam::123456789012:server-certificate/abc/certs/build, atau arn:aws:acm:us-east-2:123456789012:certificate/12345678-12ab-34cd-56ef-12345678.

    Untuk Proses default, default tetap dipilih.

    Konfigurasi Application Load Balancer - menambahkan pendengar yang aman

    Anda sekarang dapat melihat pendengar tambahan Anda pada daftar.

    Contoh konfigurasi Application Load Balancer - daftar pendengar dengan dua pendengar
  2. Nonaktifkan HTTP pendengar port 80 default. Untuk pendengar default, matikan opsi Diaktifkan.

    Contoh konfigurasi Application Load Balancer - menonaktifkan pendengar default
  3. Konfigurasikan proses default keHTTPS. Pilih proses default, dan kemudian untuk Tindakan, pilih Edit. Untuk Port, ketik 443. Untuk Protokol, pilih HTTPS.

    Contoh konfigurasi Application Load Balancer - mengonfigurasi proses default ke HTTPS
  4. Tambahkan proses admin. Untuk Nama, ketik admin. Untuk Port, ketik 443. Untuk Protokol, pilih HTTPS. Di bawah Pemeriksaan kondisi, untuk tipe Jalur /admin.

    Contoh konfigurasi Application Load Balancer - menambahkan proses admin
  5. Tambahkan aturan untuk lalu lintas admin. Untuk Nama, ketik admin. Untuk port Pendengar, ketik 443. Untuk kondisi Match, tambahkan a PathPatterndengan nilai/admin/*. Untuk Proses, pilih admin.

    Contoh konfigurasi Application Load Balancer - menambahkan aturan admin

Mengkonfigurasi Application Load Balancer menggunakan EB CLI

EB CLI meminta Anda untuk memilih jenis penyeimbang beban saat Anda menjalankan. eb create

$ eb create Enter Environment Name (default is my-app): test-env Enter DNS CNAME prefix (default is my-app): test-env-DLW24ED23SF Select a load balancer type 1) classic 2) application 3) network (default is 2):

Anda juga dapat menentukan tipe penyeimbang beban dengan opsi --elb-type.

$ eb create test-env --elb-type application

Namespace Application Load Balancer

Anda dapat menemukan pengaturan yang terkait dengan Application Load Balancers di namespace berikut:

  • aws:elasticbeanstalk:environment — Pilih tipe penyeimbang beban untuk lingkungan. Nilai untuk Application Load Balancer adalah application.

    Anda tidak dapat mengatur opsi ini di file konfigurasi (.Ebextensions).

  • aws:elbv2:loadbalancer — Konfigurasikan log akses dan pengaturan lain yang berlaku untuk Application Load Balancer secara keseluruhan.

  • aws:elbv2:listener — Konfigurasikan pendengar pada Application Load Balancer. Pengaturan ini memetakan ke pengaturan aws:elb:listener untuk Classic Load Balancer.

  • aws:elbv2:listenerrule — Konfigurasikan aturan yang merutekan lalu lintas ke proses yang berbeda, tergantung pada jalur permintaan. Aturan unik untuk Application Load Balancers.

  • aws:elasticbeanstalk:environment:process — Konfigurasikan pemeriksaan kondisi dan tentukan port dan protokol untuk proses yang berjalan pada instans lingkungan Anda. Pengaturan port dan protokol memetakan ke port instans dan pengaturan protokol instans aws:elb:listener untuk pendengar di Classic Load Balancer. Peta pengaturan pemeriksaan kondisi ke pengaturan di namespace aws:elb:healthcheck dan aws:elasticbeanstalk:application.

contoh .ebextensions/ .config alb-access-logs

File konfigurasi berikut mengizinkan unggah log akses untuk lingkungan dengan Application Load Balancer.

option_settings: aws:elbv2:loadbalancer: AccessLogsS3Bucket: amzn-s3-demo-bucket AccessLogsS3Enabled: 'true' AccessLogsS3Prefix: beanstalk-alb
contoh
.ebextensions/ .config alb-default-process

File konfigurasi berikut memodifikasi pemeriksaan kondisi dan pengaturan lekat pada proses default.

option_settings: aws:elasticbeanstalk:environment:process:default: DeregistrationDelay: '20' HealthCheckInterval: '15' HealthCheckPath: / HealthCheckTimeout: '5' HealthyThresholdCount: '3' UnhealthyThresholdCount: '5' Port: '80' Protocol: HTTP StickinessEnabled: 'true' StickinessLBCookieDuration: '43200'
contoh .ebextensions/ .config alb-secure-listener

File konfigurasi berikut menambahkan pendengar yang aman dan proses pencocokan pada port 443.

option_settings: aws:elbv2:listener:443: DefaultProcess: https ListenerEnabled: 'true' Protocol: HTTPS SSLCertificateArns: arn:aws:acm:us-east-2:123456789012:certificate/21324896-0fa4-412b-bf6f-f362d6eb6dd7 aws:elasticbeanstalk:environment:process:https: Port: '443' Protocol: HTTPS
contoh .ebextensions/ .config alb-admin-rule

File konfigurasi berikut menambahkan pendengar yang aman dengan aturan yang merutekan lalu lintas dengan jalur permintaan /admin ke proses yang bernama admin yang mendengarkan pada port 4443.

option_settings: aws:elbv2:listener:443: DefaultProcess: https ListenerEnabled: 'true' Protocol: HTTPS Rules: admin SSLCertificateArns: arn:aws:acm:us-east-2:123456789012:certificate/21324896-0fa4-412b-bf6f-f362d6eb6dd7 aws:elasticbeanstalk:environment:process:https: Port: '443' Protocol: HTTPS aws:elasticbeanstalk:environment:process:admin: HealthCheckPath: /admin Port: '4443' Protocol: HTTPS aws:elbv2:listenerrule:admin: PathPatterns: /admin/* Priority: 1 Process: admin