Proses yang memakan waktu untuk mengonfigurasi sumber daya yang diperlukan satu per satu tidak lagi diperlukan untuk menyebarkan aplikasi dan server web.
Produk platform-as-a-service (PaaS) seperti AWS Elastic Beanstalk dan Heroku dibuat untuk memungkinkan aplikasi untuk digunakan dan tersedia bagi pengguna dengan sedikit atau tanpa kode dan beberapa tombol klik.
Jadi, apa itu AWS Elastic Beanstalk, dan bagaimana Anda dapat menerapkan aplikasi web Go di cloud dengan Elastic Beanstalk?
Apa itu AWS Elastic Beanstalk?
AWS Elastic Beanstalk (AWS EB) adalah produk platform-sebagai-layanan yang ditawarkan oleh Amazon Web Services yang memungkinkan penerapan dan pengelolaan aplikasi dan sumber daya yang diperlukan dengan cepat dan mudah.
Dengan Elastic Beanstalk, mudah untuk menerapkan aplikasi tanpa harus menyiapkan semua sumber daya yang diperlukan seperti a
server linux di EC2, atau layanan pemantauan di cloudwatch. Elastic Beanstalk menangani semua proses penyiapan sumber daya, dan memungkinkan Anda menerapkan berbagai jenis aplikasi, termasuk Node.js, Golang, PHP, Docker, dan sebagainya.Membuat Web Server Golang Sederhana
Untuk tujuan tutorial ini, Anda harus memiliki aplikasi Golang yang berfungsi untuk diterapkan di AWS Elastic Beanstalk, jadi di bagian ini, server web Go sederhana akan dibuat.
Anda memerlukan pengaturan lingkungan pengembangan Golang di mesin Anda untuk mengikuti bagian ini.
Langkah pertama adalah menginisialisasi proyek Golang baru yang dapat dilakukan dari terminal dengan menjalankan perintah berikut:
Setelah selesai, Anda dapat membuka direktori proyek di IDE pilihan Anda. Di direktori proyek root Anda, buat folder bernama statis dan membuat index.html berkas di dalamnya. Salin dan tempel kode berikut ke dalam file HTML dan simpan.
html>
<htmllang="en">
<kepala>
<metacharset="UTF-8">
<judul>Halo Dunia!judul>
kepala>
<tubuh>
<h1>Halo Dunia dari Elastic Beanstalkh1>
tubuh>
html>
Kembali ke direktori root proyek Anda dan buat file application.go mengajukan. Salin dan tempel kode di bawah ini ke Anda application.go file dan simpan. Anda harus memberi nama file utama application.go karena ini adalah file yang akan dicari oleh Elastic Beanstalk untuk membuat aplikasi Anda selama proses penerapan.
kemasan utama
impor (
"catatan"
"net/http"
)fungsiutama() {
statis := http. FileServer (http. Dir("./statis"))
http. Menangani("/", statis)
catatan. Fatal (http. MendengarkanDanMenyajikan(":5000", nol))
}
Elastic Beanstalk secara default menggunakan konfigurasi NGINX yang meneruskan permintaan ke aplikasi Anda hanya pada port 5000. Kecuali Anda akan mengesampingkan konfigurasi NGINX default, aplikasi Golang Anda harus selalu mendengarkan permintaan pada port 5000.
Jika Anda menyimpan file dan menjalankan program di terminal dengan jalankan aplikasi.go, Anda akan dapat melihat halaman web statis dengan membuka alamat localhost: 5000 di peramban Anda.
Anda sekarang telah membuat aplikasi sampel dan siap untuk diterapkan. Di bagian selanjutnya, Anda akan menerapkan aplikasi ke AWS Elastic Beanstalk.
Menerapkan Aplikasi Go ke AWS Elastic Beanstalk
Untuk menerapkan aplikasi ke layanan AWS apa pun, seperti Elastic Beanstalk, Anda memerlukan akun cloud AWS. Jika saat ini Anda tidak memiliki akun AWS, buka Halaman pendaftaran AWS untuk membuat yang baru secara gratis.
Ada beberapa cara untuk menerapkan aplikasi ke Elastic Beanstalk, termasuk AWS CLI, Elastic Beanstalk Command Line Interface (EB CLI), dan dari konsol web, tetapi dalam tutorial ini, Anda akan mempelajari cara menerapkan ke Elastic Beanstalk dari terminal menggunakan EB CLI alat.
Anda dapat memeriksa Panduan instalasi AWS EB CLI untuk panduan detail tentang cara menginstal dan mengkonfigurasi EB CLI untuk mengikuti bagian ini. Setelah Anda selesai menginstal dan mengkonfigurasi EB CLI, Anda sekarang dapat melanjutkan dan mengikuti langkah-langkah di bawah ini untuk menggunakan aplikasi Golang Anda.
- Buka jendela terminal baru dan navigasikan ke folder proyek aplikasi Go untuk diterapkan menggunakan CD memerintah.
- Berlari eb init untuk menginisialisasi repositori CLI Elastic Beanstalk baru. Menjadi pertama kali Anda menjalankan perintah ini setelah instalasi, EB CLI akan meminta Anda dengan opsi pengaturan awal seperti yang terlihat pada langkah-langkah berikut.
- Setelah memilih wilayah pilihan, Anda harus mengatur kredensial identitas keamanan Anda (Access key ID dan Secret key). Ada panduan komprehensif yang disediakan oleh AWS dalam menghasilkan kredensial keamanan di konsol AWS.
- Selanjutnya, Anda harus menentukan nama aplikasi yang Anda terapkan. Secara default, ini menggunakan nama folder proyek Anda saat ini.
- Langkah selanjutnya adalah memilih platform aplikasi yang akan Anda gunakan, dalam hal ini, Anda harus memilih opsi ke-4 karena Anda menggunakan aplikasi Golang.
- Prompt berikutnya menanyakan apakah Anda ingin mengaktifkan koneksi SSH untuk aplikasi yang Anda terapkan. Ini direkomendasikan karena memungkinkan akses jarak jauh yang mudah dan debugging untuk aplikasi Anda, tetapi dalam tutorial ini, TIDAK dipilih, karena ini hanya aplikasi sederhana.
Baris yang menunjukkan bahwa CodeCommit tidak dapat diatur tidak perlu dikhawatirkan, karena Git atau kontrol sumber lainnya tidak digunakan dalam proyek dalam contoh ini.
- Setelah menyelesaikan langkah-langkah di atas, repositori CLI Elastic Beanstalk baru akan dibuat dan Anda sekarang dapat membuat lingkungan Elastic Beanstalk untuk menerapkan aplikasi Anda di langkah berikutnya.
- Berlari eb buat "nama lingkungan" untuk membuat lingkungan baru yang disebut ditentukan nama lingkungan. Lingkungan dibuat dengan semua sumber daya yang diperlukan termasuk instans EC2, grup penskalaan otomatis, bucket S3, Load balancer, dll. Proses ini memakan waktu sekitar 5-10 menit tergantung pada kecepatan jaringan.
Sama seperti ketika Anda menerapkan situs web statis ke AWS, aplikasi EB Anda juga diberi URL (ditandai dengan kotak merah pada tangkapan layar di atas) yang dapat Anda gunakan untuk mengakses aplikasi web Anda.
- Setelah selesai dengan sukses, aplikasi siap untuk dipratinjau, dan Anda dapat menjalankannya eb terbuka untuk membuka aplikasi yang diterapkan di browser Anda. Anda sekarang harus melihat Halo Dunia ditampilkan di browser web Anda menggunakan URL yang ditetapkan oleh Elastic Beanstalk.
Setiap kali Anda membuat perubahan pada aplikasi Anda, Anda dapat menjalankannya eb menyebarkan untuk mendorong pembaruan terkini ke Elastic Beanstalk. Dan untuk mematikan aplikasi Anda dan semua sumber dayanya, Anda dapat menjalankannya eb berhenti.
Anda sekarang telah berhasil menerapkan aplikasi web Golang ke AWS Elastic Beanstalk menggunakan alat CLI Elastic Beanstalk. Prosesnya sangat mudah dan dapat diikuti untuk menerapkan segala bentuk aplikasi web Golang di Elastic Beanstalk.
Anda dapat memeriksa dasbor Elastic Beanstalk di konsol AWS untuk melihat status atau informasi lainnya tentang lingkungan dan aplikasi Anda.
Menyebarkan Aplikasi Web ke Elastic Beanstalk
Elastic Beanstalk adalah cara yang andal untuk menjalankan aplikasi Anda dari lokal dengan langkah yang sangat mudah. Anda dapat dengan mudah menerapkan dan mengelola aplikasi berskala kecil dan besar menggunakan sarana apa pun yang disediakan oleh AWS termasuk konsol web, AWS CLI, EB CLI, API AWS, atau AWS SDK.
Untuk latihan lebih lanjut dengan pengetahuan yang diperoleh dari artikel ini, Anda dapat mempertimbangkan untuk membuat API CRUD dengan Go dan menerapkannya ke Elastic Beanstalk.