クイックスタート: Azure CLI を使用して Private Link サービスを作成する

自分のサービスを参照する Private Link サービスを作成してみましょう。 Private Link には、Azure Standard Load Balancer の背後にデプロイされたサービスやリソースへのアクセス権を付与することができます。 サービスのユーザーは、各自の仮想ネットワークからプライベートにアクセスすることができます

Diagram of resources created in private endpoint quickstart.

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • このクイックスタートには、Azure CLI のバージョン 2.0.28 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

リソース グループを作成する

Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。

az group create を使用して、次のようにリソース グループを作成します。

  • 名前は test-rg にします。

  • 場所は eastus2 にします。

az group create \
    --name test-rg \
    --location eastus2

内部ロード バランサーを作成します。

このセクションでは、仮想ネットワークと内部 Azure Load Balancer を作成します。

仮想ネットワーク

このセクションでは、Private Link サービスにアクセスするロード バランサーのホストとなる仮想ネットワークとサブネットを作成します。

az network vnet create を使用して、次のように仮想ネットワークを作成します。

  • 名前は vnet-1 にします。

  • アドレス プレフィックスは 10.0.0.0/16 にします。

  • サブネットの名前は subnet-1 にします。

  • サブネット プレフィックスは 10.0.0.0/24 にします。

  • test-rg リソース グループ内に作成します。

  • 場所は eastus2 にします。

  • サブネット上の Private Link サービスのネットワーク ポリシーを無効にします。

az network vnet create \
    --resource-group test-rg \
    --location eastus2 \
    --name vnet-1 \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name subnet-1 \
    --subnet-prefixes 10.0.0.0/24

Standard ロード バランサーを作成する

このセクションでは、ロード バランサーの以下のコンポーネントを作成および構成する方法について説明します。

  • ロード バランサーの着信ネットワーク トラフィックを受け取るフロントエンド IP プール。

  • フロントエンド プールから負荷分散されたネットワーク トラフィックが送信されるバックエンド IP プール。

  • バックエンド VM インスタンスの正常性を判断する正常性プローブ。

  • VM に対するトラフィックの分散方法を定義するロード バランサー規則。

ロード バランサーのリソースを作成する

az network lb create を使用して、次のようにパブリック ロード バランサーを作成します。

  • 名前は load-balancer にします。

  • フロントエンド プールの名前は frontend にします。

  • バックエンド プールの名前は backend-pool にします。

  • 仮想ネットワーク vnet-1 に関連付けます。

  • バックエンド サブネット subnet-1 に関連付けます。

az network lb create \
    --resource-group test-rg \
    --name load-balancer \
    --sku Standard \
    --vnet-name vnet-1 \
    --subnet subnet-1 \
    --frontend-ip-name frontend \
    --backend-pool-name backend-pool

正常性プローブを作成する

正常性プローブは、すべての仮想マシン インスタンスを調べて、ネットワーク トラ フィックを送信できるかどうかを確認します。

プローブ チェックが失敗した仮想マシンは、ロード バランサーから削除されます。 障害が解決されると、仮想マシンがロード バランサーに再び追加されます。

az network lb probe create を使用して、次のように正常性プローブを作成します。

  • 仮想マシンの正常性を監視します。

  • 名前は health-probe にします。

  • プロトコルは TCP にします。

  • ポート 80 を監視します。

az network lb probe create \
    --resource-group test-rg \
    --lb-name load-balancer \
    --name health-probe \
    --protocol tcp \
    --port 80

ロード バランサー規則を作成する

ロード バランサー規則は、以下のものを定義します。

  • 着信トラフィック用のフロントエンド IP 構成。

  • トラフィックを受信するためのバックエンド IP プール。

  • 必要な発信元ポートと宛先ポート。

az network lb rule create を使用して、次のようにロード バランサー規則を作成します。

  • 名前は http-rule にします

  • フロントエンド プール frontendポート 80 をリッスンします。

  • ポート 80 を使用して、負荷分散されたネットワーク トラフィックをバックエンド アドレス プール backend-pool に送信します。

  • 正常性プローブ health-probe を使用します。

  • プロトコルは TCP にします。

  • アイドル タイムアウトは 15 分とします。

  • TCP リセットを有効にします。

az network lb rule create \
    --resource-group test-rg \
    --lb-name load-balancer \
    --name http-rule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name frontend \
    --backend-pool-name backend-pool \
    --probe-name health-probe \
    --idle-timeout 15 \
    --enable-tcp-reset true

ネットワーク ポリシーを無効にする

プライベート リンク サービスを仮想ネットワークに作成する前に、設定 privateLinkServiceNetworkPolicies を無効にする必要があります。

az network vnet subnet update \
    --name subnet-1 \
    --vnet-name vnet-1 \
    --resource-group test-rg \
    --disable-private-link-service-network-policies yes

このセクションでは、前の手順で作成された Azure Load Balancer を使用する Private Link サービスを作成します。

az network private-link-service create を使用し、Standard Load Balancer フロントエンド IP 構成を使用して Private Link サービスを作成します。

  • 名前は private-link-service にします。

  • 仮想ネットワーク vnet-1 内に作成します。

  • Standard Load Balancer load-balancer とフロントエンド構成 frontend に関連付けます。

  • 場所は eastus2 にします。

az network private-link-service create \
    --resource-group test-rg \
    --name private-link-service \
    --vnet-name vnet-1 \
    --subnet subnet-1 \
    --lb-name load-balancer \
    --lb-frontend-ip-configs frontend \
    --location eastus2

Private Link サービスが作成され、トラフィックを受信できるようになります。 トラフィック フローを確認する場合は、ご利用のアプリケーションを Standard ロード バランサーの背後に構成します。

プライベート エンドポイントの作成

このセクションでは、プライベート リンク サービスをプライベート エンドポイントにマップします。 仮想ネットワークには、プライベート リンク サービス用のプライベート エンドポイントが含まれています。 この仮想ネットワークには、プライベート リンク サービスにアクセスするリソースが含まれています。

プライベート エンドポイントの仮想ネットワークを作成する

az network vnet create を使用して、次のように仮想ネットワークを作成します。

  • 名前は vnet-pe にします。

  • アドレス プレフィックスは 10.1.0.0/16 にします。

  • サブネットの名前は subnet-pe にします。

  • サブネット プレフィックスは 10.1.0.0/24 にします。

  • test-rg リソース グループ内に作成します。

  • 場所は eastus2 にします。

az network vnet create \
    --resource-group test-rg \
    --location eastus2 \
    --name vnet-pe \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name subnet-pe \
    --subnet-prefixes 10.1.0.0/24

エンドポイントと接続を作成する

  • az network private-link-service show を使用して Private Link サービスのリソース ID を取得します。 このコマンドでは、後で使用するためにリソース ID を変数に格納します。

  • az network private-endpoint create を使用して、前に作成した仮想ネットワーク内にプライベート エンドポイントを作成します。

  • 名前は private-endpoint にします。

  • test-rg リソース グループ内に作成します。

  • 接続名は connection-1 にします。

  • 場所は eastus2 にします。

  • 仮想ネットワーク vnet-pe およびサブネット subnet-pe 内に作成します。

export resourceid=$(az network private-link-service show \
    --name private-link-service \
    --resource-group test-rg \
    --query id \
    --output tsv)

az network private-endpoint create \
    --connection-name connection-1 \
    --name private-endpoint \
    --private-connection-resource-id $resourceid \
    --resource-group test-rg \
    --subnet subnet-pe \
    --manual-request false \
    --vnet-name vnet-pe 

リソースをクリーンアップする

必要なくなったら、az group delete コマンドを使用して、リソース グループ、Private Link サービス、ロード バランサー、すべての関連リソースを削除します。

az group delete \
    --name test-rg 

次のステップ

このクイック スタートでは次の作業を行います。

  • 仮想ネットワークと内部 Azure Load Balancer を作成しました。

  • Private Link サービスを作成しました。

Azure プライベート エンドポイントについてさらに学習するには、次の記事に進んでください。