Menggunakan platform Go - AWS App Runner

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

Menggunakan platform Go

Platform AWS App Runner Go menyediakan runtime terkelola. Setiap runtime memudahkan untuk membangun dan menjalankan container dengan aplikasi web berdasarkan versi Go. Saat Anda menggunakan runtime Go, App Runner dimulai dengan image runtime Go yang dikelola. Gambar ini didasarkan pada image Amazon Linux Docker dan berisi paket runtime untuk versi Go dan beberapa alat. App Runner menggunakan image runtime terkelola ini sebagai image dasar, dan menambahkan kode aplikasi Anda untuk membuat image Docker. Kemudian menyebarkan gambar ini untuk menjalankan layanan web Anda dalam sebuah wadah.

Anda menentukan runtime untuk layanan App Runner saat membuat layanan menggunakan konsol App Runner atau operasi API. CreateService Anda juga dapat menentukan runtime sebagai bagian dari kode sumber Anda. Gunakan runtime kata kunci dalam file konfigurasi App Runner yang Anda sertakan dalam repositori kode Anda. Konvensi penamaan dari runtime terkelola adalah. <language-name><major-version>

Untuk nama dan versi runtime Go yang valid, lihatInformasi rilis Go runtime.

App Runner memperbarui runtime untuk layanan Anda ke versi terbaru pada setiap penerapan atau pembaruan layanan. Jika aplikasi Anda memerlukan versi tertentu dari runtime terkelola, Anda dapat menentukannya menggunakan runtime-version kata kunci dalam file konfigurasi App Runner. Anda dapat mengunci ke tingkat versi apa pun, termasuk versi mayor atau minor. App Runner hanya membuat pembaruan tingkat yang lebih rendah ke runtime layanan Anda.

Sintaks versi untuk runtime Go: major[.minor[.patch]]

Misalnya: 1.18.7

Contoh berikut menunjukkan penguncian versi:

  • 1.18— Kunci versi mayor dan minor. App Runner hanya memperbarui versi tambalan.

  • 1.18.7— Kunci ke versi patch tertentu. App Runner tidak memperbarui versi runtime Anda.

Konfigurasi runtime Go

Saat memilih runtime terkelola, Anda juga harus mengonfigurasi, seminimal mungkin, membangun dan menjalankan perintah. Anda mengonfigurasinya saat membuat atau memperbarui layanan App Runner. Anda dapat melakukan ini menggunakan salah satu metode berikut:

  • Menggunakan konsol App Runner — Tentukan perintah di bagian Configure build pada tab proses pembuatan atau konfigurasi.

  • Menggunakan App Runner API — Panggil operasi CreateServiceatau UpdateServiceAPI. Tentukan perintah menggunakan BuildCommand dan StartCommand anggota tipe CodeConfigurationValuesdata.

  • Menggunakan file konfigurasi — Tentukan satu atau beberapa perintah build hingga tiga fase build, dan satu perintah run yang berfungsi untuk memulai aplikasi Anda. Ada pengaturan konfigurasi opsional tambahan.

Menyediakan file konfigurasi adalah opsional. Saat membuat layanan App Runner menggunakan konsol atau API, Anda menentukan apakah App Runner mendapatkan setelan konfigurasi secara langsung saat dibuat atau dari file konfigurasi.

Contoh runtime Go

Contoh berikut menunjukkan file konfigurasi App Runner untuk membangun dan menjalankan layanan Go.

Contoh ini menunjukkan file konfigurasi minimal yang dapat Anda gunakan dengan runtime yang dikelola Go. Untuk asumsi yang dibuat oleh App Runner dengan file konfigurasi minimal, lihat. Contoh file konfigurasi

contoh apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main

Contoh ini menunjukkan penggunaan semua kunci konfigurasi dengan runtime yang dikelola Go.

catatan

Versi runtime yang digunakan dalam contoh ini adalah 1.18.7. Anda dapat menggantinya dengan versi yang ingin Anda gunakan. Untuk versi runtime Go terbaru yang didukung, lihatInformasi rilis Go runtime.

contoh apprunner.yaml
version: 1.0 runtime: go1 build: commands: pre-build: - scripts/prebuild.sh build: - go build main.go post-build: - scripts/postbuild.sh env: - name: MY_VAR_EXAMPLE value: "example" run: runtime-version: 1.18.7 command: ./main network: port: 3000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"

Contoh-contoh ini menunjukkan kode sumber untuk aplikasi Go lengkap yang dapat Anda terapkan ke layanan runtime Go.

contoh main.go
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "<h1>Welcome to App Runner</h1>") }) fmt.Println("Starting the server on :3000...") http.ListenAndServe(":3000", nil) }
contoh apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main network: port: 3000 env: APP_PORT