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

Topik ini menjelaskan cara mengonfigurasi, membangun, dan menjalankan aplikasi Go Anda di Elastic Beanstalk.

AWS Elastic Beanstalk mendukung sejumlah cabang platform untuk berbagai versi bahasa pemrograman Go. Lihat Buka di dokumen AWS Elastic Beanstalk Platform untuk daftar lengkapnya.

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.

Dalam kedua kasus tersebut, dengan cabang platform Go kami yang didukung, Anda juga dapat memberikan persyaratan modul dalam file yang disebutgo.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 menyempurnakan perilaku instans Amazon EC2 Anda. Anda dapat mengedit konfigurasi instans Amazon lingkungan Elastic Beanstalk menggunakan konsol EC2 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 Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. 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 EC2 instans Amazon aplikasi Anda disalin ke bucket Amazon S3 yang terkait dengan aplikasi Anda.

File statis

Untuk meningkatkan kinerja, Anda dapat menggunakan bagian File statis untuk mengkonfigurasi server proxy untuk menyajikan file statis (misalnya, HTML atau gambar) 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 Elastic Beanstalk, lihat. Menyajikan file statis

Properti lingkungan

Bagian Properti Lingkungan memungkinkan Anda menentukan pengaturan konfigurasi lingkungan pada EC2 instance Amazon 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 berupa platform khusus atau berlaku untuk semua platform di layanan Elastic Beanstalk secara keseluruhan. Opsi konfigurasi diatur ke dalam ruang nama.

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, konfigurasi tersimpan, EBCLI, atau file. AWS CLI Untuk informasi selengkapnya, lihat Opsi konfigurasi.

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

Catatan
  • Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). AL2023/ cabang AL2 platform 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 berbasis Amazon Linux () untuk pensiun. AMI AL1 Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2

Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat berupa platform khusus atau berlaku untuk semua platform di layanan Elastic Beanstalk secara keseluruhan. Opsi konfigurasi diatur ke dalam ruang nama.

catatan

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

Platform Amazon Linux AMI Go mendukung satu namespace konfigurasi khusus platform selain ruang nama 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, konfigurasi tersimpan, EBCLI, atau file. AWS CLI Untuk informasi selengkapnya, lihat Opsi konfigurasi.