

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
<a name="python-quickstart"></a>

 QuickStart Tutorial ini memandu Anda melalui proses pembuatan aplikasi Python dan menyebarkannya ke lingkungan. AWS Elastic Beanstalk 

**Bukan untuk penggunaan produksi**  
Contoh dimaksudkan untuk demonstrasi saja. Jangan gunakan contoh aplikasi dalam produksi.

**Topics**
+ [Klaster AWS akun](#python-quickstart-aws-account)
+ [Prasyarat](#python-quickstart-prereq)
+ [Langkah 1: Buat aplikasi Python](#python-quickstart-create-app)
+ [Langkah 2: Jalankan aplikasi Anda secara lokal](#python-quickstart-run-local)
+ [Langkah 3: Menyebarkan aplikasi Python Anda dengan EB CLI](#python-quickstart-deploy)
+ [Langkah 4: Jalankan aplikasi Anda di Elastic Beanstalk](#python-quickstart-run-eb-ap)
+ [Langkah 5: Bersihkan](#go-tutorial-cleanup)
+ [AWS sumber daya untuk aplikasi Anda](#python-quickstart-eb-resources)
+ [Langkah selanjutnya](#python-quickstart-next-steps)
+ [Terapkan dengan konsol Elastic Beanstalk](#python-quickstart-console)

## Klaster AWS akun
<a name="python-quickstart-aws-account"></a>

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 ke[Prasyarat](#python-quickstart-prereq).

### Buat sebuah AWS akun
<a name="python-quickstart-aws-account-procedure"></a>

#### Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Untuk memulai AWS, Anda membutuhkan Akun AWS. Untuk informasi tentang membuat Akun AWS, lihat [Memulai dengan Akun AWS](https://docs.aws.amazon.com/accounts/latest/reference/getting-started.html) di *Panduan AWS Account Management Referensi*.

## Prasyarat
<a name="python-quickstart-prereq"></a>

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](https://docs.microsoft.com/en-us/windows/wsl/install-win10) mendapatkan Windows-integrated versi Ubuntu dan Bash.

### EB CLI
<a name="python-quickstart-prereq.ebcli"></a>

Tutorial ini menggunakan Elastic Beanstalk Command Line Interface (EB CLI). Untuk detail tentang pemasangan dan konfigurasi EB CLI, lihat [Instal EB CLI dengan skrip pengaturan (disarankan)](eb-cli3.md#eb-cli3-install) dan [Mengonfigurasi EB CLI](eb-cli3-configuration.md).

### Kerangka kerja Python dan Flask
<a name="python-quickstart-prereq.runtime"></a>

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](https://www.python.org/downloads/). *Untuk daftar versi bahasa Python yang didukung oleh Elastic Beanstalk, [lihat Platform Python yang didukung](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.python) 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**  
`pip`Paket Python disertakan secara default dengan Python 3.4 atau yang lebih baru.

Jika output Anda menunjukkan bahwa Anda memiliki versi Python yang didukung, tetapi tidak`pip`, lihat halaman [Instalasi](https://pip.pypa.io/en/stable/installation/) 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
<a name="python-quickstart-create-app"></a>

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.

**Example `~/eb- .py python/application`**  

```
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.

**Example `~/eb- .txt python/requirements`**  

```
Flask
```

## Langkah 2: Jalankan aplikasi Anda secara lokal
<a name="python-quickstart-run-local"></a>

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

```
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
<a name="python-quickstart-deploy"></a>

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

 

**Untuk membuat lingkungan dan menyebarkan aplikasi Python Anda**

1. Inisialisasi repositori EB CLI 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.

1. (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-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**.

1. 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
<a name="python-quickstart-run-eb-ap"></a>

Ketika proses untuk membuat lingkungan Anda selesai, buka situs web Anda dengan**eb 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
<a name="go-tutorial-cleanup"></a>

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-python$ eb terminate
```

## AWS sumber daya untuk aplikasi Anda
<a name="python-quickstart-eb-resources"></a>

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.
+ **CloudFormation stack** - Elastic 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 CloudFormation](https://console.aws.amazon.com/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
<a name="python-quickstart-next-steps"></a>

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](GettingStarted.md#GettingStarted.Explore) di bagian *Memulai* panduan ini.

**Coba lebih banyak tutorial**  
Jika Anda ingin mencoba tutorial lain dengan aplikasi contoh yang berbeda, lihat tutorial berikut:  
[Men-deploy aplikasi Flask ke Elastic Beanstalk](create-deploy-python-flask.md)
[Men-deploy aplikasi Django ke Elastic Beanstalk](create-deploy-python-django.md)

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](python-development-environment.md) 

## Terapkan dengan konsol Elastic Beanstalk
<a name="python-quickstart-console"></a>

Anda juga dapat menggunakan konsol Elastic Beanstalk untuk meluncurkan aplikasi sampel. Untuk langkah-langkah rinci, lihat [Membuat aplikasi contoh](GettingStarted.md#GettingStarted.CreateApp) di Bab *Memulai* panduan ini.