Belajar AWS — Fargate

Fitra Elbi Amrullah
4 min readFeb 19, 2024

--

AWS Fargate adalah layanan serverless compute engine untuk container docker. AWS akan mengelola penuh infrastructure dari layanan ini. Untuk menggunakan fargate dibutuhkan ECS atau EKS. Layanan ini mendukung baik container linux maupun windows. Amazon ECS menawarkan 2 tipe launch type, yaitu EC2 dan Fargate. Untuk perbedaan dari kedua launch type tersebut sebagai berikut

EC2

  • User bertanggung jawab terhadap operating system dan harus mengelola instance.
  • Pricing di EC2 berdasarkan instance type dan penggunaan (usage).
  • EC2 cocok untuk container yang berjalan untuk waktu yang lama.
  • Beberapa container dapat berbagi di satu host.
  • Dapat melakukan mounting persistent disk EFS file system sebagai shared storage.

Fargate

  • Tidak ada akses ke level operating system, AWS yang akan mengelola instance.
  • Pricing berdasarkan resource yang dialokasikan dan waktu container berjalan.
  • Cocok untuk menjalankan task yang membutuhkan waktu pendek.
  • Setiap container ditempatkan di environment yang berbeda.
  • Dapat melakukan mounting persistent disk EFS file system sebagai shared storage.

Bagaimana Fargate dibanding Lambda ?

AWS Fargate dan lambda menawarkan pilihan berbeda untuk opsi compute serverless. Fargate cocok untuk kebutuhan resource aplikasi yang stabil, sedangkan Lambda cocok untuk kebutuhan yang tidak konsisten atau tak terprediksi. Kasus yang paling cocok untuk lambda apabila memiliki aplikasi yang hanya mempunyai satu fungsi (sederhana) atau yang berbasis event driven.

Demo

Sekarang kita akan coba membuat sebuah nginx web server dengan menggunakan layanan ECS Fargate. Pertama masuk ke menu AWS ECS.

Selanjutnya kita akan buat task definition untuk menetapkan spesifikasi dan informasi dari container. Untuk nama test (bebas aja), launch type jangan lupa dipilih fargate dan untuk operating system biarkan default saja. Sesuaikan task size dengan kebutuhan, disini saya buat yang paling kecil (ralat harusnya yang paling kecil cpu .25).

Dibagian Container, untuk nama menggunakan nginx, image bisa menggunakan nginx:latest dan port di 80.

Biarkan yang lain default aja dan tekan tombol Create. Tungu beberapa saat dan task definition berhasil dibuat.

Selanjutnya kita akan membuat cluster ECS, pilih menu Clusters dan klik tombol Create cluster.

Untuk nama saya buat coba (bebas aja) dan infrastructure adalah Fargate. Klik tombol Create dan tunggu beberapa saat.

Jika cluster sudah dibuat lalu masuk ke cluster coba dan kita akan buat service.

Pada menu create service biarkan nilai nya default hingga ke kolom task definition. Pilih task definition yang telah dibuat sebelumnya dan beri nama service nginx-web-server.

Pada kolom networking kita akan buat security groups baru bernama allowHttp, untuk type pilih HTTP dan source anywhere. Jika sudah semua klik tombol Create dan tunggu beberapa saat lagi.

Apabila service sudah dibuat masuk ke service nginx-web-server dan pilih menu task, pilih task tersebut.

Jika ingin mengakses web-server-nginx, klik link open address pada menu Public IP.

Demikian tutorial kali ini. Terimakasih sudah membaca dan Happy Learning 😄.

--

--