Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengonfigurasi grup keamanan Amazon EC2 dan jenis instans menggunakan AWS CLI
Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk mengonfigurasi instans Amazon EC2 di lingkungan Elastic Beanstalk Anda.
Mengkonfigurasi grup keamanan EC2 menggunakan AWS CLI
Topik ini memberikan contoh untuk konfigurasi grup keamanan EC2 yang berbeda untuk lingkungan instans tunggal dan load balanced (multi-instance). Untuk informasi selengkapnya tentang opsi dalam contoh ini, lihat aws:autoscaling:launchconfiguration.
Catatan
Operasi create environment menyediakan grup keamanan EC2 secara default. Ini juga menciptakan lingkungan dengan penyeimbang beban aplikasi secara default.
Operasi lingkungan pembaruan dapat digunakan untuk menonaktifkan atau mengaktifkan grup keamanan EC2 default untuk lingkungan Anda dengan opsi boolean. DisableDefaultEC2SecurityGroup Contoh 5 menunjukkan cara mengatur lingkungan Anda kembali ke konfigurasi keamanan default jika Anda sebelumnya telah memodifikasinya.
Contoh berikut menunjukkan perintah create-environment yang memilih keluar dari grup keamanan EC2 default dan menyediakan grup keamanan khusus sebagai gantinya. Karena DisableDefaultEC2SecurityGroup opsi disetel ketrue, grup keamanan EC2 default yang biasanya dikaitkan dengan Elastic Beanstalk ke instans EC2 tidak dibuat. Oleh karena itu, Anda harus memberikan SecurityGroups opsi kepada grup keamanan lain.
Perhatikan bahwa aws:elasticbeanstalk:environment EnvironmentType opsi diatur keSingleInstance. Untuk membuat lingkungan instance tunggal, Anda harus menentukan opsi ini, karena LoadBalanced adalah defaultEnvironmentType. Karena lingkungan ini tidak menyertakan penyeimbang beban, kita tidak perlu menentukan grup keamanan penyeimbang beban.
contoh 1 - Lingkungan instans tunggal baru dengan grup keamanan EC2 khusus (opsi namespace sebaris)
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2023 v6.5.0 applrunning Node.js 22"\ --option-settings \ Namespace=aws:elasticbeanstalk:environment,OptionName=EnvironmentType,Value=SingleInstance\ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role\ Namespace=aws:autoscaling:launchconfiguration,OptionName=DisableDefaultEC2SecurityGroup,Value=true\ Namespace=aws:autoscaling:launchconfiguration,OptionName=SecurityGroups,Value=sg-abcdef01, sg-abcdef02\ Namespace=aws:autoscaling:launchconfiguration,OptionName=EC2KeyName,Value=my-keypair
Sebagai alternatif, gunakan options.json file untuk menentukan opsi namespace alih-alih memasukkannya sebaris.
contoh 2 - Lingkungan instans tunggal baru dengan grup keamanan EC2 khusus (opsi namespace dalam file) options.json
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2023 v6.5.0 running Node.js 22"\ --option-settingsfile://options.json
contoh
### example options.json ### [ { "Namespace" : "aws:elasticbeanstalk:environment", "OptionName" : "EnvironmentType", "Value" : "SingleInstance" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "DisableDefaultEC2SecurityGroup", "Value": "true" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "SecurityGroups", "Value": "sg-abcdef01, sg-abcdef02" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "EC2KeyName", "Value": "my-keypair" } ]
Contoh berikut menciptakan lingkungan load-balanced. Ini menentukan opsi aws:elasticbeanstalk:environment LoadBalancerType namespace diatur ke. application Karena kami menonaktifkan grup keamanan EC2 default dengan DisableDefaultEC2SecurityGroup opsi, kami perlu menyediakan grup keamanan khusus kami sendiri untuk instans EC2 lagi, dengan aws:autoscaling:launchconfiguration SecurityGroups opsi, seperti contoh sebelumnya. Karena lingkungan ini memiliki penyeimbang beban untuk merutekan lalu lintas, kami harus menyediakan grup keamanan untuk penyeimbang beban juga.
Untuk membuat lingkungan dengan penyeimbang beban klasik, tetapi konfigurasi yang sama, perbarui konfigurasi untuk opsi aws:elasticbeanstalk:environment namespace ke. LoadBalancerType classic
Jenis penyeimbang beban yang berbeda memiliki ruang nama berbeda yang menyimpan opsi untuk menentukan grup keamanan:
-
penyeimbang beban aplikasi - opsi aws:elbv2:loadbalancer
SecurityGroups -
penyeimbang beban klasik - opsi aws:elb:loadbalancer
SecurityGroups -
penyeimbang beban jaringan — karena penyeimbang beban jaringan tidak memiliki grup keamanan, konfigurasikan grup keamanan EC2 dengan pengidentifikasi VPC. Untuk informasi selengkapnya, lihat Memperbarui grup keamanan untuk Network Load Balancer di Panduan Pengguna untuk Network Load Balancer.
contoh 3 - Lingkungan multi-instance baru dengan grup keamanan EC2 khusus (opsi namespace dalam file) options.json
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2023 v6.5.0 running Node.js 22"\ --option-settingsfile://options.json
contoh
### example options.json ### [ { "Namespace" : "aws:elasticbeanstalk:environment", "OptionName" : "EnvironmentType", "Value" : "LoadBalanced" }, { "Namespace" : "aws:elasticbeanstalk:environment", "OptionName" : "LoadBalancerType", "Value" : "application" }, { "Namespace" : "aws:elbv2:loadbalancer", "OptionName" : "SecurityGroups", "Value" : "sg-abcdefghikl012345" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "DisableDefaultEC2SecurityGroup", "Value": "true" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "SecurityGroups", "Value": "sg-abcdef01, sg-abcdef02" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "EC2KeyName", "Value": "my-keypair" } ]
Anda dapat menonaktifkan grup keamanan EC2 default untuk lingkungan yang ada dengan perintah update-environment. Contoh perintah berikut menonaktifkan grup keamanan EC2 default dan menetapkan instans EC2 lingkungan grup keamanan EC2 kustom.
Gunakan options.jason file contoh dalam contoh 4 (a), 4 (b), atau 4 (c), tergantung pada apakah lingkungan seimbang beban dan jenis penyeimbang beban. File konfigurasi 4 (a) menentukan grup keamanan untuk lingkungan instance tunggal. Karena tidak memerlukan penyeimbang beban, kami hanya menyediakan grup keamanan untuk instans EC2. File konfigurasi 4 (b) dan 4 (c) menentukan grup keamanan untuk penyeimbang beban aplikasi dan penyeimbang beban klasik. Untuk kasus ini kita juga perlu menentukan grup keamanan untuk penyeimbang beban.
contoh 4 - Perbarui lingkungan yang ada untuk menonaktifkan grup keamanan EC2 default (opsi namespace dalam file) options.json
aws elasticbeanstalk update-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2023 v6.5.0 running Node.js 22"\ --option-settingsfile://options.json
contoh 4 (a) - File konfigurasi untuk lingkungan instance tunggal (tidak ada penyeimbang beban)
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "DisableDefaultEC2SecurityGroup", "Value": "true" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "SecurityGroups", "Value": "sg-abcdef01, sg-abcdef02" } ]
Untuk memperbarui lingkungan yang menggunakan penyeimbang beban aplikasi, gunakan aws:elbv2:loadbalancer namespace untuk menentukan grup keamanan untuk penyeimbang beban.
contoh 4 (b) - File konfigurasi untuk lingkungan dengan penyeimbang beban aplikasi
### example options.json ### [ { "Namespace" : "aws:elbv2:loadbalancer", "OptionName" : "SecurityGroups", "Value" : "sg-abcdefghikl012345" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "DisableDefaultEC2SecurityGroup", "Value": "true" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "SecurityGroups", "Value": "sg-abcdef01, sg-abcdef02" } ]
Untuk memperbarui lingkungan yang menggunakan penyeimbang beban klasik, gunakan aws:elb:loadbalancer namespace untuk menentukan grup keamanan untuk penyeimbang beban.
contoh 4 (c) - File konfigurasi untuk lingkungan dengan penyeimbang beban klasik
### example options.json ### [ { "Namespace" : "aws:elb:loadbalancer", "OptionName" : "SecurityGroups", "Value" : "sg-abcdefghikl012345" }, { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "DisableDefaultEC2SecurityGroup", "Value": "true" }, { "Namespace": "aws:autoscaling:launchconfiguration",n "OptionName": "SecurityGroups", "Value": "sg-abcdef01, sg-abcdef02" } ]
Untuk mengembalikan lingkungan Anda ke perilaku dan konfigurasi default dengan grup keamanan default yang ditetapkan Elastic Beanstalk, gunakan perintah update-environment untuk menyetel ke. DisableDefaultEC2SecurityGroup false Untuk lingkungan multi-instance, Elastic Beanstalk juga menangani grup keamanan dan aturan lalu lintas jaringan untuk penyeimbang beban lingkungan Anda.
Contoh berikut berlaku untuk lingkungan single instance atau multi-instance (load balanced):
contoh 5 - Perbarui lingkungan kembali menggunakan grup keamanan default (opsi namespace dalam options.json file)
aws elasticbeanstalk update-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2023 v6.5.0 running Node.js 22"\ --option-settingsfile://options.json
contoh
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "DisableDefaultEC2SecurityGroup", "Value": "false" } ]
Mengkonfigurasi EC2 dengan tipe instans menggunakan AWS CLI
Topik ini memberikan contoh untuk mengonfigurasi tipe instans dari instans EC2 di lingkungan Anda.
Dua contoh pertama menciptakan lingkungan baru. Perintah menentukan jenis instans Amazon EC2, t4g.small, yang didasarkan pada arsitektur prosesor arm64. Elastic Beanstalk me-default Image ID (AMI) untuk instans EC2 berdasarkan Region, versi platform, dan jenis instans. Jenis instance sesuai dengan arsitektur prosesor. solution-stack-nameParameter ini berlaku untuk versi platform.
contoh 1 - buat lingkungan berbasis arm64 baru (opsi namespace inline)
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2 v3.4.7 running Docker"\ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role\ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small
Sebagai alternatif, gunakan options.json file untuk menentukan opsi namespace alih-alih memasukkannya sebaris.
contoh 2 - buat lingkungan berbasis arm64 baru (opsi namespace dalam file) options.json
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2 v3.4.7 running Docker"\ --option-settingsfile://options.json
contoh
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t4g.small" } ]
Dua contoh berikutnya memperbarui konfigurasi untuk lingkungan yang ada dengan perintah update-environment. Dalam contoh ini kita menambahkan jenis instance lain yang juga didasarkan pada arsitektur prosesor arm64. Untuk lingkungan yang ada, semua jenis instance yang ditambahkan harus memiliki arsitektur prosesor yang sama. Jika Anda ingin mengganti jenis instance yang ada dengan yang berasal dari arsitektur yang berbeda, Anda dapat melakukannya. Tetapi pastikan bahwa semua jenis instance dalam perintah memiliki tipe arsitektur yang sama.
contoh 3 - perbarui lingkungan berbasis arm64 yang ada (opsi namespace sebaris)
aws elasticbeanstalk update-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2 v3.4.7 running Docker"\ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role\ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small,t4g.micro
Sebagai alternatif, gunakan options.json file untuk menentukan opsi namespace alih-alih memasukkannya sebaris.
contoh 4 - memperbarui lingkungan berbasis arm64 yang ada (opsi namespace dalam file) options.json
aws elasticbeanstalk update-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2 v3.4.7 running Docker"\ --option-settingsfile://options.json
contoh
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t4g.small, t4g.micro" } ]
Dua contoh berikutnya menunjukkan lebih banyak perintah create-environment. Contoh-contoh ini tidak memberikan nilai untukInstanceTypes. Ketika InstanceTypes nilai tidak ditentukan, Elastic Beanstalk default ke arsitektur prosesor berbasis x86. ID Gambar (AMI) untuk instans EC2 lingkungan akan default sesuai dengan Wilayah, versi platform, dan jenis instans default. Jenis instance sesuai dengan arsitektur prosesor.
contoh 5 - buat lingkungan berbasis x86 baru (opsi namespace inline)
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2 v3.4.7 running Docker"\ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role
Sebagai alternatif, gunakan options.json file untuk menentukan opsi namespace alih-alih memasukkannya sebaris.
contoh 6 - buat lingkungan berbasis x86 baru (opsi namespace dalam file) options.json
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --solution-stack-name"64bit Amazon Linux 2 v3.4.7 running Docker"\ --option-settingsfile://options.json
contoh
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" } ]