0Pricing
AWS Solutions Architect · Pelajaran

Jenis Peluncuran EC2 vs Fargate

Bandingkan pengelolaan instans kontainer EC2 sendiri dengan penggunaan Fargate untuk menjalankan kontainer tanpa server, serta pahami perbedaan biayanya.

Jenis Peluncuran EC2 vs Fargate adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Dua Cara Menjalankan Tugas ECS

ECS menawarkan dua jenis peluncuran yang menentukan tempat kontainer Anda berjalan: jenis peluncuran EC2 menjalankan kontainer pada instans EC2 yang Anda sediakan dan kelola dalam klaster; jenis peluncuran Fargate adalah mesin komputasi tanpa server yang seluruh server dasarnya dikelola AWS. Definisi tugas dan konfigurasi layanan hampir identik di antara keduanya—perbedaan utamanya adalah tanggung jawab pengelolaan infrastruktur dan model biaya.

Jenis Peluncuran EC2: Kendali Penuh

Dengan jenis peluncuran EC2, Anda mendaftarkan instans EC2 sebagai instans kontainer dalam klaster menggunakan Agen Kontainer ECS (yang telah terpasang pada AMI yang dioptimalkan untuk ECS). Anda memilih jenis instans, mengendalikan pengaturan tingkat OS, menerapkan standar keamanan khusus, dan menggunakan Spot Instances untuk menghemat biaya. ECS menempatkan tugas di seluruh instans yang terdaftar berdasarkan strategi penempatan pengemasan padat atau penyebaran. Anda bertanggung jawab untuk menambal, menskalakan, dan memelihara armada EC2 yang mendasarinya.

# Launch an ECS-optimised EC2 instance that joins the cluster
# User data for ECS container agent
#!/bin/bash
echo ECS_CLUSTER=MyAppCluster >> /etc/ecs/ecs.config
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config

Fargate: Kontainer Tanpa Server

Dengan Fargate, Anda menentukan CPU dan memori untuk setiap tugas, lalu AWS menyediakan komputasi yang mendasarinya secara transparan. Tidak ada instans EC2 yang perlu didaftarkan, diperbarui, atau diskalakan—AWS menangani semuanya. Setiap tugas mendapatkan kernel terisolasinya sendiri (melalui Firecracker microVMs), sehingga memberikan isolasi keamanan yang lebih kuat daripada instans kontainer EC2, tempat beberapa tugas berbagi host yang sama. Fargate memerlukan mode jaringan awsvpc, yang berarti setiap tugas mendapatkan ENI dan alamat IP VPC sendiri.

aws ecs run-task \
  --cluster 'MyAppCluster' \
  --task-definition 'myapp-task:5' \
  --launch-type FARGATE \
  --network-configuration '{
    "awsvpcConfiguration": {
      "subnets": ["subnet-aaa111"],
      "securityGroups": ["sg-xyz"],
      "assignPublicIp": "ENABLED"
    }
  }'

Perbandingan Model Biaya

Model biayanya pada dasarnya berbeda. Tipe peluncuran EC2: Anda membayar instans EC2 yang mendasarinya (terlepas dari apakah tugas sedang berjalan), tetapi dapat menggunakan Reserved Instances atau Savings Plans untuk mendapatkan diskon dan Spot Instances untuk penghematan hingga 90% pada beban kerja yang dapat dihentikan. Fargate: Anda hanya membayar vCPU dan memori yang digunakan setiap tugas per detik—tidak ada biaya menganggur di antara tugas. Untuk beban kerja yang melonjak atau pemrosesan batch, Fargate sering kali lebih murah; untuk beban kerja dengan utilisasi tinggi yang konsisten, EC2 dengan Reserved Instances dapat lebih murah.

Fargate Spot untuk Menghemat Biaya

Fargate Spot menyediakan komputasi Fargate dengan harga yang jauh lebih rendah (diskon hingga 70%), dengan kemungkinan penghentian ketika AWS membutuhkan kembali kapasitas tersebut. Fargate Spot ideal untuk pemrosesan batch, pipeline CI/CD, serta lingkungan pengembangan dan staging. Konfigurasikan strategi penyedia kapasitas untuk menggabungkan Fargate (sesuai permintaan) dan Fargate Spot: gunakan base=1 pada Fargate untuk memastikan setidaknya satu tugas terjamin, lalu gunakan nilai weight untuk membagi kapasitas yang tersisa di antara keduanya.

aws ecs create-service \
  --cluster 'MyAppCluster' \
  --service-name 'BatchService' \
  --task-definition 'batch-task:1' \
  --desired-count 10 \
  --capacity-provider-strategy \
    'capacityProvider=FARGATE,weight=1,base=1' \
    'capacityProvider=FARGATE_SPOT,weight=4'

Kapan Memilih Tipe Peluncuran EC2

Pilih tipe peluncuran EC2 jika Anda memerlukan: instans GPU (dukungan GPU Fargate terbatas), tipe instans tertentu yang tidak tersedia di Fargate, konfigurasi OS khusus (penyesuaian kernel, driver khusus), performa jaringan yang memerlukan placement group atau jaringan yang ditingkatkan, kontainer Windows (EC2 mendukung kontainer Windows Server; Fargate juga mendukung Windows, tetapi dengan keterbatasan), atau jika menjalankan beban kerja dengan utilisasi tinggi secara konsisten, sehingga Reserved Instances EC2 memberikan keuntungan biaya yang signifikan dibandingkan penagihan per detik Fargate.

Kapan Memilih Fargate

Pilih Fargate jika Anda ingin: menghilangkan beban pengelolaan EC2 (tanpa pembaruan OS dan penskalaan klaster), hanya membayar sesuai penggunaan per detik, menjalankan beban kerja yang melonjak atau pemrosesan batch yang tidak membenarkan kapasitas EC2 yang menganggur, mendapatkan isolasi tugas yang lebih kuat melalui Firecracker microVMs, atau mempercepat pengembangan dengan berfokus sepenuhnya pada kode aplikasi. Fargate merupakan rekomendasi bawaan untuk beban kerja ECS baru dalam ujian SAA-C03, kecuali dinyatakan ada persyaratan EC2 tertentu.

Penyedia Kapasitas ECS

Penyedia kapasitas mengabstraksikan lapisan komputasi dari layanan ECS. Untuk EC2, penyedia kapasitas terhubung ke Auto Scaling Group—ECS menskalakan ASG secara otomatis ketika tugas tidak dapat ditempatkan karena kapasitas tidak mencukupi. Untuk Fargate, FARGATE dan FARGATE_SPOT merupakan penyedia kapasitas bawaan. Menentukan strategi penyedia kapasitas pada layanan memungkinkan kombinasi kapasitas sesuai permintaan dan Spot/Fargate Spot, sehingga Anda dapat mengendalikan trade-off biaya dan ketersediaan secara terperinci untuk setiap beban kerja.

Membandingkan Beban Operasional

Beban operasional berbeda secara signifikan antara berbagai tipe peluncuran. Tipe peluncuran EC2 memerlukan: pemilihan dan pembaruan AMI, konfigurasi EC2 Auto Scaling, pembaruan OS melalui SSM atau skrip khusus, pengelolaan kapasitas instans kontainer, serta penguatan keamanan pada tingkat instans. Fargate menghilangkan semua hal tersebut—AWS menangani pembaruan platform Fargate, tidak ada instans yang perlu dikelola, dan tidak ada perencanaan kapasitas klaster. Namun, Fargate memberikan fleksibilitas yang lebih rendah untuk penyesuaian pada tingkat OS dan penyetelan performa jaringan.

Menentukan Ukuran CPU dan Memori Tugas untuk Fargate

Definisi tugas Fargate harus menentukan CPU dan memori dari kumpulan kombinasi tetap. Nilai CPU: 256, 512, 1024, 2048, 4096, 8192, 16384 (dalam satuan vCPU, dengan 1024 = 1 vCPU). Memori harus berada dalam rentang yang diizinkan untuk setiap nilai CPU—misalnya, CPU 256 memungkinkan memori 512-2048 MB. Kontainer di dalam tugas berbagi batas CPU dan memori tugas tersebut. Penentuan ukuran yang tepat penting: Fargate menagih persis sesuai yang Anda tentukan, sehingga penyediaan berlebih membuang biaya tanpa manfaat performa nyata jika beban kerja dibatasi CPU.

# Valid Fargate combinations
# 256 CPU (.25 vCPU): 512, 1024, or 2048 MB
# 512 CPU (.5 vCPU): 1024 to 4096 MB
# 1024 CPU (1 vCPU): 2048 to 8192 MB
# 2048 CPU (2 vCPU): 4096 to 16384 MB
# 4096 CPU (4 vCPU): 8192 to 30720 MB

ECS Exec untuk Penelusuran Kesalahan

ECS Exec memungkinkan Anda membuka sesi shell interaktif langsung di dalam kontainer yang sedang berjalan (baik EC2 maupun Fargate) tanpa SSH atau host bastion. Fitur ini menggunakan AWS Systems Manager Session Manager di balik layar. Aktifkan fitur ini pada layanan dan gunakan CLI execute-command untuk memulai sesi bash. Fitur ini sangat berguna untuk menelusuri kesalahan pada masalah produksi di dalam kontainer. Peran tugas memerlukan izin ssmmessages:CreateControlChannel dan izin SSM terkait lainnya.

aws ecs execute-command \
  --cluster 'MyAppCluster' \
  --task 'abc123def456' \
  --container 'myapp' \
  --interactive \
  --command '/bin/bash'

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: tipe peluncuran EC2 memberikan kendali penuh atas tipe instans dan konfigurasi OS dengan konsekuensi harus mengelola armada yang mendasarinya—ideal untuk GPU, perangkat keras khusus, atau beban kerja dengan utilisasi tinggi yang konsisten; Fargate menghilangkan pengelolaan infrastruktur dengan penagihan tugas per detik dan isolasi Firecracker yang kuat—ideal untuk sebagian besar beban kerja web/API dan pekerjaan batch; serta Fargate Spot mengurangi biaya hingga 70% untuk beban kerja yang toleran terhadap penghentian. Selanjutnya, kita akan membahas Amazon ECR untuk menyimpan dan mengambil image kontainer.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jenis Peluncuran EC2 vs Fargate” gratis?

Ya — teks lengkap “Jenis Peluncuran EC2 vs Fargate” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Jenis Peluncuran EC2 vs Fargate”?

Bandingkan pengelolaan instans kontainer EC2 sendiri dengan penggunaan Fargate untuk menjalankan kontainer tanpa server, serta pahami perbedaan biayanya. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?

Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Jenis Peluncuran EC2 vs Fargate” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Klaster ECS, Definisi Tugas, dan Layanan
  2. Jenis Peluncuran EC2 vs Fargate
  3. ECR: Menyimpan dan Mengambil Citra Kontainer
  4. Penskalaan Otomatis Layanan ECS dan Penyeimbangan Beban
← Kembali ke AWS Solutions Architect