Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola beberapa lingkungan Elastic Beanstalk sebagai grup dengan EB CLI
Setelah memasang EB CLI dan mengonfigurasi direktori proyek Anda, Anda siap untuk membuat lingkungan Elastic Beanstalk menggunakan EB CLI, men-deploy sumber dan konfigurasi pembaruan, dan menarik log dan peristiwa.
catatan
Membuat lingkungan dengan EB CLI memerlukan peran layanan. Peran layanan dapat dibuat dengan membuat lingkungan di konsol Elastic Beanstalk. Jika Anda tidak memiliki peran layanan, EB CLI mencoba membuatnya saat Anda menjalankan eb create
.
EB CLI mengembalikan kode keluar nol (0
) untuk semua perintah yang berhasil, dan kode keluar bukan nol ketika menemukan kesalahan apa pun.
Contoh berikut menggunakan folder proyek kosong bernama eb
yang diinisialisasi dengan EB CLI untuk digunakan dengan aplikasi Docker sampel.
Eb create
Untuk membuat lingkungan pertama Anda, jalankan eb create dan ikuti petunjuknya. Jika direktori proyek Anda memiliki kode sumber di dalamnya, EB CLI akan memaketkannya dan men-deploy ke lingkungan Anda. Jika tidak, aplikasi sampel akan digunakan.
~/eb$ eb create
Enter Environment Name
(default is eb-dev): eb-dev
Enter DNS CNAME prefix
(default is eb-dev): eb-dev
WARNING: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead.
Environment details for: elasticBeanstalkExa-env
Application name: elastic-beanstalk-example
Region: us-west-2
Deployed Version: Sample Application
Environment ID: e-j3pmc8tscn
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
Tier: WebServer-Standard
CNAME: eb-dev.elasticbeanstalk.com
Updated: 2015-06-27 01:02:24.813000+00:00
Printing Status:
INFO: createEnvironment is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
Lingkungan Anda memerlukan waktu beberapa menit untuk siap. Tekan Ctrl+C untuk kembali ke baris perintah ketika lingkungan dibuat.
Eb status
Jalankan eb status untuk melihat status lingkungan Anda saat ini. Ketika statusnya adalah ready
, aplikasi sampel tersedia di elasticbeanstalk.com dan lingkungan siap untuk diperbarui.
~/eb$ eb status
Environment details for: elasticBeanstalkExa-env
Application name: elastic-beanstalk-example
Region: us-west-2
Deployed Version: Sample Application
Environment ID: e-gbzqc3jcra
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
Tier: WebServer-Standard
CNAME: elasticbeanstalkexa-env.elasticbeanstalk.com
Updated: 2015-06-30 01:47:45.589000+00:00
Status: Ready
Health: Green
Eb health
Gunakan perintah eb health untuk melihat informasi kondisi tentang instans di lingkungan Anda dan keadaan lingkungan Anda secara keseluruhan. Gunakan pilihan --refresh
untuk melihat kondisi di tampilan interaktif yang memperbarui setiap 10 detik.
~/eb$ eb health
api Ok 2016-09-15 18:39:04
WebServer Java 8
total ok warning degraded severe info pending unknown
3 3 0 0 0 0 0 0
instance-id status cause health
Overall Ok
i-0ef05ec54918bf567 Ok
i-001880c1187493460 Ok
i-04703409d90d7c353 Ok
instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10
Overall 8.6 100.0 0.0 0.0 0.0 0.083* 0.065 0.053 0.040 0.019
i-0ef05ec54918bf567 2.9 29 0 0 0 0.069* 0.066 0.057 0.050 0.023
i-001880c1187493460 2.9 29 0 0 0 0.087* 0.069 0.056 0.050 0.034
i-04703409d90d7c353 2.8 28 0 0 0 0.051* 0.027 0.024 0.021 0.015
instance-id type az running load 1 load 5 user% nice% system% idle% iowait%
i-0ef05ec54918bf567 t2.micro 1c 23 mins 0.19 0.05 3.0 0.0 0.3 96.7 0.0
i-001880c1187493460 t2.micro 1a 23 mins 0.0 0.0 3.2 0.0 0.3 96.5 0.0
i-04703409d90d7c353 t2.micro 1b 1 day 0.0 0.0 3.6 0.0 0.2 96.2 0.0
instance-id status id version ago deployments
i-0ef05ec54918bf567 Deployed 28 app-bc1b-160915_181041 20 mins
i-001880c1187493460 Deployed 28 app-bc1b-160915_181041 20 mins
i-04703409d90d7c353 Deployed 28 app-bc1b-160915_181041 27 mins
Eb events
Gunakan eb events untuk melihat daftar output peristiwa oleh Elastic Beanstalk.
~/eb$ eb events
2015-06-29 23:21:09 INFO createEnvironment is starting.
2015-06-29 23:21:10 INFO Using elasticbeanstalk-us-east-2-EXAMPLE as Amazon S3 storage bucket for environment data.
2015-06-29 23:21:23 INFO Created load balancer named: awseb-e-g-AWSEBLoa-EXAMPLE
2015-06-29 23:21:42 INFO Created security group named: awseb-e-gbzqc3jcra-stack-AWSEBSecurityGroup-EXAMPLE
...
Eb logs
Gunakan eb logs untuk menarik log dari sebuah instans di lingkungan Anda. Secara default, eb logs menarik log dari instans pertama yang diluncurkan dan menampilkannya di output standar. Anda dapat menentukan ID instans dengan opsi --instance untuk mendapatkan log dari instans tertentu.
--all menarik log dari semua instans dan menyimpannya ke subdirektori di bawah .elasticbeanstalk/logs
.
~/eb$ eb logs --all
Retrieving logs...
Logs were saved to /home/local/ANT/mwunderl/ebcli/environments/test/.elasticbeanstalk/logs/150630_201410
Updated symlink at /home/local/ANT/mwunderl/ebcli/environments/test/.elasticbeanstalk/logs/latest
Eb open
Untuk membuka situs web lingkungan Anda di peramban, gunakan eb open:
~/eb$ eb open
Di lingkungan berjendela, peramban default Anda akan terbuka di jendela baru. Di lingkungan terminal, peramban baris perintah (misalnya, w3m) akan digunakan jika tersedia.
Eb deploy
Setelah lingkungan siap, Anda dapat memperbaruinya menggunakan eb deploy.
Perintah ini bekerja lebih baik dengan beberapa kode sumber untuk memaketkan dan dem-deploy, jadi untuk contoh ini kita telah membuat Dockerfile
di direktori proyek dengan konten berikut:
~/EB/DockerFile
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y nginx zip curl
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN curl -o /usr/share/nginx/www/master.zip -L https://codeload.github.com/gabrielecirulli/2048/zip/master
RUN cd /usr/share/nginx/www/ && unzip master.zip && mv 2048-master/* . && rm -rf 2048-master master.zip
EXPOSE 80
CMD ["/usr/sbin/nginx", "-c", "/etc/nginx/nginx.conf"]
Dockerfile
ini men-deploy citra Ubuntu 12.04 dan memasang game 2048
. Jalankan eb deploy untuk mengunggah aplikasi ke lingkungan anda:
~/eb$ eb deploy
Creating application version archive "app-150630_014338".
Uploading elastic-beanstalk-example/app-150630_014338.zip to S3. This may take a while.
Upload Complete.
INFO: Environment update is starting.
-- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
Ketika Anda menjalankan eb deploy, EB CLI memaketkan konten direktori proyek Anda dan men-deploy ke lingkungan Anda.
catatan
Jika Anda telah menginisialisasi repositori git di folder proyek Anda, EB CLI akan selalu men-deploy komitmen terbaru, bahkan jika Anda telah menunggu perubahan. Lakukan perubahan Anda sebelum menjalankan eb deploy untuk men-deploy ke lingkungan Anda.
Eb config
Lihat opsi konfigurasi yang tersedia untuk lingkungan Anda yang sedang berjalan dengan perintah eb config:
~/eb$ eb config
ApplicationName: elastic-beanstalk-example
DateUpdated: 2015-06-30 02:12:03+00:00
EnvironmentName: elasticBeanstalkExa-env
SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2
settings:
AWSEBAutoScalingScaleDownPolicy.aws:autoscaling:trigger:
LowerBreachScaleIncrement: '-1'
AWSEBAutoScalingScaleUpPolicy.aws:autoscaling:trigger:
UpperBreachScaleIncrement: '1'
AWSEBCloudwatchAlarmHigh.aws:autoscaling:trigger:
UpperThreshold: '6000000'
...
Perintah ini mengisi daftar opsi konfigurasi yang tersedia di editor teks. Banyak opsi yang ditampilkan memiliki nilai null
, ini tidak ditetapkan secara default, tetapi dapat dimodifikasi untuk memperbarui sumber daya di lingkungan Anda. Untuk informasi selengkapnya tentang opsi ini, lihat Opsi konfigurasi.
Eb terminate
Jika Anda sudah selesai menggunakan lingkungan untuk saat ini, gunakan eb terminate untuk mengakhirinya.
~/eb$ eb terminate
The environment "eb-dev" and all associated instances will be terminated.
To confirm, type the environment name: eb-dev
INFO: terminateEnvironment is starting.
INFO: Deleted CloudWatch alarm named: awseb-e-jc8t3pmscn-stack-AWSEBCloudwatchAlarmHigh-1XLMU7DNCBV6Y
INFO: Deleted CloudWatch alarm named: awseb-e-jc8t3pmscn-stack-AWSEBCloudwatchAlarmLow-8IVI04W2SCXS
INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:1753d43e-ae87-4df6-a405-11d31f4c8f97:autoScalingGroupName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingGroup-90TTS2ZL4MXV:policyName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingScaleUpPolicy-A070H1BMUQAJ
INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:123456789012:scalingPolicy:1fd24ea4-3d6f-4373-affc-4912012092ba:autoScalingGroupName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingGroup-90TTS2ZL4MXV:policyName/awseb-e-jc8t3pmscn-stack-AWSEBAutoScalingScaleDownPolicy-LSWFUMZ46H1V
INFO: Waiting for EC2 instances to terminate. This may take a few minutes.
-- Events -- (safe to Ctrl+C)
Untuk daftar lengkap perintah EB CLI yang tersedia, lihat Referensi perintah EB CLI.
penting
Jika Anda mengakhiri lingkungan, Anda juga harus menghapus pemetaan CNAME yang Anda buat, karena pelanggan lain dapat menggunakan kembali nama host yang tersedia. Pastikan untuk menghapus catatan DNS yang mengarah ke lingkungan Anda yang dihentikan untuk mencegah entri DNS yang menggantung. Entri DNS yang menggantung dapat mengekspos lalu lintas internet yang ditujukan untuk domain Anda ke kerentanan keamanan. Itu juga dapat menimbulkan risiko lain.
Untuk informasi selengkapnya, lihat Perlindungan dari catatan delegasi yang menggantung di Route 53 dalam Panduan Developer Amazon Route 53. Anda juga dapat mempelajari selengkapnya tentang menggantung entri DNS di Perlindungan Domain yang Ditingkatkan untuk CloudFront Permintaan Amazon di Blog Keamanan