View a markdown version of this page

QuickStart: Menyebarkan aplikasi Go 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 Go ke Elastic Beanstalk

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

Bukan untuk penggunaan produksi

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

Klaster AWS akun

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

Untuk memulai AWS, Anda membutuhkan Akun AWS. Untuk informasi tentang membuat Akun AWS, lihat Memulai dengan Akun AWS di Panduan AWS Account Management Referensi.

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

EB CLI

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) dan Mengonfigurasi EB CLI.

Langkah 1: Buat aplikasi Go

Buat direktori proyek.

~$ mkdir eb-go ~$ cd eb-go

Selanjutnya, buat aplikasi yang akan Anda deploy menggunakan Elastic Beanstalk. Kita akan membuat layanan web RESTful "Hello World".

Contoh ini membuat penyesuaian salam pembuka yang bervariasi berdasarkan jalur yang digunakan untuk mengakses layanan.

Buat file teks di direktori ini bernama application.go dengan konten berikut.

contoh~/eb- .go go/application
package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { if r.URL.Path == "/" { fmt.Fprintf(w, "Hello World! Append a name to the URL to say hello. For example, use %s/Mary to say hello to Mary.", r.Host) } else { fmt.Fprintf(w, "Hello, %s!", r.URL.Path[1:]) } } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":5000", nil) }

Langkah 2: Terapkan aplikasi Go Anda dengan EB CLI

Selanjutnya, Anda membuat lingkungan aplikasi Anda dan men-deploy aplikasi yang dikonfigurasi dengan Elastic Beanstalk.

Untuk membuat lingkungan baru dan men-deploy aplikasi Go Anda
  1. Inisialisasi repositori EB CLI Anda dengan perintah eb init.

    ~/eb-go$ eb init -p go go-tutorial --region us-east-2 Application go-tutorial has been created.

    Perintah ini membuat aplikasi bernama go-tutorial dan mengonfigurasi repositori lokal Anda untuk membuat lingkungan dengan versi platform Go terbaru.

  2. (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-go$ 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-go$ eb create go-env

    Dibutuhkan sekitar lima menit untuk Elastic Beanstalk untuk menciptakan lingkungan Anda.

Langkah 3: Jalankan aplikasi Anda di Elastic Beanstalk

Ketika proses untuk membuat lingkungan Anda selesai, buka situs web Anda denganeb open.

~/eb-go$ eb open

Selamat! Anda telah menerapkan aplikasi Go dengan Elastic Beanstalk! Ini akan membuka jendela peramban menggunakan nama domain yang dibuat untuk aplikasi Anda.

Langkah 4: Membersihkan

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-go$ 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.

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

  • 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. 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 men-deploy satu atau dua aplikasi sampel dan siap untuk mulai mengembangkan dan menjalankan aplikasi Go secara lokal, lihat Menyiapkan lingkungan pengembangan Go 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.