Cloud & IT Cert Prep · Pelajaran

Azure Container Instances

Luncurkan aplikasi dalam kontainer dalam hitungan detik menggunakan ACI tanpa mengelola server, konfigurasikan variabel lingkungan dan pemasangan volume, lalu pahami penagihan ACI.

Pelajaran 2 dari 413 langkah

Azure Container Instances adalah pelajaran Cloud & IT Cert Prep 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 Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa Itu Azure Container Instances?

Azure Container Instances (ACI) adalah cara tercepat untuk menjalankan beban kerja berbasis kontainer di Azure tanpa mengelola server atau orkestrator apa pun. Anda menyediakan image kontainer, lalu Azure menjalankannya dalam hitungan detik pada infrastruktur bersama dengan banyak penyewa. ACI ideal untuk tugas berumur pendek, pekerjaan batch, agen build, dan beban kerja berbasis peristiwa yang tidak memerlukan overhead besar untuk menjalankan seluruh klaster Kubernetes.

Membuat Container Instance

Luncurkan kontainer ACI dengan satu perintah az container create. Tentukan image, grup sumber daya, CPU, dan memori. ACI mengambil image, mengalokasikan sumber daya, dan memulai kontainer — biasanya dalam 5–10 detik. Setiap container instance mendapatkan nama domain yang sepenuhnya memenuhi syarat (FQDN) yang unik jika Anda menetapkan label nama DNS, sehingga instance tersebut dapat langsung diakses dari internet.

# Run an Nginx container accessible from the internet
az container create \
  --name my-nginx \
  --resource-group MyRG \
  --image nginx:latest \
  --cpu 1 \
  --memory 1 \
  --dns-name-label my-nginx-demo \
  --ports 80

# Access at: http://my-nginx-demo.<region>.azurecontainer.io

Variabel Lingkungan dan Nilai Aman

Teruskan konfigurasi ke kontainer ACI menggunakan variabel lingkungan yang ditentukan saat pembuatan. Untuk nilai sensitif seperti kunci API atau kata sandi, gunakan variabel lingkungan aman — nilai ini tidak ditampilkan di portal Azure atau output CLI setelah deployment, sehingga mencegah keterpaparan yang tidak disengaja dalam log atau jejak audit. Nilai aman tetap dapat diakses di dalam kontainer saat runtime sebagai variabel lingkungan biasa.

# Pass regular and secure environment variables
az container create \
  --name my-app \
  --resource-group MyRG \
  --image mycontainerregistry.azurecr.io/myapp:v1.0 \
  --environment-variables APP_ENV=production \
  --secure-environment-variables \
    DATABASE_PASSWORD='super-secret-password' \
    API_KEY='my-api-key'

# View logs from the running container
az container logs --name my-app --resource-group MyRG

Penagihan dan Alokasi Sumber Daya ACI

ACI menagih berdasarkan detik, sesuai jumlah inti CPU dan memori GB yang Anda alokasikan, tanpa periode penagihan minimum. Anda hanya membayar selama kontainer berjalan — begitu kontainer berhenti, penagihan juga berhenti. Hal ini membuat ACI sangat hemat biaya untuk beban kerja berumur pendek. Anda dapat mengalokasikan 0,1 hingga 4 inti CPU dan 0,1 hingga 16 GB memori per grup kontainer, dalam kombinasi yang didukung.

# Small: 0.5 CPU, 0.5 GB memory
az container create --name small-task --resource-group MyRG \
  --image my-batch-image:latest --cpu 0.5 --memory 0.5 \
  --restart-policy Never  # Don't restart after completion

# Large: 4 CPU, 16 GB memory for intensive tasks
az container create --name ml-inference --resource-group MyRG \
  --image ml-model:latest --cpu 4 --memory 16

Kebijakan Mulai Ulang

ACI mendukung tiga kebijakan mulai ulang yang mengontrol perilaku kontainer setelah berhenti. Always (default) memulai ulang kontainer setiap kali kontainer berhenti — sesuai untuk layanan yang berjalan lama. Never menjalankan kontainer sekali lalu membiarkannya dalam keadaan berhenti — ideal untuk pekerjaan batch. OnFailure hanya memulai ulang saat kontainer berhenti dengan kode keluar selain nol — berguna untuk pola percobaan ulang saat terjadi kesalahan.

# Batch job: run once, never restart
az container create \
  --name data-processor \
  --resource-group MyRG \
  --image my-batch-image:latest \
  --restart-policy Never \
  --environment-variables BATCH_DATE=2025-01-01

# Check the container's final state
az container show \
  --name data-processor \
  --resource-group MyRG \
  --query '{state:instanceView.state, exitCode:instanceView.currentState.exitCode}'

Grup Kontainer: Deployment Multi-Kontainer

Grup kontainer adalah kumpulan kontainer yang berbagi siklus hidup, jaringan, dan penyimpanan — mirip dengan pod Kubernetes. Kontainer dalam grup yang sama berbagi alamat IP lokal dan ruang nama port, sehingga dapat berkomunikasi melalui localhost. Pola yang umum adalah menempatkan kontainer aplikasi utama dan kontainer sidecar (misalnya agen logging atau proksi) dalam grup yang sama, yang didefinisikan menggunakan templat YAML atau ARM.

# multi-container.yaml
apiVersion: '2021-09-01'
location: eastus
name: my-container-group
properties:
  containers:
  - name: app
    properties:
      image: myapp:v1.0
      ports: [{port: 80}]
      resources: {requests: {cpu: 1, memoryInGb: 1}}
  - name: log-forwarder
    properties:
      image: fluent-bit:latest
      resources: {requests: {cpu: 0.5, memoryInGb: 0.5}}
  osType: Linux
  restartPolicy: Always
type: Microsoft.ContainerInstance/containerGroups

# Deploy from YAML
# az container create --resource-group MyRG --file multi-container.yaml

Pemasangan Volume: Integrasi Azure Files

Kontainer ACI secara default bersifat tanpa status — data yang ditulis ke sistem berkas kontainer akan hilang saat kontainer dimulai ulang. Pasang berbagi Azure Files sebagai volume untuk mempertahankan data saat kontainer dimulai ulang atau berbagi data antarkontainer dalam grup yang sama. Tentukan nama akun penyimpanan, kunci, dan nama berbagi berkas saat membuat container instance.

# Mount an Azure Files share for persistent storage
az container create \
  --name stateful-app \
  --resource-group MyRG \
  --image myapp:v1.0 \
  --azure-file-volume-account-name mystorageaccount \
  --azure-file-volume-account-key '<storage-account-key>' \
  --azure-file-volume-share-name myfileshare \
  --azure-file-volume-mount-path /data

# Data written to /data persists in the Azure Files share

Container Instance dengan GPU

ACI mendukung container instance GPU (K80, V100) untuk inferensi ML, pemrosesan video, dan beban kerja komputasi ilmiah. Instance GPU tersedia di wilayah tertentu dan memerlukan kontainer Linux. Penagihannya berdasarkan GPU/detik, sehingga ekonomis untuk skenario inferensi lonjakan ketika Anda menjalankan kontainer GPU, menjalankan model, lalu segera menghentikannya — jauh lebih murah daripada VM GPU khusus yang berjalan 24/7.

# Create a GPU-enabled container instance
az container create \
  --name gpu-inference \
  --resource-group MyRG \
  --image my-ml-model:latest \
  --gpu-count 1 \
  --gpu-sku V100 \
  --cpu 4 \
  --memory 16 \
  --os-type Linux

ACI dengan Virtual Network

Deploy grup kontainer ACI ke dalam subnet khusus di dalam VNet untuk memberinya alamat IP privat dan memungkinkannya menjangkau sumber daya lain yang terhubung ke VNet (basis data, VM) tanpa mengeksposnya ke internet. ACI yang terintegrasi dengan VNet memerlukan subnet khusus yang didelegasikan (didelegasikan ke Microsoft.ContainerInstance/containerGroups) dan tidak mendukung penetapan IP publik.

# Create an ACI container in a VNet
az container create \
  --name private-task \
  --resource-group MyRG \
  --image myapp:v1.0 \
  --vnet MyVNet \
  --subnet ContainerSubnet \
  --restart-policy Never

# The container gets a private IP from the subnet CIDR
# It can reach VNet resources (SQL, Redis, VMs) on private IPs

ACI sebagai Node Kubelet Virtual

ACI terintegrasi dengan AKS sebagai node virtual melalui proyek sumber terbuka Virtual Kubelet. Saat klaster AKS mengalami permintaan lonjakan yang melampaui kapasitas node VM, Kubernetes dapat menjadwalkan pod ke node ACI virtual — dengan membuat container instance ACI nyata. Hal ini menyediakan penskalaan lonjakan tanpa batas tanpa perlu menyediakan node VM tambahan sebelumnya, dan Anda hanya membayar komputasi ACI selama periode lonjakan tersebut.

# Enable virtual nodes on an AKS cluster
az aks enable-addons \
  --name myAKSCluster \
  --resource-group MyRG \
  --addons virtual-node \
  --subnet-name VirtualNodeSubnet

# Schedule a burst pod on ACI via node selector
# spec:
#   nodeSelector:
#     kubernetes.io/role: agent
#     beta.kubernetes.io/os: linux
#     type: virtual-kubelet
#   tolerations:
#   - key: virtual-kubelet.io/provider
#     operator: Exists

Kapan Menggunakan ACI, AKS, atau App Service

Pilih ACI untuk tugas berumur pendek, pekerjaan batch, agen build CI, dan kontainer sekali jalan yang tidak memerlukan overhead Kubernetes. Pilih AKS untuk layanan mikro multi-kontainer yang berjalan lama dan memerlukan penemuan layanan, pemeriksaan kesehatan, rolling update, serta jaringan klaster. Pilih App Service jika Anda menginginkan kemudahan PaaS (slot deployment, sertifikat terkelola, autentikasi bawaan) tanpa harus mengelola jaringan kontainer sendiri.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep Microsoft Azure Fundamentals (AZ-900) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini, Anda mempelajari bahwa Azure Container Instances menjalankan kontainer dalam hitungan detik tanpa pengelolaan server, dengan penagihan per detik untuk CPU dan memori; grup kontainer memungkinkan beberapa kontainer berbagi jaringan dan penyimpanan seperti pod Kubernetes; serta kebijakan mulai ulang (Always, Never, OnFailure) mengontrol siklus hidup kontainer setelah berhenti. Selanjutnya, kita akan mempelajari konsep Kubernetes untuk Azure.

Gratis untuk memulai

Belajar Cloud & IT Cert Prep dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
150
Pelajaran
600

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Azure Container Instances” gratis?

Ya — teks lengkap “Azure Container Instances” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Azure Container Instances”?

Luncurkan aplikasi dalam kontainer dalam hitungan detik menggunakan ACI tanpa mengelola server, konfigurasikan variabel lingkungan dan pemasangan volume, lalu pahami penagihan ACI. Kamu berlatih Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep 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 “Azure Container Instances” 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 Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep 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. Azure Container Registry
  2. Azure Container Instances
  3. Konsep Kubernetes untuk Azure
  4. Menerapkan Beban Kerja di AKS
← Kembali ke Cloud & IT Cert Prep