Mengekspos alamat IP statis untuk grup kontainer

Artikel ini memperlihatkan salah satu cara untuk mengekspos alamat IP publik statis untuk grup kontainer dengan menggunakan gateway aplikasiAzure. Ikuti langkah-langkah ini saat Anda memerlukan titik masuk statis untuk aplikasi kontainer yang menghadap eksternal yang berjalan di Azure Container Instances.

Dalam artikel ini, Anda menggunakan Azure CLI untuk membuat sumber daya untuk skenario ini:

  • Jaringan virtual Azure
  • Grup kontainer yang disebarkan di jaringan virtual yang menghosting aplikasi web kecil
  • Gateway aplikasi dengan alamat IP ujung depan publik, pendengar yang akan menghosting situs web di gateway, dan rute ke grup kontainer ujung belakang

Selama gateway aplikasi berjalan dan grup kontainer mengekspos alamat IP pribadi yang stabil di subnet yang didelegasikan jaringan, grup kontainer dapat diakses di alamat IP publik ini.

Catatan

Azure Application Gateway mendukung protokol HTTP, HTTPS, HTTP/2, dan WebSocket.

Azure mengenakan biaya untuk gateway aplikasi berdasarkan jumlah waktu gateway disediakan dan tersedia, serta jumlah data yang diproses. Lihat harga.

Membuat jaringan virtual

Dalam kasus umum, Anda mungkin sudah memiliki jaringan virtual Azure. Jika belum, buat jaringan virtual seperti yang diperlihatkan di contoh perintah berikut. Jaringan virtual membutuhkan subnet terpisah untuk gateway aplikasi dan grup kontainer.

Jika Anda membutuhkannya, buat grup sumber daya Azure. Contohnya:

az group create --name myResourceGroup --location eastus

Buat jaringan virtual dengan perintah az network vnet create. Perintah ini membuat subnet myAGSubnet dalam jaringan.

az network vnet create \
  --name myVNet \
  --resource-group myResourceGroup \
  --location eastus \
  --address-prefix 10.0.0.0/16 \
  --subnet-name myAGSubnet \
  --subnet-prefix 10.0.1.0/24

Gunakan perintah az network vnet subnet create untuk membuat subnet untuk grup kontainer ujung belakang. Di sini, namanya myACISubnet.

az network vnet subnet create \
  --name myACISubnet \
  --resource-group myResourceGroup \
  --vnet-name myVNet   \
  --address-prefix 10.0.2.0/24

Gunakan perintah az network public-ip create untuk membuat sumber daya IP publik statis. Di langkah selanjutnya, alamat ini akan dikonfigurasi sebagai ujung depan gateway aplikasi.

az network public-ip create \
  --resource-group myResourceGroup \
  --name myAGPublicIPAddress \
  --allocation-method Static \
  --sku Standard

Membuat grup kontainer

Jalankan az container create berikut untuk membuat grup kontainer di jaringan virtual yang Anda konfigurasi di langkah sebelumnya.

Grup ini disebarkan di subnet myACISubnet dan berisi satu instans bernama appcontainer yang menarik gambar aci-helloworld. Seperti yang diperlihatkan dalam artikel lain dalam dokumentasi, gambar ini mengemas aplikasi web kecil yang ditulis Node.js yang menyajikan halaman HTML statik.

az container create \
  --name appcontainer \
  --resource-group myResourceGroup \
  --image mcr.microsoft.com/azuredocs/aci-helloworld \
  --vnet myVNet \
  --subnet myACISubnet

Ketika berhasil disebarkan, grup kontainer diberi alamat IP pribadi di jaringan virtual. Misalnya, jalankan perintah az container show berikut untuk mengambil alamat IP grup:

az container show \
  --name appcontainer --resource-group myResourceGroup \
  --query ipAddress.ip --output tsv

Output akan terlihat seperti: 10.0.2.4.

Untuk digunakan di langkah selanjutnya, simpan alamat IP dalam variabel lingkungan:

ACI_IP=$(az container show \
  --name appcontainer \
  --resource-group myResourceGroup \
  --query ipAddress.ip --output tsv)

Penting

Jika grup kontainer dihentikan, dimulai, atau dihidupkan ulang, IP pribadi grup kontainer dapat berubah. Jika hal ini terjadi, Anda harus memperbarui konfigurasi gateway aplikasi.

Membuat gateway aplikasi

Buat gateway aplikasi di jaringan virtual, berdasarkan langkah-langkah di memulai cepat gateway aplikasi. Perintah az network application-gateway create berikut membuat gateway dengan alamat IP ujung depan publik dan rute ke grup kontainer ujung belakang. Lihat Dokumentasi Application Gateway untuk detail tentang pengaturan gateway.

az network application-gateway create \
  --name myAppGateway \
  --location eastus \
  --resource-group myResourceGroup \
  --capacity 2 \
  --sku Standard_v2 \
  --http-settings-protocol http \
  --public-ip-address myAGPublicIPAddress \
  --vnet-name myVNet \
  --subnet myAGSubnet \
  --servers "$ACI_IP" \ 
  --priority 100

Diperlukan waktu hingga 15 menit bagi Azure untuk membuat gateway aplikasi.

Menguji alamat IP Publik

Sekarang Anda dapat menguji akses ke aplikasi web yang berjalan di grup kontainer di balik gateway aplikasi.

Jalankan perintah az network public-ip show untuk mengambil alamat IP publik ujung depan dari gateway:

az network public-ip show \
--resource-group myresourcegroup \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv

Output adalah alamat IP publik, terlihat seperti: 52.142.18.133.

Untuk menampilkan aplikasi web yang sedang berjalan saat berhasil dikonfigurasi, navigasikan ke alamat IP publik gateway di browser Anda. Akses yang berhasil terlihat seperti:

Cuplikan layar browser memperlihatkan aplikasi yang sedang berjalan dalam instans kontainer Azure

Langkah berikutnya

  • Lihat templat mulai cepat untuk membuat grup kontainer dengan instans kontainer WordPress sebagai server ujung belakang di balik gateway aplikasi.
  • Anda juga dapat mengonfigurasi gateway aplikasi dengan sertifikat untuk penghentian SSL. Lihat gambaran umum dan tutorial.
  • Bergantung pada skenario Anda, pertimbangkan untuk menggunakan solusi penyeimbangan muatan Azure lainnya dengan Azure Container Instances. Sebagai contoh, gunakan Azure Traffic Manager untuk mendistribusikan lalu lintas di beberapa instans kontainer dan di beberapa wilayah. Lihat posting blog ini.