チュートリアル: Azure DDoS ネットワーク保護を使用してアプリケーション ゲートウェイを保護する
この記事は、DDoS で保護された仮想ネットワークを使用して Azure Application Gateway を作成するのに役立ちます。 Azure DDoS ネットワーク保護を使用すると、アダプティブ チューニング、攻撃アラート通知、監視などの強化された DDoS 軽減機能により、大規模な DDoS 攻撃からアプリケーション ゲートウェイを保護できます。
重要
ネットワーク保護 SKU を使用すると、Azure DDoS Protection のコストが発生します。 超過料金は、テナントで 100 を超えるパブリック IP が保護されている場合にのみ適用されます。 今後リソースを使用しない場合は、このチュートリアルのリソースを必ず削除してください。 価格の詳細については、「Azure DDoS Protection の価格」を参照してください。 Azure DDoS Protection の詳細については、「Azure DDoS Protection とは」を参照してください。
このチュートリアルでは、次の作業を行う方法について説明します。
- DDoS Protection プランを作成する
- アプリケーション ゲートウェイの作成
- DDoS Protection プランを仮想ネットワークに関連付ける
- アプリケーション ゲートウェイのバックエンドに VM を追加する
- アプリケーション ゲートウェイのテスト
前提条件
アクティブなサブスクリプションが含まれる Azure アカウントが必要です。 アカウントをまだ持っていない場合は、無料でアカウントを作成することができます。
DDoS Protection プランを作成する
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「DDoS 保護」と入力します。 検索結果から [DDoS 保護プラン] を選択し、[+ 作成] を選択します。
[DDoS 保護プランの作成] ページの [基本情報] タブで、次の情報を入力するか選択します。
設定 値 プロジェクトの詳細 サブスクリプション Azure サブスクリプションを選択します。 Resource group [新規作成] を選択します。
「myResourceGroupAG」と入力します。
を選択します。インスタンスの詳細 Name 「myDDoSProtectionPlan」と入力します。 リージョン [米国中部] を選択します。 [確認と作成] を選択し、[作成] を選択して DDoS 保護プランをデプロイします。
アプリケーション ゲートウェイの作成
[アプリケーションゲートウェイの作成] ページのタブを使用して、アプリケーション ゲートウェイを作成します。
- Azure portal のメニューまたは [ホーム] ページから [リソースの作成] を選択します。
- [カテゴリ] で [ネットワーク] を選択し、[人気の Azure サービス] の一覧から [Application Gateway] を選択します。
[基本] タブ
[基本] タブで、次のアプリケーション ゲートウェイの設定に以下の値を入力します。
[リソース グループ] :リソース グループには、myResourceGroupAG を選択します。 存在しない場合は、 [新規作成] を選択して作成します。
[アプリケーション ゲートウェイ名] :アプリケーション ゲートウェイの名前として「myAppGateway」と入力します。
お客様が作成するリソースの間で Azure による通信が行われるには、仮想ネットワークが必要です。 新しい仮想ネットワークを作成することも、既存の仮想ネットワークを使用することもできます。 この例では、アプリケーション ゲートウェイの作成と同時に新しい仮想ネットワークを作成します。 Application Gateway インスタンスは、個別のサブネットに作成されます。 この例では 2 つのサブネットを作成します。1 つはアプリケーション ゲートウェイ用で、もう 1 つはバックエンド サーバー用です。
Note
仮想ネットワーク サービス エンドポイント ポリシーは現在、Application Gateway のサブネットではサポートされません。
[仮想ネットワークの構成] で、 [新規作成] を選択して新しい仮想ネットワークを作成します。 [仮想ネットワークの作成] ウィンドウが開いたら、次の値を入力して、仮想ネットワークと 2 つのサブネットを作成します。
Name:仮想ネットワークの名前として「myVNet」と入力します。
[サブネット名] (アプリケーション ゲートウェイ サブネット): [サブネット] グリッドには、"default" という名前のサブネットが表示されます。 このサブネットの名前を myAGSubnet に変更します。
アプリケーション ゲートウェイ サブネットには、アプリケーション ゲートウェイのみを含めることができます。 その他のリソースは許可されません。[サブネット名] (バックエンド サーバー サブネット): [サブネット] グリッドの 2 行目で、 [サブネット名] 列に「myBackendSubnet」と入力します。
[アドレス範囲] (バックエンド サーバー サブネット): [サブネット] グリッドの 2 行目に、myAGSubnet のアドレス範囲と重複しないアドレス範囲を入力します。 たとえば、myAGSubnet のアドレス範囲が 10.0.0.0/24 の場合は、myBackendSubnet のアドレス範囲として「10.0.1.0/24」と入力します。
[OK] を選択して [仮想ネットワークの作成] ウィンドウを閉じ、仮想ネットワークの設定を保存します。
[基本] タブで、その他の設定の既定値をそのまま使用し、 [次へ:フロントエンド] を選択します。
[フロントエンド] タブ
[フロントエンド] タブで、 [フロントエンド IP アドレスの種類] が [パブリック] に設定されていることを確認します。
ユース ケースに従って、フロントエンド IP を [パブリック] または [プライベート] に設定できます。 この例では、パブリック フロントエンド IP を選択します。Note
Application Gateway v2 SKU では、 [パブリック] フロントエンド IP 構成が存在する必要があります。 パブリックとプライベートの両方のフロントエンド IP 構成が存在していることはかまいませんが、プライベートのみのフロントエンド IP 構成 (ILB のみモード) は現在、v2 SKU では有効ではありません。
[パブリック IP アドレス] として [新規追加] を選択し、パブリック IP アドレス名として「myAGPublicIPAddress」と入力し、 [OK] を選択します。
バックエンド を選択します。
[バックエンド] タブ
バックエンド プールは、要求を処理するバックエンド サーバーに要求をルーティングするために使用されます。 バックエンドプールは、NIC、Virtual Machine Scale Sets、パブリック IP アドレス、内部 IP アドレス、完全修飾ドメイン名 (FQDN)、および Azure App Service のようなマルチテナント バックエンドで構成できます。 この例では、アプリケーション ゲートウェイを使用して空のバックエンド プールを作成し、バックエンド ターゲットをバックエンド プールに追加します。
[バックエンド] タブで、 [バックエンド プールの追加] を選択します。
開いた [バックエンド プールの追加] ウィンドウで、次の値を入力して空のバックエンド プールを作成します。
- Name:バックエンド プールの名前として「myBackendPool」と入力します。
- [ターゲットを持たないバックエンド プールを追加します] : [はい] を選択して、ターゲットを持たないバックエンド プールを作成します。 アプリケーション ゲートウェイを作成した後で、バックエンド ターゲットを追加します。
[バックエンド プールの追加] ウィンドウで、 [追加] を選択してバックエンド プールの構成を保存し、 [バックエンド] タブに戻ります。
[バックエンド] タブで、 [次へ:構成] を選択します。
[構成] タブ
[構成] タブで、ルーティング規則を使用して作成したフロントエンドとバックエンド プールを接続します。
[ルーティング規則] 列で [ルーティング規則の追加] を選択します。
[ルーティング規則の追加] ウィンドウが開いたら、[ルール名] と [優先度] に次の値を入力します。
- ルール名: ルールの名前として「myRoutingRule」と入力します。
- 優先度: 優先度の値を 1 ~ 20000 (1 は最も高い優先度を表し、20000 は最も低い) の範囲で指定します。このクイックスタートでは、優先度として「100」を入力します。
ルーティング規則にはリスナーが必要です。 [ルーティング規則の追加] ウィンドウ内の [リスナー] タブで、リスナーの次の値を入力します。
[リスナー名] :リスナーの名前として「myListener」と入力します。
[フロントエンド IP] : [パブリック] を選択して、フロントエンド用に作成したパブリック IP を選択します。
[リスナー] タブで他の設定の既定値をそのまま使用し、 [バックエンド ターゲット] タブを選択して、ルーティング規則の残りの部分を構成します。
[バックエンド ターゲット] タブで、 [バックエンド ターゲット] の [myBackendPool] を選択します。
[バックエンド設定] で、[新規追加] を選択して新しいバックエンド設定を追加します。 バックエンド設定によって、ルーティング規則の動作が決まります。 開いた [バックエンド設定の追加] ウィンドウで、[バックエンド設定名] には「myBackendSetting」、[バックエンド ポート] には「80」と入力します。 [バックエンド設定の追加] ウィンドウで他の設定の既定値をそのまま使用し、[追加] を選択して [ルーティング規則の追加] ウィンドウに戻ります。
[ルーティング規則の追加] ウィンドウで [追加] を選択してルーティング規則を保存し、 [構成] タブに戻ります。
タグ、次へ:確認と作成 をクリックします。
[確認と作成] タブ
[確認と作成 ] タブの設定を確認し、 [作成] を選択して、仮想ネットワーク、パブリック IP アドレス、およびアプリケーションゲートウェイを作成します。 Azure によるアプリケーション ゲートウェイの作成には数分かかる場合があります。 次のセクションに進む前に、デプロイが正常に完了するまで待機します。
DDoS 保護を有効にする
Azure DDoS ネットワーク保護は、保護するリソースが存在する仮想ネットワークで有効化されます。
ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[myVNet] を選択します。
[設定] で、[DDoS 保護] を選択します。
[有効化] を選択します。
DDoS 保護プランのプルダウン ボックスで、[myDDoSProtectionPlan] を選択します。
[保存] を選択します。
バックエンド ターゲットの追加
この例では、ターゲットのバックエンドとして仮想マシンを使用します。 既存の仮想マシンを使用することも、新しい仮想マシンを作成することもできます。 アプリケーション ゲートウェイのバックエンド サーバーとして 2 つの仮想マシンを作成します。
これを行うには、次を実行します。
- バックエンド サーバーとして使用される 2 つの新しい VM (myVM と myVM2) を作成します。
- IIS を仮想マシンにインストールして、アプリケーション ゲートウェイが正常に作成されたことを確認します。
- バックエンド サーバーをバックエンド プールに追加します。
仮想マシンの作成
Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。 [新規作成] ウィンドウが表示されます。
[人気順] の一覧で [Windows Server 2016 Datacenter] を選択します。 [仮想マシンの作成] ページが表示されます。
Application Gateway は、バックエンド プールで使用されているあらゆる種類の仮想マシンにトラフィックをルートできます。 この例では、Windows Server 2016 Datacenter 仮想マシンを使用します。[基本] タブで、次の仮想マシンの設定に以下の値を入力します。
- [リソース グループ] :リソース グループ名には、myResourceGroupAG を選択します。
- [仮想マシン名] : 仮想マシンの名前として「myVM」と入力します。
- [リージョン] :アプリケーション ゲートウェイを作成したのと同じリージョンを選択します。
- [ユーザー名] : 管理者ユーザーの名前を入力します。
- パスワード:パスワードを入力します。
- [パブリック受信ポート] :なし。
他の既定値をそのまま使用し、 [Next: ディスク] を選択します。
[ディスク] タブの既定値をそのまま使用し、 [Next: Networking](次へ : ネットワーク) を選択します。
[ネットワーク] タブで、 [仮想ネットワーク] に myVNet が選択されていること、および [サブネット] が myBackendSubnet に設定されていることを確認します。 他の既定値をそのまま使用し、 [Next: 管理] を選択します。
Application Gateway は、それが存在している仮想ネットワークの外部にあるインスタンスと通信できますが、IP 接続があることを確認する必要があります。[管理] タブで、 [ブート診断] を [Disable](無効) に設定します。 他の既定値をそのまま使用し、 [確認および作成] を選択します。
[確認および作成] タブで、設定を確認し、検証エラーを修正してから、 [作成] を選択します。
仮想マシンの作成が完了するのを待って先に進みます。
テスト用の IIS のインストール
この例では、Azure がアプリケーション ゲートウェイを正常に作成したことを確認するために、仮想マシンに IIS をインストールします。
Azure PowerShell を開きます。
Azure portal の上部のナビゲーション バーで [Cloud Shell] を選択して、ドロップダウン リストで [PowerShell] を選択します。
次のコマンドを実行して、IIS を仮想マシンにインストールします。 必要に応じて、Location パラメーターを変更します。
Set-AzVMExtension ` -ResourceGroupName myResourceGroupAG ` -ExtensionName IIS ` -VMName myVM ` -Publisher Microsoft.Compute ` -ExtensionType CustomScriptExtension ` -TypeHandlerVersion 1.4 ` -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' ` -Location EastUS
2 番目の仮想マシンを作成し、お客様が先ほど完了した手順を使用して IIS をインストールします。 仮想マシンの名前と、Set-AzVMExtension コマンドレットの VMName 設定には、myVM2 を使用します。
バックエンド プールヘのバックエンド サーバーの追加
Azure portal メニューで [すべてのリソース] を選択するか、または [すべてのリソース] を検索して選択します。 次に、 [myAppGateway] を選択します。
左側のメニューで [バックエンド プール] を選択します。
[myBackendPool] を選択します。
[バックエンド ターゲット] 、 [ターゲットの種類] の下のドロップダウン リストで [仮想マシン] を選択します。
[ターゲット] の下で、myVM と myVM2 の仮想マシンを選択し、ドロップダウン リストからそれらに関連付けられているネットワーク インターフェイスを選択します。
[保存] を選択します。
デプロイが完了するまで待ってから次の手順に進んでください。
アプリケーション ゲートウェイのテスト
IIS はアプリケーション ゲートウェイを作成するのに必要ではありませんが、このクイックスタートでは、Azure によってアプリケーション ゲートウェイが正常に作成されたかどうかを確認するためにインストールしました。
IIS を使用してアプリケーション ゲートウェイをテストします。
[概要] ページで、アプリケーション ゲートウェイのパブリック IP アドレスを見つけます。 または、[すべてのリソース] を選択し、検索ボックスに「myAGPublicIPAddress」と入力してから、検索結果でそれを選択できます。 Azure によって、 [概要] ページにパブリック IP アドレスが表示されます。
パブリック IP アドレスをコピーし、お使いのブラウザーのアドレス バーに貼り付けて、その IP アドレスを開きます。
応答を確認します。 有効な応答によって、アプリケーション ゲートウェイが正常に作成されたことが確認され、それによりバックエンドに正常に接続できます。
ブラウザーを何度か更新すると、myVM と myVM2 の両方への接続が表示されます。
リソースをクリーンアップする
アプリケーション ゲートウェイと共に作成したリソースが不要になったら、リソース グループを削除します。 リソース グループを削除する際は、アプリケーション ゲートウェイと関連するすべてのリソースも削除します。
リソース グループを削除するには:
- Azure portal メニューで [リソース グループ] を選択するか、または [リソース グループ] を検索して選択します。
- [リソース グループ] ページで、リストの myResourceGroupAG を探して選択します。
- [リソース グループ] ページで、 [リソース グループの削除] を選択します。
- [TYPE THE RESOURCE GROUP NAME](リソース グループ名を入力してください) に「myResourceGroupAG」と入力し、 [削除] を選択します。
次のステップ
次の記事に進み、以下の方法を学習してください。