チュートリアル: Azure DDoS Protection を使用してパブリック ロード バランサーを保護する

Azure DDoS Protection を使用すると、アダプティブ チューニング、攻撃アラート通知、監視などの強化された DDoS 軽減機能により、大規模な DDoS 攻撃からパブリック ロード バランサーを保護できます。

重要

ネットワーク保護 SKU を使用すると、Azure DDoS Protection のコストが発生します。 超過料金は、テナントで 100 を超えるパブリック IP が保護されている場合にのみ適用されます。 今後リソースを使用しない場合は、このチュートリアルのリソースを必ず削除してください。 価格の詳細については、「Azure DDoS Protection の価格」を参照してください。 Azure DDoS 保護の詳細については、「Azure DDoS Protection とは何か?」を参照してください。

このチュートリアルでは、次の作業を行う方法について説明します。

  • DDoS 保護プランを作成する。
  • DDoS Protection および Bastion サービスが有効になっている仮想ネットワークを作成する。
  • フロントエンド IP、正常性プローブ、バックエンド構成、負荷分散規則を使用して、Standard SKU パブリック ロード バランサーを作成する。
  • バックエンド プールの送信インターネット アクセス用の NAT ゲートウェイを作成する。
  • 仮想マシンを作成し、ポート フォワーディングと負荷分散の規則を示すために、IIS を VM にインストールして構成する。

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

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。

DDoS Protection プランを作成する

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

  2. ポータルの上部にある検索ボックスに、「DDoS 保護」と入力します。 検索結果から [DDoS 保護プラン] を選択し、[+ 作成] を選択します。

  3. [DDoS 保護プランの作成] ページの [基本情報] タブで、次の情報を入力するか選択します。

    DDoS 保護プランの作成のスクリーンショット。

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

    を選択します。
    インスタンスの詳細
    Name myDDoSProtectionPlan」と入力します。
    リージョン [(米国) 米国東部] を選択します。
  4. [確認と作成] を選択し、[作成] を選択して DDoS 保護プランをデプロイします。

仮想ネットワークの作成

このセクションでは、仮想ネットワーク、サブネット、Azure Bastion ホストを作成し、DDoS Protection プランを関連付けます。 仮想ネットワークとサブネットには、ロード バランサーと仮想マシンが含まれます。 bastion ホストは、仮想マシンを安全に管理し、IIS をインストールしてロード バランサーをテストするために使用されます。 DDoS 保護プランは、仮想ネットワーク内のすべてのパブリック IP リソースを保護します。

重要

時間単位の料金は、送信データの使用量に関係なく、Bastion がデプロイされた時点から発生します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後に該当のリソースを削除することをお勧めします。

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、 [仮想ネットワーク] を選択します。

  2. [仮想ネットワーク][+ 作成] を選択します。

  3. [仮想ネットワークの作成][基本] タブで、次の情報を入力するか選択します。

    設定 Value
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソース グループ [TutorLoadBalancer-rg] を選択します
    インスタンスの詳細
    名前 myVNet」と入力します
    リージョン [米国東部] を選択します。
  4. [IP アドレス] タブを選択するか、ページ下部の [次へ: IP アドレス] ボタンを選択します。

  5. [IP アドレス] タブで、次の情報を入力します。

    設定
    IPv4 アドレス空間 10.1.0.0/16」と入力します。
  6. [サブネット名] で、 [default](既定) という単語を選択します。 サブネットが存在しない場合は、[+ サブネットの 追加] を選択します。

  7. [サブネットの編集] に次の情報を入力します。

    設定
    サブネット名 myBackendSubnet」と入力します
    サブネットのアドレス範囲 10.1.0.0/24」と入力します。
  8. [保存 ] または [ 追加] を選択します。

  9. [セキュリティ] タブをクリックします。

  10. [BastionHost][有効にする] を選択します。 この情報を入力します。

    設定
    要塞名 myBastionHost」と入力します
    AzureBastionSubnet のアドレス空間 10.1.1.0/26」と入力します
    パブリック IP アドレス [新規作成] を選択します。
    [名前] に「myBastionIP」と入力します。

    を選択します。
  11. [DDoS ネットワーク保護][有効] を選びます。 次に、ドロップダウン メニューから [myDDoSProtectionPlan] を選択します。

    仮想ネットワークの作成時の DDoS の有効化を示すスクリーンショット。

  12. [確認と作成] タブを選択するか、 [確認と作成] ボタンを選択します。

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

    Note

    仮想ネットワークとサブネットはすぐに作成されます。 Bastion ホストの作成はジョブとして送信され、10 分以内に完了します。 Bastion ホストが作成されている間、次の手順に進むことができます。

ロード バランサーの作成

このセクションでは、仮想マシンの負荷分散を行うゾーン冗長ロード バランサーを作成します。 ゾーン冗長では、1 つまたは複数の可用性ゾーンで障害が発生しても対応可能であり、リージョン内に正常なゾーンが 1 つでも残っていれば、データ パスは存続します。

ロード バランサーの作成中に、次の構成を行います。

  • フロントエンド IP アドレス
  • バックエンド プール
  • インバウンドの負荷分散規則
  • 正常性プローブ
  1. ポータルの上部にある検索ボックスに、「ロード バランサー」と入力します。 検索結果で [ロード バランサー] を選択します。

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

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

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [TutorLoadBalancer-rg] を選択します。
    インスタンスの詳細
    名前 myLoadBalancer」と入力します
    リージョン [米国東部] を選択します。
    SKU 既定値 [標準] のままにします。
    Type [パブリック] を選択します。
    レベル [地域] は既定値のままにします。

    Standard ロード バランサーを作成する [基本] タブのスクリーンショット。

  4. ページ下部にある [次へ: フロントエンド IP の構成] を選択します。

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

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

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

  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」と入力します。

  18. [仮想ネットワーク][myVNet] を選択します。

  19. [バックエンド プールの構成] には [IP アドレス] を選択します。

  20. [保存] を選択します。

  21. ページ下部にある [次へ: インバウンド規則] を選択します。

  22. [インバウンド規則] タブの [負荷分散規則] で、[+ 負荷分散規則の追加] を選択します。

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

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

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

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

    注意

    この例では、送信インターネット アクセスを提供する NAT ゲートウェイを作成します。 構成の [アウトバウンド規則] タブは省略可能であり、NAT ゲートウェイでは不要なため、バイパスされます。 Azure NAT ゲートウェイの詳細については、「Virtual Network NAT とは」を参照してください。Azure でのアウトバウンド接続の詳細については、アウトバウンド接続の送信元ネットワーク アドレス変換 (SNAT) に関するページを参照してください。

NAT ゲートウェイの作成

このセクションでは、仮想ネットワーク内のリソースの送信インターネット アクセス用の NAT ゲートウェイを作成します。 アウトバウンド規則の他のオプションについては、アウトバウンド接続での送信元ネットワーク アドレス変換 (SNAT) を確認してください。

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

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

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

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

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

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

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

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

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

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

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

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

仮想マシンを作成する

このセクションでは、2 つの異なるゾーン (ゾーン 1ゾーン 2) に 2 つの VM (myVM1myVM2) を作成します。

これらの VM を、前に作成したロード バランサーのバックエンド プールに追加します。

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

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

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

    設定
    プロジェクトの詳細
    サブスクリプション お使いの "Azure サブスクリプション" を選択します
    リソース グループ [TutorLoadBalancer-rg] を選択します
    インスタンスの詳細
    仮想マシン名 myVM1」と入力します
    リージョン [((US) East US)](((米国) 米国東部)) を選択します。
    可用性オプション [可用性ゾーン] を選択します
    可用性ゾーン [Zone 1] を選択します
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2022 Datacenter: Azure Edition - Gen2] を選択します。
    Azure Spot インスタンス 既定値のオフのままにします。
    サイズ VM サイズを選択するか、既定の設定を使用します
    管理者アカウント
    ユーザー名 ユーザー名を入力します
    Password [パスワード] を入力します
    [パスワードの確認入力] パスワードを再入力します
    受信ポートの規則
    パブリック受信ポート [なし] を選択します
  4. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

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

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVNet] を選択します
    Subnet [myBackendSubnet] を選択します
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します
    ネットワーク セキュリティ グループを構成する 残りの設定が完了するまで、この設定をスキップします。 バックエンド プールを選択した後に完了します。
    VM が削除された場合に NIC を削除する 既定値の [未選択]のままにします。
    Accelerated Networking 既定値の [選択済み]のままにします。
    負荷分散
    負荷分散のオプション
    負荷分散のオプション [Azure ロード バランサー] を選択する
    ロード バランサーを選択する [myLoadBalancer] を選択します
    バックエンド プールを選択する [myBackendPool] を選択します
    ネットワーク セキュリティ グループを構成する [新規作成] を選択します。
    [ネットワーク セキュリティ グループの作成] で、[名前] に「myNSG」と入力します。

    で、[+ 受信規則の追加] を選択します。

    で、[HTTP] を選択します。

    に「100」と入力します。
    [名前] に「myNSGRule」と入力します
    [追加] を選びます
    [OK] を選びます
  6. [Review + create](レビュー + 作成) を選択します。

  7. 設定を確認し、 [作成] を選択します。

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

    設定 VM 2
    名前 myVM2
    可用性ゾーン ゾーン 2
    ネットワーク セキュリティ グループ 既存の [myNSG] を選択します

Note

パブリック IP が割り当てられていない VM、または内部の Basic Azure Load Balancer のバックエンド プール内にある VM に対しては、Azure によって既定のアウトバウンド アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。

  • パブリック IP アドレスが VM に割り当てられます。
  • アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
  • Azure NAT Gateway リソースが VM のサブネットに割り当てられている。

フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定のアウトバウンド アクセスがありません。

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

IIS のインストール

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

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

  3. [概要] ページで [接続][要塞] の順に選択します。

  4. VM 作成時に入力したユーザー名とパスワードを入力します。

  5. [接続] を選択します。

  6. サーバーのデスクトップで、[スタート]>[Windows PowerShell]>[Windows PowerShell] の順に移動します。

  7. PowerShell ウィンドウで、次のコマンドを実行して以下の作業を行います。

    • IIS サーバーをインストールする
    • 既定の iisstart.htm ファイルを削除する
    • VM の名前が表示された新しい iisstart.htm ファイルを追加する。
     # Install IIS server role
     Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
     # Remove default htm file
     Remove-Item  C:\inetpub\wwwroot\iisstart.htm
    
     # Add a new htm file that displays server name
     Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
    
    
  8. myVM1 との Bastion セッションを閉じます。

  9. 手順 1. から 8. を繰り返して、IIS と更新済み iisstart.htm ファイルを myVM2 にインストールします。

ロード バランサーをテストする

  1. ページの上部にある検索ボックスに、「パブリック IP」と入力します。 検索結果から [パブリック IP アドレス] を選択します。

  2. [パブリック IP アドレス] で、 [myPublicIP] を選択します。

  3. [IP アドレス]内の項目 をコピーします。 その URL をブラウザーのアドレス バーに貼り付けます。 IIS Web サーバーのカスタムの VM ページがブラウザーに表示されます。

    ロード バランサー テストのスクリーンショット。

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

リソース グループ、ロード バランサー、および関連するすべてのリソースは、不要になったら削除します。 これを行うには、リソースを含むリソース グループ (TutorLoadBalancer-rg) を選択し、[削除] を選択します。

次のステップ

次の記事に進み、以下の方法を学習してください。