QuickStart: Menyebarkan aplikasi Python ke Elastic Beanstalk - AWS Elastic Beanstalk

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

QuickStart: Menyebarkan aplikasi Python ke Elastic Beanstalk

QuickStart Tutorial ini memandu Anda melalui proses pembuatan aplikasi Python 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.

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
  1. Buka https://portal.aws.amazon.com/billing/pendaftaran.

  2. Ikuti petunjuk online.

    Bagian dari prosedur pendaftaran melibatkan tindakan menerima panggilan telepon dan memasukkan kode verifikasi di keypad telepon.

    Saat Anda mendaftar untuk sebuah Akun AWS, sebuah Pengguna root akun AWSdibuat. Pengguna root memiliki akses ke semua Layanan AWS 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. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk https://aws.amazon.com.rproxy.goskope.comke/ dan memilih Akun Saya.

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
  1. Masuk ke AWS Management Consolesebagai 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.

  2. Aktifkan otentikasi multi-faktor (MFA) untuk pengguna root Anda.

    Untuk petunjuk, lihat Mengaktifkan MFA perangkat virtual untuk pengguna Akun AWS root (konsol) Anda di Panduan IAM Pengguna.

Buat pengguna dengan akses administratif
  1. Aktifkan Pusat IAM Identitas.

    Untuk mendapatkan petunjuk, silakan lihat Mengaktifkan AWS IAM Identity Center di Panduan Pengguna AWS IAM Identity Center .

  2. Di Pusat IAM Identitas, 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 IAM Identitas, gunakan login URL yang dikirim ke alamat email saat Anda membuat pengguna Pusat IAM Identitas.

    Untuk bantuan masuk menggunakan pengguna Pusat IAM Identitas, lihat Masuk ke portal AWS akses di Panduan AWS Sign-In Pengguna.

Tetapkan akses ke pengguna tambahan
  1. Di Pusat IAM Identitas, 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.

  2. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

    Untuk petunjuk, lihat Menambahkan grup di Panduan AWS IAM Identity Center Pengguna.

Prasyarat

catatan

AWS akun yang dibuat setelah 1 Oktober 2024, sementara perlu menetapkan opsi untuk berhasil menciptakan lingkungan baru. Seperti akun baru, tetapi hanya untuk Wilayah di mana akun belum memiliki lingkungan, akun yang ada perlu mengambil tindakan yang sama. Untuk informasi selengkapnya, lihat Luncurkan Template.

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 mendapatkan versi Windows terintegrasi dari Ubuntu dan Bash.

EB CLI

Tutorial ini menggunakan Elastic Beanstalk Command Line Interface (EB). CLI Untuk detail tentang menginstal dan mengkonfigurasi EBCLI, lihat Pasang Antarmuka Baris Perintah Elastic Beanstalk dan. Mengonfigurasi EB CLI

Kerangka kerja Python dan Flask

Konfirmasikan bahwa Anda memiliki versi Python yang berfungsi dengan pip diinstal dengan menjalankan perintah berikut.

~$ python3 --version Python 3.N.N >~$ python3 -m pip --version pip X.Y.Z from ... (python 3.N.N)

Jika salah satu perintah sebelumnya mengembalikan “Python tidak ditemukan “, jalankan perintah berikut yang menggunakan python alih-alih. python3 Pengaturan alias dan tautan simbolik dapat bervariasi menurut sistem operasi dan penyesuaian individual, sehingga python3 perintah mungkin tidak berfungsi pada mesin Anda.

~$ python --version Python 3.N.N >~$ python -m pip --version pip X.Y.Z from ... (python 3.N.N)

Jika Anda tidak menginstal Python di komputer lokal Anda, Anda dapat mengunduhnya dari halaman unduhan Python di situs web Python. Untuk daftar versi bahasa Python yang didukung oleh Elastic Beanstalk, lihat Platform Python yang didukung dalam panduan Platform.AWS Elastic Beanstalk Situs web unduhan Python menyediakan tautan ke Panduan Pengembang Python, tempat Anda akan menemukan instruksi instalasi dan penyiapan.

catatan

pipPaket Python disertakan secara default dengan Python 3.4 atau yang lebih baru.

Jika output Anda menunjukkan bahwa Anda memiliki versi Python yang didukung, tetapi tidakpip, lihat halaman Instalasi di situs web pip.pypa.io. Ini memberikan panduan untuk menginstal pip dalam lingkungan Python yang tidak memilikinya.

Konfirmasikan apakah Flask diinstal dengan menjalankan perintah berikut:

~$ pip list | grep Flask

Jika Flask tidak diinstal, Anda dapat menginstalnya dengan perintah berikut:

~$ pip install Flask

Langkah 1: Buat aplikasi Python

Buat direktori proyek.

~$ mkdir eb-python ~$ cd eb-python

Buat sampel “Halo Elastic Beanstalk!” Aplikasi Python yang akan Anda gunakan menggunakan Elastic Beanstalk.

Buat file teks bernama application.py di direktori yang baru saja Anda buat dengan konten berikut.

contoh ~/eb-python/application.py
from flask import Flask application = Flask(__name__) @application.route('/') def hello_elastic_beanstalk(): return 'Hello Elastic Beanstalk!'

Buat file teks bernama requirements.txt dengan baris berikut. File ini berisi pip paket yang diperlukan untuk menjalankan aplikasi.

contoh ~/eb-python/requirements.txt
Flask

Langkah 2: Jalankan aplikasi Anda secara lokal

Jalankan perintah berikut untuk menjalankan aplikasi Anda secara lokal.

~/eb-python$ export FLASK_APP=application.py && flask run --port 5000

Anda akan melihat output yang mirip dengan berikut ini

Serving Flask app 'application.py'
Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
Running on http://127.0.0.1:5000
Press CTRL+C to quit
127.0.0.1 - - [01/Jan/1970 00:00:00] "GET / HTTP/1.1" 200 -

Arahkan ke http://localhost:5000 di browser web Anda. Browser web harus menampilkan “Hello Elastic Beanstalk!”.

Langkah 3: Menyebarkan aplikasi Python Anda dengan EB CLI

Jalankan perintah berikut untuk membuat lingkungan Elastic Beanstalk untuk aplikasi ini.

Untuk membuat lingkungan dan menyebarkan aplikasi Python Anda
  1. Inisialisasi CLI repositori EB Anda dengan perintah. eb init

    ~/eb-python$ eb init -p python-3.9 python-tutorial --region us-east-2

    Perintah ini membuat aplikasi bernama python-tutorial dan mengkonfigurasi repositori lokal Anda untuk membuat lingkungan dengan versi platform Python yang disediakan.

  2. (Opsional) Jalankan eb init lagi untuk mengonfigurasi key pair default sehingga Anda dapat menggunakan SSH untuk menyambung ke EC2 instance yang menjalankan aplikasi Anda.

    ~/eb-python$ 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.

  3. 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-python$ eb create python-env

    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-python$ eb open

Selamat! Anda telah menerapkan aplikasi Python 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 CLI EB jalankan perintah berikut.

~/eb-python$ eb terminate

AWS sumber daya untuk aplikasi Anda

Anda baru saja membuat aplikasi instance tunggal. Ini berfungsi sebagai aplikasi sampel langsung dengan satu EC2 instance, sehingga tidak memerlukan penyeimbangan beban atau penskalaan otomatis. Untuk aplikasi contoh tunggal Elastic Beanstalk menciptakan sumber daya berikut: AWS

  • EC2instance — Mesin EC2 virtual Amazon yang dikonfigurasi untuk menjalankan aplikasi web pada 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 EC2 keamanan Amazon yang dikonfigurasi untuk memungkinkan lalu lintas masuk di port 80. Sumber daya ini memungkinkan HTTP lalu lintas dari penyeimbang beban mencapai EC2 instance 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 formulir 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. Menyebarkan versi aplikasi baru sangat cepat karena tidak memerlukan penyediaan atau memulai ulang instance. 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.

Coba lebih banyak tutorial

Jika Anda ingin mencoba tutorial lain dengan aplikasi contoh yang berbeda, lihat tutorial berikut:

Setelah Anda menerapkan satu atau dua contoh aplikasi dan siap untuk mulai mengembangkan dan menjalankan aplikasi Python secara lokal, lihat. Menyiapkan lingkungan pengembangan Python Anda untuk Elastic Beanstalk

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.