チュートリアル: Azure portal を使って複数の仮想マシンのインバウンド NAT 規則を作成する

インバウンド NAT 規則を使用すると、Azure Load Balancer のパブリック IP アドレスとポート番号で Azure 仮想ネットワーク内の仮想マシン (VM) に接続できます。

Azure Load Balancer ルールの詳細については、Azure portal を使用した Azure Load Balancer のルールの管理に関するページをご覧ください。

このチュートリアルでは、以下の内容を学習します。

  • 仮想ネットワークと仮想マシンを作成する
  • フロントエンド IP、正常性プローブ、バックエンド構成、負荷分散規則を使用して、Standard SKU パブリック ロード バランサーを作成する
  • 複数の VM のインバウンド NAT 規則を作成する
  • バックエンド プールの送信インターネット アクセス用の NAT ゲートウェイを作成する
  • ポート転送と負荷分散の規則を示すために、Web サーバーを VM にインストールして構成する

前提条件

仮想ネットワークと仮想マシンを作成する

チュートリアルのリソースには、仮想ネットワークとサブネットが必要です。 このセクションでは、後の手順のために仮想ネットワークと仮想マシンを作成します。

  1. Azure portal にサインインします。

  2. ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  3. [仮想マシン] で、[+ 作成]>[+ 仮想マシン] を選択します。

  4. [仮想マシンの作成][基本] タブに次の値を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    TutorialLBPF-rg」と入力します。

    を選択します。
    インスタンスの詳細
    仮想マシン名 myVM1」と入力します。
    リージョン (米国) 米国西部 2」と入力します。
    可用性のオプション [可用性ゾーン] を選択します。
    可用性ゾーン 1 を入力します。
    セキュリティの種類 [Standard] を選択します。
    Image [Ubuntu Server 20.04 LTS - Gen2] を選択します。
    Azure Spot インスタンス 既定値のオフのままにします。
    サイズ VM サイズを選択してください。
    管理者アカウント
    認証の種類 [SSH 公開キー] を選択します。
    ユーザー名 azureuser」と入力します。
    SSH 公開キーのソース [新しいキーの組を生成] を選択します。
    キーの組名 myKey」と入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  5. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

  6. [ネットワーク] タブで、次の情報を入力または選択します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [新規作成] を選択します。
    [名前] に「myVNet」と入力します。
    [アドレス空間][アドレス範囲] に、「10.1.0.0/16」と入力します。
    [サブネット][サブネット名] に、「myBackendSubnet」と入力します。
    [アドレス範囲] に、「10.4.1.0/27」と入力します。

    を選択します。
    Subnet [myBackendSubnet] を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します。
    ネットワーク セキュリティ グループを構成する [新規作成] を選択します。
    [名前] に、「myNSG」と入力します。
    [受信規則] で、[+ 受信規則の追加] を選択します。
    [サービス] で、[HTTP] を選択します。
    [優先度] に、「100」と入力します。
    [名前] に、「myNSGRule」と入力します。
    [追加] を選択します。

    を選択します。
  7. [確認と作成] タブを選択するか、ページ下部にある [確認と作成] ボタンを選択します。

  8. [作成] を選択します。

  9. [新しいキーの組を生成] プロンプトで、 [Download private key and create resource](秘密キーのダウンロードとリソースの作成) を選択します。 キー ファイルが myKey.pem という名前でダウンロードされます。 .pem ファイルがダウンロードされた場所を確認してください。後の手順でキー ファイルへのパスが必要になります。

  10. 手順 1 から 8 に従って、別の VM を作成します。次の値を使用し、他の設定はすべて myVM1 と同じにします。

    設定 VM 2
    基本操作
    インスタンスの詳細
    仮想マシン名 myVM2
    可用性ゾーン 2
    管理者アカウント
    認証の種類 SSH 公開キー
    SSH 公開キーのソース [Use existing key stored in Azure](Azure に格納されている既存のキーを使用する) を選択します。
    格納されたキー [myKey] を選択します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
    ネットワーク
    ネットワーク インターフェイス
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します。
    ネットワーク セキュリティ グループを構成する 既存の [myNSG] を選択します

ロード バランサーの作成

このセクションでは、ロード バランサーを作成します。 作成の一貫として、フロントエンド IP、バックエンド プール、負荷分散、およびインバウンド NAT 規則が構成されます。

  1. ポータルの上部にある検索ボックスに、「ロード バランサー」と入力します。 検索結果で [ロード バランサー] を選択します。

  2. [ロード バランサー] ページで、 [作成] を選択します。

  3. [ロード バランサーの作成] ページの [基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [TutorialLBPF-rg] を選択します。
    インスタンスの詳細
    名前 myLoadBalancer」と入力します
    リージョン [米国西部 2] を選択します。
    SKU 既定値 [標準] のままにします。
    Type [パブリック] を選択します。
    レベル [地域] は既定値のままにします。
  4. ページ下部にある [次へ: フロントエンド IP の構成] を選択します。

  5. [フロントエンド IP 構成] で、 [+ フロントエンド IP の追加] を選択します。

  6. [名前] に「myFrontend」と入力します。

  7. [IP バージョン] には [IPv4] または [IPv6] を選択します。

    Note

    IPv6 は現在、ルーティングの優先順位およびリージョン間の負荷分散 (グローバル階層) ではサポートされていません。

  8. [IP の種類] として [IP アドレス] を選択します。

    Note

    IP プレフィックスの詳細については、Azure パブリック IP アドレス プレフィックスに関するページを参照してください。

  9. [パブリック IP アドレス][新規作成] を選択します。

  10. [パブリック IP アドレスの追加] で、 [名前] に「myPublicIP」と入力します。

  11. [可用性ゾーン] で、 [ゾーン冗長] を選択します。

    Note

    Availability Zones があるリージョンでは、ゾーンなし (既定のオプション)、特定のゾーン、またはゾーン冗長を選択できます。 この選択は、特定のドメイン障害要件によって異なる場合があります。 Availability Zones がないリージョンでは、このフィールドは表示されません。
    可用性ゾーンの詳細については、可用性ゾーンの概要に関するページを参照してください。

  12. [ルーティングの優先順位] は、既定値の [Microsoft ネットワーク] のままにします。

  13. [OK] を選択します。

  14. [追加] を選択します。

  15. ページ下部で [次へ: バックエンド プール] を選択します。

  16. [バックエンド プール] タブで、 [+ バックエンド プールの追加] を選択します。

  17. [バックエンド プールの追加] で、次の情報を入力または選択します。

    設定
    名前 myBackendPool」と入力します。
    仮想ネットワーク [myVNet (TutorialLBPF-rg)] を選択します。
    バックエンド プールの構成 [NIC] を選択します。
    IP バージョン [IPv4] を選択します。
  18. [仮想マシン] で、 [+ 追加] を選択します。

  19. [Add virtual machines to backend pool](仮想マシンをバックエンド プールに追加する) で、 [myVM1][myVM2] の横のチェックボックスを選択します。

  20. [追加] を選択します。

  21. [追加] を選択します。

  22. ページ下部にある [次へ: 受信規則] ボタンを選択します。

  23. [受信規則] タブの [負荷分散規則] で、 [+ 負荷分散規則の追加] を選択します。

  24. [負荷分散規則の追加] で、次の情報を入力または選択します。

    設定
    名前 myHTTPRule」と入力します。
    IP バージョン 要件に応じて、 [IPv4] または [IPv6] を選択します。
    フロントエンド IP アドレス [myFrontend] を選択します。
    バックエンド プール [myBackendPool] を選択します。
    Protocol [TCP] を選択します。
    Port 80」と入力します。
    バックエンド ポート 80」と入力します。
    正常性プローブ [新規作成] を選択します。
    [名前] に、「myHealthProbe」と入力します。
    [プロトコル][TCP] を選択します。
    残りの部分は既定値のままにし、[OK] を選択します。
    セッション永続化 [なし] を選択します。
    アイドル タイムアウト (分) 15」を入力または選択します。
    TCP リセット [Enabled] を選択します。
    フローティング IP [無効] をクリックします。
    アウトバウンド送信元ネットワーク アドレス変換 (SNAT) 既定値の [(推奨) アウトバウンド規則を使用して、バックエンド プールのメンバーがインターネットにアクセスできるようにします。] のままにします。

    負荷分散ルールの詳細については、「負荷分散ルール」を参照してください。

  25. [追加] を選択します。

  26. ページ下部にある青色の [確認と作成] ボタンを選択します。

  27. [作成] を選択します

複数の VM のインバウンド NAT 規則を作成する

このセクションでは、ロード バランサーのバックエンド プールに対して複数のインスタンスのインバウンド NAT 規則を作成します。

  1. ポータルの上部にある検索ボックスに、「ロード バランサー」と入力します。 検索結果で [ロード バランサー] を選択します。

  2. [myLoadBalancer] を選択します。

  3. myLoadBalancer で、設定の [インバウンド NAT 規則] を選択します。

  4. [インバウンド NAT 規則][+ 追加] を選択します。

  5. [インバウンド NAT 規則の追加] で、次の情報を入力または選択します。

    設定
    名前 myNATRule-SSH」と入力します。
    [バックエンド プール] を選択します。
    ターゲット バックエンド プール [myBackendPool] を選択します。
    フロントエンド IP アドレス [myFrontend] を選択します。
    フロントエンド ポート範囲の始点 221」と入力します。
    バックエンド プール内にある最大数のマシン 500」と入力します。
    バックエンド ポート 22」と入力します。
    Protocol [TCP] を選択します。
  6. 残りの部分は既定値のままにし、[追加] を選択します。

Note

バックエンド プールの仮想マシンへのポート マッピングを表示するには、ポート マッピングの表示に関するページを参照してください。

NAT ゲートウェイを作成する

このセクションでは、仮想ネットワーク内のリソースの送信インターネット アクセス用の NAT ゲートウェイを作成します。

アウトバウンド接続と Azure Virtual Network NAT の詳細については、「アウトバウンド接続に送信元ネットワーク アドレス変換 (SNAT) を使用する」および「Virtual Network NAT とは」を参照してください。

  1. ポータルの上部にある検索ボックスに、「NAT ゲートウェイ」と入力します。 検索結果から [NAT ゲートウェイ] を選択します。

  2. [NAT ゲートウェイ] で、 [+ 作成] を選択します。

  3. [ネットワーク アドレス変換 (NAT) ゲートウェイを作成します] で、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [TutorialLBPF-rg] を選択します。
    インスタンスの詳細
    NAT ゲートウェイ名 myNATgateway」と入力します。
    リージョン [米国西部 2] を選択します。
    可用性ゾーン [なし] を選択します。
    アイドル タイムアウト (分) 15」と入力します。
  4. [送信 IP] タブを選択するか、ページの下部にある [次へ: 送信 IP] ボタンを選択します。

  5. [送信 IP] で、 [パブリック IP アドレス] の横にある [新しいパブリック IP アドレスの作成] を選択します。

  6. [パブリック IP アドレスの追加] で、 [名前] に「myNATGatewayIP」と入力します。

  7. [OK] を選択します。

  8. [サブネット] タブを選択するか、ページ下部にある [次へ: サブネット] ボタンを選択します。

  9. [サブネット] タブの [仮想ネットワーク][myVNet] を選択します。

  10. [サブネット名][myBackendSubnet] を選択します。

  11. ページ下部にある青色の [確認と作成] ボタンを選択するか、 [確認と作成] タブを選択します。

  12. [作成] を選択します

Web サーバーのインストール

このセクションでは、インバウンド NAT 規則を使用して仮想マシンに SSH 接続し、Web サーバーをインストールします。

  1. ポータルの上部にある検索ボックスに、「ロード バランサー」と入力します。 検索結果で [ロード バランサー] を選択します。

  2. [myLoadBalancer] を選択します。

  3. [設定][フロントエンド IP 構成] を選択します。

  4. [フロントエンド IP 構成] で、myFrontendIP アドレスをメモします。 この例では、20.99.165.176 です。

    Screenshot of public IP in Azure portal.

  5. Mac または Linux コンピューターを使用している場合は、Bash プロンプトを開きます。 Windows コンピューターを使用している場合は、PowerShell プロンプトを開きます。

  6. プロンプトで、myVM1 への SSH 接続を開きます。 IP アドレスを、前の手順で取得したアドレスに、ポートを、myVM1 インバウンド NAT 規則で使用した 221 に置き換えます。 .pem のパスを、キー ファイルがダウンロードされたパスに置き換えます。

    ssh -i .\Downloads\myKey.pem azureuser@20.99.165.176 -p 221
    

    ヒント

    作成した SSH キーは、次回 Azure で VM を作成するときに使用できます。 次回 VM を作成するときは、 [SSH public key source](SSH 公開キー ソース) には [Use a key stored in Azure](Azure に保存されているキーを使用する) を選択するだけです。 お使いのコンピューターには既に秘密キーがあります。そのため、何もダウンロードする必要はありません。

  7. SSH セッションからパッケージ ソースを更新し、最新の NGINX パッケージをインストールします。

    sudo apt-get -y update
    sudo apt-get -y install nginx
    
  8. Exit と入力して SSH セッションを終了します。

  9. プロンプトで、myVM2 への SSH 接続を開きます。 IP アドレスを、前の手順で取得したアドレスに、ポートを、myVM2 インバウンド NAT 規則で使用した 222 に置き換えます。 .pem のパスを、キー ファイルがダウンロードされたパスに置き換えます。

    ssh -i .\Downloads\myKey.pem azureuser@20.99.165.176 -p 222
    
  10. SSH セッションからパッケージ ソースを更新し、最新の NGINX パッケージをインストールします。

    sudo apt-get -y update
    sudo apt-get -y install nginx
    
  11. Exit と入力して SSH セッションを終了します。

Web サーバーをテストする

このセクションで Web ブラウザーを開き、前の手順で取得したロード バランサーの IP アドレスを入力します。

  1. Web ブラウザーを開きます。

  2. アドレス バーに、ロード バランサーの IP アドレスを入力します。 この例では、20.99.165.176 です。

  3. 既定の NGINX Web サイトが表示されます。

    Screenshot of testing the NGINX web server.

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

今後このアプリケーションを使い続ける予定がなければ、次の手順を使用して仮想マシンとロード バランサーを削除します。

  1. ポータル上部の [検索] ボックスに「リソース グループ」と入力します。 検索結果から [リソース グループ] を選択します。

  2. [リソース グループ] で、 [TutorialLBPF-rg] を選択します。

  3. [リソース グループの削除] を選択します。

  4. [リソース グループ名を入力してください] に、「TutorialLBPF-rg」と入力します。 [削除] を選択します。

次のステップ

次の記事に進んで、リージョン間ロード バランサーの作成方法を学習してください。