Menggunakan platform Go 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.

Menggunakan platform Go Elastic Beanstalk

Anda dapat menggunakan AWS Elastic Beanstalk untuk menjalankan, membangun, dan mengonfigurasi aplikasi berbasis Go. Untuk aplikasi Go sederhana, ada dua cara untuk men-deploy aplikasi Anda:

  • Sediakan paket sumber dengan file sumber di akar bernama application.go yang berisi paket utama untuk aplikasi Anda. Elastic Beanstalk membangun biner menggunakan perintah berikut:

    go build -o bin/application application.go

    Setelah aplikasi dibangun, Elastic Beanstalk memulainya di port 5000.

  • Sediakan paket sumber dengan file biner bernama application. File biner dapat ditemukan baik di akar paket sumber atau di direktori bin/ dari paket sumber. Jika Anda menempatkan file biner application di kedua lokasi, Elastic Beanstalk menggunakan file di direktori bin/.

    Elastic Beanstalk meluncurkan aplikasi ini di port 5000.

Di kedua kasus, dengan Go 1.11 atau lebih baru, Anda juga dapat menyediakan persyaratan modul di sebuah file bernama go.mod. Untuk informasi selengkapnya, lihat Migrasi ke Modul Go di blog Go.

Untuk aplikasi Go yang lebih kompleks, ada dua cara untuk men-deploy aplikasi Anda:

  • Sediakan paket sumber yang mencakup file sumber aplikasi Anda, bersama dengan Buildfile dan Procfile. Buildfile mencakup perintah untuk membangun aplikasi, dan Procfile mencakup petunjuk untuk menjalankan aplikasi.

  • Sediakan paket sumber yang mencakup file biner aplikasi Anda, bersama dengan Procfile. Procfile mencakup petunjuk untuk menjalankan aplikasi.

Platform Go mencakup server proksi untuk melayani aset statis dan meneruskan lalu lintas ke aplikasi Anda. Anda dapat memperpanjang atau mengganti konfigurasi proksi default untuk skenario lanjutan.

Untuk detail tentang berbagai cara untuk memperluas platform berbasis Linux Elastic Beanstalk, lihat Memperluas platform Linux Elastic Beanstalk.

Mengonfigurasi lingkungan Go Anda

Pengaturan platform Go memungkinkan Anda untuk menyempurnakan perilaku instans Amazon EC2 Anda. Anda dapat mengedit konfigurasi instans Amazon EC2 lingkungan Elastic Beanstalk menggunakan konsol Elastic Beanstalk.

Gunakan konsol Elastic Beanstalk untuk mengaktifkan rotasi log ke Amazon S3 dan mengonfigurasi variabel yang dapat dibaca aplikasi Anda dari lingkungan.

Untuk mengonfigurasi lingkungan Go Anda di konsol Elastic Beanstalk
  1. Buka konsol Elastis Beanstalk, dan di daftar Wilayah, pilih. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.

Opsi log

Bagian Opsi Log memiliki dua pengaturan:

  • Profil instans – Menentukan profil instans yang memiliki izin untuk mengakses bucket Amazon S3 yang terkait dengan aplikasi Anda.

  • Aktifkan rotasi file log ke Amazon S3 — Menentukan apakah file log untuk instans Amazon EC2 aplikasi Anda disalin ke bucket Amazon S3 yang terkait dengan aplikasi Anda.

File statis

Untuk meningkatkan performa, Anda dapat mengonfigurasi server proksi guna menyajikan file statis (misalnya, HTML atau citra) dari satu set direktori di dalam aplikasi web Anda. Untuk setiap direktori, Anda mengatur jalur virtual ke pemetaan direktori. Saat server proksi menerima permintaan untuk file di jalur yang ditentukan, server langsung menyajikan file daripada merutekan permintaan ke aplikasi Anda.

Untuk detail tentang mengonfigurasi file statis menggunakan file konfigurasi atau konsol Elastis Beanstalk, lihat. Menyajikan file statis

Properti lingkungan

Bagian Properti Lingkungan memungkinkan Anda menentukan pengaturan konfigurasi lingkungan di instans Amazon EC2 yang menjalankan aplikasi Anda. Properti lingkungan diberikan sebagai pasangan nilai kunci ke aplikasi.

Di dalam lingkungan Go yang berjalan di Elastic Beanstalk, variabel lingkungan dapat diakses menggunakan fungsi os.Getenv. Sebagai contoh, Anda dapat membaca properti bernama API_ENDPOINT ke variabel dengan kode berikut:

endpoint := os.Getenv("API_ENDPOINT")

Lihat Properti lingkungan dan pengaturan perangkat lunak lainnya untuk informasi selengkapnya.

Namespace konfigurasi Go

Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat ditentukan oleh layanan Elastic Beanstalk atau platform yang Anda gunakan dan disusun ke dalam namespace.

Platform Go tidak menentukan namespace khusus platform. Anda dapat mengonfigurasi proksi untuk menyajikan file statis dengan menggunakan namespace aws:elasticbeanstalk:environment:proxy:staticfiles. Untuk detail dan contoh, lihat Menyajikan file statis.

Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol tersebut, konfigurasi tersimpan, EB CLI, atau AWS CLI. Lihat Opsi konfigurasi untuk informasi selengkapnya.

Jika lingkungan Go Elastic Beanstalk Anda menggunakan versi platform Amazon Linux AMI (Amazon Linux 2 terdahulu), baca informasi tambahan di bagian ini.

Catatan
  • Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). Cabang platform AL2023/AL2 tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan memerlukan pengaturan konfigurasi yang berbeda.

  • Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berdasarkan Amazon Linux AMI (AL1) untuk pensiun. Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. Memigrasi aplikasi Elastic Beanstalk Linux 2 Amazon Linux 2 Amazon Linux 2

Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat ditentukan oleh layanan Elastic Beanstalk atau platform yang Anda gunakan dan disusun ke dalam namespace.

catatan

Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). Cabang platform AL2023/AL2 tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan memerlukan pengaturan konfigurasi yang berbeda.

Platform Go Amazon Linux AMI mendukung satu namespace konfigurasi khusus platform selain namespace yang didukung oleh semua platform. Namespace aws:elasticbeanstalk:container:golang:staticfiles memungkinkan Anda menentukan opsi yang memetakan jalur di aplikasi web Anda ke folder di paket sumber aplikasi Anda yang berisi konten statis.

Sebagai contoh, file konfigurasi ini memberitahu server proksi untuk menyajikan file di folder staticimages di jalur /images:

contoh .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol tersebut, konfigurasi tersimpan, EB CLI, atau AWS CLI. Lihat Opsi konfigurasi untuk informasi selengkapnya.