Kapsayıcı grubu için statik IP adresini kullanıma sunma

Bu makalede, Azure uygulama ağ geçidi kullanarak bir kapsayıcı grubu için statik, genel IP adresini kullanıma sunmanın bir yolu gösterilmektedir. Azure Container Instances'ta çalışan bir dış kapsayıcılı uygulama için statik giriş noktasına ihtiyacınız olduğunda bu adımları izleyin.

Bu makalede, bu senaryoya yönelik kaynakları oluşturmak için Azure CLI'yi kullanacaksınız:

  • Azure sanal ağı
  • Küçük bir web uygulamasını barındıran sanal ağda dağıtılan kapsayıcı grubu
  • Genel ön uç IP adresine sahip bir uygulama ağ geçidi, ağ geçidinde bir web sitesi barındıran bir dinleyici ve arka uç kapsayıcı grubuna giden bir yol

Uygulama ağ geçidi çalıştırıldığı ve kapsayıcı grubu ağın temsilci alt ağında kararlı bir özel IP adresi ortaya çıkardıkça, kapsayıcı grubuna bu genel IP adresinden erişilebilir.

Not

Azure Uygulaması lication Gateway HTTP, HTTPS, HTTP/2 ve WebSocket protokollerini destekler.

Bir uygulama ağ geçidi için Azure, ağ geçidinin sağlandığı ve kullanılabilir olduğu süreye ve işlediği veri miktarına göre ücretlendirilir. Fiyatlandırmaya bakın.

Sanal ağ oluşturma

Tipik bir durumda, zaten bir Azure sanal ağınız olabilir. Yoksa, aşağıdaki örnek komutlarla gösterildiği gibi bir tane oluşturun. Sanal ağ, uygulama ağ geçidi ve kapsayıcı grubu için ayrı alt ağlara ihtiyaç duyar.

Bir azure kaynak grubuna ihtiyacınız varsa bir Azure kaynak grubu oluşturun. Örneğin:

az group create --name myResourceGroup --location eastus

az network vnet create komutuyla bir sanal ağ oluşturun . Bu komut ağda myAGSubnet alt ağını oluşturur.

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

Arka uç kapsayıcı grubu için bir alt ağ oluşturmak için az network vnet subnet create komutunu kullanın. Burada adı myACISubnet'tir.

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

Statik bir genel IP kaynağı oluşturmak için az network public-ip create komutunu kullanın. Sonraki bir adımda, bu adres uygulama ağ geçidinin ön ucu olarak yapılandırılır.

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

Kapsayıcı grubu oluştur

Önceki adımda yapılandırdığınız sanal ağda bir kapsayıcı grubu oluşturmak için aşağıdaki az container create komutunu çalıştırın.

Grup myACISubnet alt aya dağıtılır ve görüntüyü çeken aci-helloworld appcontainer adlı tek bir örnek içerir. Belgelerdeki diğer makalelerde gösterildiği gibi, bu görüntü statik bir HTML sayfası sunan Node.js yazılmış küçük bir web uygulamasını paketler.

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

Başarıyla dağıtıldığında kapsayıcı grubuna sanal ağda özel bir IP adresi atanır. Örneğin, grubun IP adresini almak için aşağıdaki az container show komutunu çalıştırın:

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

Çıktı şuna benzer olacaktır: 10.0.2.4.

Sonraki bir adımda kullanmak için IP adresini bir ortam değişkenine kaydedin:

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

Önemli

Kapsayıcı grubu durdurulur, başlatılır veya yeniden başlatılırsa, kapsayıcı grubunun özel IP'si değiştirilebilir. Böyle bir durumda, uygulama ağ geçidi yapılandırmasını güncelleştirmeniz gerekir.

Uygulama ağ geçidi oluşturma

Uygulama ağ geçidi hızlı başlangıcındaki adımları izleyerek sanal ağda bir uygulama ağ geçidi oluşturun. Aşağıdaki az network application-gateway create komutu, genel ön uç IP adresine ve arka uç kapsayıcı grubuna giden bir yola sahip bir ağ geçidi oluşturur. Ağ geçidi ayarları hakkında ayrıntılı bilgi için Application Gateway belgelerine bakın.

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

Azure'ın uygulama ağ geçidini oluşturması 15 dakika kadar sürebilir.

Genel IP adresini test et

Artık uygulama ağ geçidinin arkasındaki kapsayıcı grubunda çalışan web uygulamasına erişimi test edebilirsiniz.

Ağ geçidinin ön uç genel IP adresini almak için az network public-ip show komutunu çalıştırın:

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

Çıktı, şuna benzer bir genel IP adresidir: 52.142.18.133.

Başarıyla yapılandırıldığında çalışan web uygulamasını görüntülemek için tarayıcınızda ağ geçidinin genel IP adresine gidin. Başarılı erişim şuna benzer:

Bir Azure kapsayıcı örneğinde çalışan uygulamayı gösteren tarayıcı ekran görüntüsü

Sonraki adımlar