自分のサービスを参照する Private Link サービスを作成してみましょう。 Private Link には、Azure Standard Load Balancer の背後にデプロイされたサービスやリソースへのアクセス権を付与することができます。 サービスのユーザーは、各自の仮想ネットワークからプライベートにアクセスすることができます
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
[前提条件]
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。
CLI 参照コマンドをローカルで実行する場合は、Azure CLI を インストール します。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。
メッセージが表示されたら、最初に使用するときに 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 の場所。
サブネット上のプライベート リンク サービスのネットワーク ポリシーを無効にします。
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
標準ロードバランサーを作成する
このセクションでは、ロード バランサーの以下のコンポーネントを作成および構成する方法について説明します。
ロード バランサー上の受信ネットワーク トラフィックを受信するフロントエンド IP プール。
フロントエンド プールが負荷分散されたネットワーク トラフィックを送信するバックエンド IP プール。
バックエンド VM インスタンスの正常性を決定する正常性プローブ。
VM へのトラフィックの分散方法を定義するロード バランサー規則。
ロード バランサーのリソースを作成する
az network lb create を使用して、次のようにパブリック ロード バランサーを作成します。
名前は load-balancer にします。
フロントエンドという名前の フロントエンド プール。
バックエンドプールという名前のバックエンドプール。
仮想ネットワーク vnet-1 に関連付けられています。
バックエンド サブネット サブネットサブネット-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 を使用して、負荷分散されたネットワーク トラフィックをバックエンド アドレス プールのバックエンド プールに送信します。
正常性プローブ 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 を使用してネットワーク ポリシーを無効にします。
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 を使用するプライベート リンク サービスを作成します。
az network private-link-service create を使用して、Standard Load Balancer フロントエンド IP 構成を使用してプライベート リンク サービスを作成します。
private-link-service と名付けられた。
仮想ネットワーク vnet-1。
標準ロードバランサーロードバランサーとフロントエンド構成フロントエンドに関連しています。
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 を使用して、プライベート リンク サービスのリソース 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 を作成しました。
プライベート リンク サービスを作成しました
Azure プライベート エンドポイントについてさらに学習するには、次の記事に進んでください。