Memigrasikan aplikasi web Go lokal ke AWS Elastic Beanstalk menggunakan metode biner - AWS Prescriptive Guidance

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

Memigrasikan aplikasi web Go lokal ke AWS Elastic Beanstalk menggunakan metode biner

Suhas Basavaraj dan Shumaz Mukhtar Kazi, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara memigrasikan aplikasi web Go lokal ke AWS Elastic Beanstalk. Setelah aplikasi dimigrasikan, Elastic Beanstalk membuat biner untuk bundel sumber dan menerapkannya ke instance Amazon Elastic Compute Cloud (Amazon). EC2

Sebagai strategi migrasi rehost, pendekatan pola ini cepat dan tidak memerlukan perubahan kode, yang berarti lebih sedikit waktu pengujian dan migrasi. 

Prasyarat dan batasan

Prasyarat

Versi produk

  • Versi Go terbaru yang didukung oleh Elastic Beanstalk. Untuk informasi lebih lanjut, lihat dokumentasi Elastic Beanstalk.

Arsitektur

Tumpukan teknologi sumber

  • Aplikasi web Go lokal 

Tumpukan teknologi target

  • AWS Elastic Beanstalk

  • Amazon CloudWatch

Arsitektur target

Arsitektur untuk memigrasikan aplikasi Go ke Elastic Beanstalk

Alat

  • AWS Elastic Beanstalk dengan cepat menyebarkan dan mengelola aplikasi di AWS Cloud tanpa pengguna harus mempelajari infrastruktur yang menjalankan aplikasi tersebut. Elastic Beanstalk mengurangi kompleksitas manajemen tanpa membatasi pilihan atau kontrol.

  • GitHubadalah sistem kontrol versi terdistribusi open-source.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat bundel sumber untuk aplikasi Go.

Buka GitHub repositori yang berisi kode sumber aplikasi Go Anda dan siapkan bundel sumber. Bundel sumber berisi file application.go sumber di direktori root, yang menghosting paket utama untuk aplikasi Go Anda. Jika Anda tidak menggunakan GitHub, lihat bagian Prasyarat sebelumnya dalam pola ini untuk cara lain untuk membuat bundel sumber aplikasi Anda.

Admin Sistem, Pengembang Aplikasi

Buat file konfigurasi.

Buat .ebextensions folder di bundel sumber Anda, lalu buat options.config file di dalam folder ini. Untuk informasi lebih lanjut, lihat dokumentasi Elastic Beanstalk.

Admin Sistem, Pengembang Aplikasi

Buat file bundel sumber.zip.

Jalankan perintah berikut.

git archive -o ../godemoapp.zip HEAD

Ini membuat file bundel sumber .zip. Unduh dan simpan file.zip sebagai file lokal.

penting

File.zip tidak boleh melebihi 512 MB dan tidak dapat menyertakan folder induk atau direktori tingkat atas.

Admin Sistem, Pengembang Aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Pilih aplikasi Elastic Beanstalk.

  1. Masuk ke AWS Management Console dan buka konsol Elastic Beanstalk.

  2. Dari daftar Wilayah, pilih Wilayah AWS Anda.

  3. Di panel navigasi, pilih Aplikasi, lalu pilih aplikasi Elastic Beanstalk yang ada atau buat.

Untuk petunjuk tentang cara membuat aplikasi Elastic Beanstalk, lihat dokumentasi Elastic Beanstalk.

Admin Sistem, Pengembang Aplikasi

Memulai lingkungan server web Elastic Beanstalk.

  1. Pada halaman ikhtisar aplikasi, pilih Buat lingkungan baru, lalu pilih Lingkungan server Web.

  2. Lengkapi bidang nama Lingkungan dan nama Domain.

  3. Pilih versi Platform, dan pilih Go sebagai platform Anda.

Admin Sistem, Pengembang Aplikasi

Unggah file bundel sumber.zip ke Elastic Beanstalk.

  1. Dalam Kode aplikasi, pilih Unggah kode Anda, lalu pilih File lokal.

  2. Pilih file.zip yang berisi bundel sumber Anda.

  3. Di label Versi, beri file nama unik, lalu pilih Buat lingkungan.

Admin Sistem, Pengembang Aplikasi

Uji aplikasi web Go yang digunakan.

Anda akan dialihkan ke halaman ikhtisar aplikasi Elastic Beanstalk. Di bagian atas ikhtisar, di samping Environment ID, pilih URL yang diakhiri elasticbeanstalk.com untuk menavigasi ke aplikasi Anda. Aplikasi Anda harus menggunakan nama ini dalam file konfigurasi sebagai variabel lingkungan dan menampilkannya di halaman web.

Admin Sistem, Pengembang Aplikasi

Pemecahan Masalah

IsuSolusi

Tidak dapat mengakses aplikasi melalui Application Load Balancer.

Periksa kelompok target yang berisi aplikasi Elastic Beanstalk Anda. Jika tidak sehat, masuk ke instance Elastic Beanstalk Anda dan nginx.conf periksa konfigurasi file untuk memverifikasi bahwa itu merutekan ke URL status kesehatan yang benar. Anda mungkin perlu mengubah URL pemeriksaan kesehatan grup target.

Sumber daya terkait