Azure CLI チートシート ネットワーク編

はじめに

Azure AZ-103の勉強で、MicrosoftLearnのネットワーク系コンテンツをやった時に使ったAzure CLIのチートシートです。

コマンドは、MicrosoftLearnのコンテンツごとにまとめています。コンテンツ毎の画像とコマンドだけを見て、「これはこんなことやってるんだなー」と思えれば、しっかりと理解できているかと思います。

また、ネットワーク以外のコマンド類(vm createなど)や類似コマンドは、適宜省略します。(別途まとめようと思います。)

2020年6月現在、AZ-104が発表されています。比較記事は以下です。

https://tagfa.wpx.jp/archives/129

ネットワーク(1)

VPN Gateway を使用して、ご利用のオンプレミス ネットワークを Azure に接続する

仮想ネットワーク一覧

az network vnet list --output table

仮想ネットワーク、サブネット作成

az network vnet create \
    --resource-group [sandbox resource group name] \
    --name Azure-VNet-1 \
    --address-prefix 10.0.0.0/16 \
    --subnet-name Services \
    --subnet-prefix 10.0.0.0/24

サブネット追加

az network vnet subnet create \
    --resource-group [sandbox resource group name] \
    --vnet-name Azure-VNet-1 \
    --address-prefix 10.0.255.0/27 \
    --name GatewaySubnet

ローカルゲートウェイ作成

az network local-gateway create \
    --resource-group [sandbox resource group name] \
    --gateway-ip-address 94.0.252.160 \
    --name LNG-HQ-Network \
    --local-address-prefixes 172.16.0.0/16

パブリックIPアドレス作成

az network public-ip create \
    --resource-group [sandbox resource group name] \
    --name PIP-VNG-Azure-VNet-1 \
    --allocation-method Dynamic

仮想ネットワーク作成

az network vnet-gateway create \
    --resource-group [sandbox resource group name] \
    --name VNG-Azure-VNet-1 \
    --public-ip-address PIP-VNG-Azure-VNet-1 \
    --vnet Azure-VNet-1 \
    --gateway-type Vpn \
    --vpn-type RouteBased \
    --sku VpnGw1 \
    --no-wait

VPNコネクション作成

az network vpn-connection create \
    --resource-group [sandbox resource group name] \
    --name Azure-VNet-1-To-HQ-Network \
    --vnet-gateway1 VNG-Azure-VNet-1 \
    --shared-key [sharedkey] \
    --local-gateway2 LNG-HQ-Network

ネットワーク(2)

ネットワーク セキュリティ グループとサービス エンドポイントを使うことで Azure リソースへのアクセスをセキュリティで保護し、分離する 

NSG作成

az network nsg create \
    --resource-group $rg \
    --name ERP-SERVERS-NSG

NSGルール作成

az network nsg rule create \
    --resource-group $rg \
    --nsg-name ERP-SERVERS-NSG \
    --name AllowSSHRule \
    --direction Inbound \
    --priority 100 \
    --source-address-prefixes '*' \
    --source-port-ranges '*' \
    --destination-address-prefixes '*' \
    --destination-port-ranges 22 \
    --access Allow \
    --protocol Tcp \
    --description "Allow inbound SSH"

ASG作成

az network asg create \
    --resource-group $rg \
    --name ERP-DB-SERVERS-ASG

ASGにNICを登録

az network nic ip-config update \
    --resource-group $rg \
    --application-security-groups ERP-DB-SERVERS-ASG \
    --name ipconfigDataServer \
    --nic-name DataServerVMNic \
    --vnet-name ERP-servers \
    --subnet Databases

NSGルール更新

az network nsg rule update \
    --resource-group $rg \
    --nsg-name ERP-SERVERS-NSG \
    --name httpRule \
    --direction Inbound \
    --priority 150 \
    --source-address-prefixes "" \
    --source-port-ranges '*' \
    --source-asgs ERP-DB-SERVERS-ASG \
    --destination-address-prefixes 10.0.0.4 \
    --destination-port-ranges 80 \
    --access Deny \
    --protocol Tcp \
    --description "Deny from DataServer to AppServer on port 80 using application security group"

ネットワーク(3)

Azure 仮想ネットワーク全体にサービスを分散させ、仮想ネットワーク ピアリングを使用して統合する 

ピアリング作成

az network vnet peering create \
    --name SalesVNet-To-MarketingVNet \
    --remote-vnet MarketingVNet \
    --resource-group [sandbox resource group name] \
    --vnet-name SalesVNet \
    --allow-vnet-access

ピアリングリスト

az network vnet peering list \
    --resource-group [sandbox resource group name] \
    --vnet-name SalesVNet \
    --output table

ルーティング確認

az network nic show-effective-route-table \
    --resource-group [sandbox resource group name] \
    --name SalesVMVMNic \
    --output table

ネットワーク(4)

Azure Traffic Manager を使ってサービスの可用性とデータの局所性を強化する

Traffic Manager プロファイルを作成(優先ルーティング)

az network traffic-manager profile create \
    --resource-group Sandbox resource group  \
    --name TM-MusicStream-Priority \
    --routing-method Priority \
    --unique-dns-name TM-MusicStream-Priority-$RANDOM

Traffic Manager プロファイルを作成(パフォーマンスルーティング)

az network traffic-manager profile create \
    --resource-group learn-34f2044c-be93-48ff-877a-dd4ed036ccf0 \
    --name TM-MusicStream-Performance \
    --routing-method Performance \
    --unique-dns-name TM-MusicStream-Performance-$RANDOM \
    --output table

ネットワーク(5)

Application Gateway で Web サービスのトラフィックを負荷分散する

アプリケーション ゲートウェイを作成

az network application-gateway create \
--resource-group $rg \
--name vehicleAppGateway \
--sku WAF_v2 \
--capacity 2 \
--vnet-name vehicleAppVnet \
--subnet appGatewaySubnet \
--public-ip-address appGatewayPublicIp \
--http-settings-protocol Http \
--http-settings-port 8080 \
--frontend-port 8080

アドレスプール(バックエンドプール)を作成(VM側)

az network application-gateway address-pool create \
  --gateway-name vehicleAppGateway \
  --resource-group $rg \
  --name vmPool \
  --servers $WEBSERVER1IP $WEBSERVER2IP

アドレスプール(バックエンドプール)を作成(AppService側)

az network application-gateway address-pool create \
    --resource-group $rg \
    --gateway-name vehicleAppGateway \
    --name appServicePool \
    --servers $APPSERVICE.azurewebsites.net

正常性プローブを作成

az network application-gateway probe create \
    --resource-group $rg \
    --gateway-name vehicleAppGateway \
    --name customProbe \
    --path / \
    --interval 15 \
    --threshold 3 \
    --timeout 10 \
    --protocol Http \
    --host-name-from-http-settings true

パスベースルーティングを作成(vmPool)

az network application-gateway url-path-map create \
    --resource-group $rg \
    --gateway-name vehicleAppGateway \
    --name urlPathMap \
    --paths /VehicleRegistration/* \
    --http-settings appGatewayBackendHttpSettings \
    --address-pool vmPool

パスベースルーティングを追加(appServicePool)

az network application-gateway url-path-map rule create \
    --resource-group $rg \
    --gateway-name vehicleAppGateway \
    --name appServiceUrlPathMap \
    --paths /LicenseRenewal/* \
    --http-settings appGatewayBackendHttpSettings \
    --address-pool appServicePool \
    --path-map-name urlPathMap

ルーティング規則を作成

az network application-gateway rule create \
    --resource-group $rg \
    --gateway-name vehicleAppGateway \
    --name appServiceRule \
    --http-listener vehicleListener \
    --rule-type PathBasedRouting \
    --address-pool appServicePool \
    --url-path-map urlPathMap

コメント

タイトルとURLをコピーしました