Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
QuickStart: Menyebarkan aplikasi Docker ke Elastic Beanstalk
QuickStart Tutorial ini memandu Anda melalui proses pembuatan aplikasi Docker dan menyebarkannya ke lingkungan AWS Elastic Beanstalk .
catatan
QuickStart Tutorial ini ditujukan untuk tujuan demonstrasi. Jangan gunakan aplikasi yang dibuat dalam tutorial ini untuk lalu lintas produksi.
Bagian-bagian
- AWS Akun Anda
- Prasyarat
- Langkah 1: Buat aplikasi dan wadah Docker
- Langkah 2: Jalankan aplikasi Anda secara lokal
- Langkah 3: Terapkan aplikasi Docker Anda dengan EB CLI
- Langkah 4: Jalankan aplikasi Anda di Elastic Beanstalk
- Langkah 5: Bersihkan
- AWS sumber daya untuk aplikasi Anda
- Langkah selanjutnya
- Terapkan dengan konsol Elastic Beanstalk
AWS Akun Anda
Jika Anda belum menjadi AWS pelanggan, Anda perlu membuat AWS akun. Mendaftar memungkinkan Anda mengakses Elastic Beanstalk AWS dan layanan lain yang Anda butuhkan.
Jika Anda sudah memiliki AWS akun, Anda dapat melanjutkan kePrasyarat.
Mendaftar untuk Akun AWS
Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.
Untuk mendaftar untuk Akun AWS
Ikuti petunjuk online.
Bagian dari prosedur pendaftaran melibatkan tindakan menerima panggilan telepon dan memasukkan kode verifikasi di keypad telepon.
Ketika Anda mendaftar untuk sebuah Akun AWS, sebuah Pengguna root akun AWSdibuat. Pengguna root memiliki akses ke semua AWS services dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan tugas yang memerlukan akses pengguna root.
AWS mengirimi Anda email konfirmasi setelah proses pendaftaran selesai. Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan mengunjungi https://aws.amazon.com/
Buat pengguna dengan akses administratif
Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.
Amankan Anda Pengguna root akun AWS
-
Masuk ke AWS Management Console
sebagai pemilik akun dengan memilih pengguna Root dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi. Untuk bantuan masuk dengan menggunakan pengguna root, lihat Masuk sebagai pengguna root di AWS Sign-In Panduan Pengguna.
-
Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.
Untuk petunjuk, lihat Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda di Panduan Pengguna IAM.
Buat pengguna dengan akses administratif
-
Aktifkan Pusat Identitas IAM.
Untuk mendapatkan petunjuk, silakan lihat Mengaktifkan AWS IAM Identity Center di Panduan Pengguna AWS IAM Identity Center .
-
Di Pusat Identitas IAM, berikan akses administratif ke pengguna.
Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM di Panduan AWS IAM Identity Center Pengguna.
Masuk sebagai pengguna dengan akses administratif
-
Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.
Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat Masuk ke portal AWS akses di Panduan AWS Sign-In Pengguna.
Tetapkan akses ke pengguna tambahan
-
Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.
Untuk petunjuknya, lihat Membuat set izin di Panduan AWS IAM Identity Center Pengguna.
-
Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.
Untuk petunjuk, lihat Menambahkan grup di Panduan AWS IAM Identity Center Pengguna.
Prasyarat
Untuk mengikuti prosedur di panduan ini, Anda memerlukan terminal atau shell baris perintah untuk menjalankan perintah. Perintah ditampilkan dalam daftar yang diawali dengan simbol prompt ($) dan nama direktori saat ini, bila perlu.
~/eb-project$ this is a command
this is output
Di Linux dan macOS, Anda dapat menggunakan shell dan manajer paket pilihan Anda. Pada Windows Anda dapat menginstal Windows Subsystem untuk Linux untuk
EB CLI
Tutorial ini menggunakan Elastic Beanstalk Command Line Interface (EB CLI). Untuk detail tentang pemasangan dan konfigurasi EB CLI, lihat Memasang EB CLI dan Mengonfigurasi EB CLI.
Docker
Untuk mengikuti tutorial ini, Anda memerlukan instalasi lokal Docker yang berfungsi. Untuk informasi lebih lanjut, lihat Dapatkan Docker
Verifikasi daemon Docker sedang berjalan dengan menjalankan perintah berikut.
~$ docker info
Langkah 1: Buat aplikasi dan wadah Docker
Untuk contoh ini, kita membuat image Docker dari contoh aplikasi Flask yang juga direferensikan. Men-deploy aplikasi Flask ke Elastic Beanstalk
Aplikasi ini terdiri dari dua file:
-
app.py
— file Python yang berisi kode yang akan dijalankan dalam wadah. -
Dockerfile
— Dockerfile untuk membangun gambar Anda.
Tempatkan kedua file di root direktori.
~/eb-docker-flask/
|-- Dockerfile
|-- app.py
Tambahkan konten berikut ke AndaDockerfile
.
contoh ~/eb-docker-flask/Dockerfile
FROM python:3.12 COPY . /app WORKDIR /app RUN pip install Flask==3.0.2 EXPOSE 5000 CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"]
Tambahkan konten berikut ke app.py
file Anda.
contoh ~/eb-docker-flask/app.py
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello Elastic Beanstalk! This is a Docker application'
Bangun wadah Docker Anda, beri tag gambar dengan. eb-docker-flask
~/eb-docker-flask$
docker build -t eb-docker-flask
Langkah 2: Jalankan aplikasi Anda secara lokal
Gunakan perintah docker buildeb-docker-flask
Periode (.
) di akhir perintah mengkhususkan bahwa path adalah direktori lokal.
~/eb-docker-flask$
docker run -dp 127.0.0.1:5000:5000 eb-docker-flask
.
Jalankan container Anda dengan perintah docker run
~/eb-docker-flask$
docker run -dp 127.0.0.1:5000:5000 eb-docker-flask
container-id
Arahkan ke http://127.0.0.1:5000/
di browser Anda. Anda akan melihat teks “Halo Elastic Beanstalk! Ini adalah aplikasi Docker”.
Jalankan perintah docker kill
~/eb-docker-flask$
docker kill
container-id
Langkah 3: Terapkan aplikasi Docker Anda dengan EB CLI
Jalankan perintah berikut untuk membuat lingkungan Elastic Beanstalk untuk aplikasi ini.
Untuk membuat lingkungan dan menerapkan aplikasi Docker Anda
-
Inisialisasi repositori EB CLI Anda dengan perintah eb init.
~/eb-docker-flask$
eb init -p docker docker-tutorial
Application docker-tutorial has been created.us-east-2
Perintah ini membuat aplikasi bernama
docker-tutorial
dan mengkonfigurasi repositori lokal Anda untuk membuat lingkungan dengan versi platform Docker terbaru. -
(Opsional) Jalankan eb init lagi untuk mengonfigurasi pasangan kunci default, sehingga Anda dapat menggunakan SSH untuk terhubung ke instans EC2 yang menjalankan aplikasi Anda.
~/eb-docker-flask$
eb init
Do you want to set up SSH for your instances? (y/n):y
Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]Pilih pasangan kunci jika Anda sudah memilikinya, atau ikuti prompt untuk membuatnya. Jika Anda tidak melihat prompt atau perlu mengubah pengaturan Anda nanti, jalankan eb init -i.
-
Buat lingkungan baru dan deploy aplikasi Anda dengan eb create. Elastic Beanstalk secara otomatis membuat file zip untuk aplikasi Anda dan memulainya pada port 5000.
~/eb-docker-flask$
eb create docker-tutorial
Dibutuhkan sekitar lima menit untuk Elastic Beanstalk untuk menciptakan lingkungan Anda.
Langkah 4: Jalankan aplikasi Anda di Elastic Beanstalk
Ketika proses untuk membuat lingkungan Anda selesai, buka situs web Anda denganeb open.
~/eb-docker-flask$ eb open
Selamat! Anda telah menerapkan aplikasi Docker dengan Elastic Beanstalk! Ini akan membuka jendela peramban menggunakan nama domain yang dibuat untuk aplikasi Anda.
Langkah 5: Bersihkan
Anda dapat menghentikan lingkungan Anda ketika Anda selesai bekerja dengan aplikasi Anda. Elastic Beanstalk AWS mengakhiri semua sumber daya yang terkait dengan lingkungan Anda.
Untuk mengakhiri lingkungan Elastic Beanstalk Anda dengan EB CLI jalankan perintah berikut.
~/eb-docker-flask$ eb terminate
AWS sumber daya untuk aplikasi Anda
Anda baru saja membuat aplikasi instance tunggal. Ini berfungsi sebagai aplikasi sampel langsung dengan satu instans EC2, sehingga tidak memerlukan penyeimbangan beban atau penskalaan otomatis. Untuk aplikasi contoh tunggal Elastic Beanstalk menciptakan sumber daya berikut: AWS
-
Instans EC2 – Mesin virtual Amazon EC2 yang dikonfigurasi untuk menjalankan aplikasi web di platform yang Anda pilih.
Setiap platform menjalankan satu set perangkat lunak, file konfigurasi, dan penulisan yang berbeda untuk mendukung versi bahasa, kerangka kerja, kontainer web tertentu, atau kombinasi dari semua ini. Sebagian besar platform menggunakan Apache atau nginx sebagai proksi terbalik yang memproses lalu lintas web di depan aplikasi web Anda, meneruskan permintaan ke aplikasi web, menyajikan aset statis, dan menghasilkan log akses dan kesalahan.
-
Grup keamanan instans – Grup keamanan Amazon EC2 yang dikonfigurasi untuk mengizinkan lalu lintas masuk di port 80. Sumber daya ini memungkinkan lalu lintas HTTP dari penyeimbang beban mencapai instans EC2 yang menjalankan aplikasi web Anda. Secara default, lalu lintas tidak diizinkan di port lain.
-
Bucket Amazon S3 – Lokasi penyimpanan untuk kode sumber, log, dan artifact lainnya yang dibuat saat Anda menggunakan Elastic Beanstalk.
-
CloudWatch Alarm Amazon — Dua CloudWatch alarm yang memantau beban pada instans di lingkungan Anda dan dipicu jika beban terlalu tinggi atau terlalu rendah. Saat alarm terpicu, grup Auto Scaling Anda akan menaikkan atau menurunkan skala sebagai respons.
-
AWS CloudFormation stack - Elastic AWS CloudFormation Beanstalk digunakan untuk meluncurkan sumber daya di lingkungan Anda dan menyebarkan perubahan konfigurasi. Sumber daya ditentukan di sebuah templat yang dapat Anda lihat di Konsol AWS CloudFormation
. -
Nama domain – Nama domain yang merutekan ke aplikasi web Anda dalam bentuk
subdomain
.region
.elasticbeanstalk.com.
Elastic Beanstalk mengelola semua sumber daya tersebut. Ketika Anda mengakhiri lingkungan, Elastic Beanstalk mengakhiri semua sumber daya yang dimuatnya.
Langkah selanjutnya
Setelah lingkungan Anda menjalankan aplikasi, Anda dapat men-deploy versi baru aplikasi atau aplikasi yang berbeda kapan saja. Men-deploy versi aplikasi baru itu sangat cepat karena tidak memerlukan persediaan atau memulai ulang instans EC2. Anda juga dapat menjelajahi lingkungan baru Anda menggunakan konsol Elastic Beanstalk. Untuk langkah-langkah mendetail, lihat Menjelajahi lingkungan Anda di bagian Memulai panduan ini.
Setelah Anda menerapkan satu atau dua contoh aplikasi dan siap untuk mulai mengembangkan dan menjalankan aplikasi Docker secara lokal, lihat
Terapkan dengan konsol Elastic Beanstalk
Anda juga dapat menggunakan konsol Elastic Beanstalk untuk meluncurkan aplikasi sampel. Untuk langkah-langkah rinci, lihat Membuat aplikasi contoh di Bab Memulai panduan ini.