適用対象: ✔️ Front Door Standard ✔️ Front Door Premium
このクイックスタートでは、Azure PowerShell を使用して Azure Front Door プロファイルを作成する方法を説明します。 配信元として 2 つの Web アプリを使用し、Azure Front Door エンドポイントのホスト名を使用して接続を検証します。
注
Web ワークロードの場合は、新たな DDoS 攻撃から保護するために Azure DDoS 保護と Web アプリケーション ファイアウォールを利用することを強くお勧めします。 もう 1 つのオプションは、Web アプリケーション ファイアウォールと共に Azure Front Door を使用することです。 Azure Front Door は、ネットワーク レベルの DDoS 攻撃に対するプラットフォーム レベルの保護を提供します。 詳細については、Azure サービスのセキュリティ ベースラインに関するページを参照してください。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- ローカルにインストールされた Azure PowerShell または Azure Cloud Shell。
注
Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
Azure Cloud Shell
Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。
Azure Cloud Shell を開始するには、以下のようにします。
オプション | 例とリンク |
---|---|
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 |
![]() |
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 |
![]() |
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 |
![]() |
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を開始します。
コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。
Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。
Enter キーを選択して、コードまたはコマンドを実行します。
リソース グループを作成する
New-AzResourceGroup を使用して、次のようにリソース グループを作成します。
New-AzResourceGroup -Name myRGFD -Location centralus
2 つの Web アプリ インスタンスを作成する
New-AzWebApp を使用して、異なる Azure リージョンに 2 つの Web アプリ インスタンスを作成します。
# Create first web app in Central US region.
$webapp1 = New-AzWebApp `
-Name "WebAppContoso-01" `
-Location centralus `
-ResourceGroupName myRGFD `
-AppServicePlan myAppServicePlanCentralUS
# Create second web app in East US region.
$webapp2 = New-AzWebApp `
-Name "WebAppContoso-02" `
-Location EastUS `
-ResourceGroupName myRGFD `
-AppServicePlan myAppServicePlanEastUS
Azure Front Door を作成する
Azure Front Door プロファイルを作成する
New-AzFrontDoorCdnProfile を実行して、Azure Front Door プロファイルを作成します。
$fdprofile = New-AzFrontDoorCdnProfile `
-ResourceGroupName myRGFD `
-Name contosoAFD `
-SkuName Premium_AzureFrontDoor `
-Location Global
エンドポイントの追加
New-AzFrontDoorCdnEndpoint を実行して、プロファイルにエンドポイントを作成します。
$FDendpoint = New-AzFrontDoorCdnEndpoint `
-EndpointName contosofrontend `
-ProfileName contosoAFD `
-ResourceGroupName myRGFD `
-Location Global
配信元グループを作成する
正常性プローブと負荷分散設定を作成し、New-AzFrontDoorCdnOriginGroup を使用して配信元グループを作成します。
# Create health probe settings
$HealthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
-ProbeIntervalInSecond 60 `
-ProbePath "/" `
-ProbeRequestType GET `
-ProbeProtocol Http
# Create load balancing settings
$LoadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
-AdditionalLatencyInMillisecond 50 `
-SampleSize 4 `
-SuccessfulSamplesRequired 3
# Create origin group
$originpool = New-AzFrontDoorCdnOriginGroup `
-OriginGroupName og `
-ProfileName contosoAFD `
-ResourceGroupName myRGFD `
-HealthProbeSetting $HealthProbeSetting `
-LoadBalancingSetting $LoadBalancingSetting
配信元をグループに追加する
New-AzFrontDoorCdnOrigin を使用して、Web アプリの配信元をその配信元グループに追加します。
# Add first web app origin to origin group.
$origin1 = New-AzFrontDoorCdnOrigin `
-OriginGroupName og `
-OriginName contoso1 `
-ProfileName contosoAFD `
-ResourceGroupName myRGFD `
-HostName webappcontoso-01.azurewebsites.net `
-OriginHostHeader webappcontoso-01.azurewebsites.net `
-HttpPort 80 `
-HttpsPort 443 `
-Priority 1 `
-Weight 1000
# Add second web app origin to origin group.
$origin2 = New-AzFrontDoorCdnOrigin `
-OriginGroupName og `
-OriginName contoso2 `
-ProfileName contosoAFD `
-ResourceGroupName myRGFD `
-HostName webappcontoso-02.azurewebsites.net `
-OriginHostHeader webappcontoso-02.azurewebsites.net `
-HttpPort 80 `
-HttpsPort 443 `
-Priority 1 `
-Weight 1000
ルートを追加する
New-AzFrontDoorCdnRoute を使用して、エンドポイントを配信元グループにマップします。
$Route = New-AzFrontDoorCdnRoute `
-EndpointName contosofrontend `
-Name defaultroute `
-ProfileName contosoAFD `
-ResourceGroupName myRGFD `
-ForwardingProtocol MatchRequest `
-HttpsRedirect Enabled `
-LinkToDefaultDomain Enabled `
-OriginGroupId $originpool.Id `
-SupportedProtocol Http,Https
Azure Front Door をテストする
Azure Front Door プロファイルの作成後、グローバルに構成が展開されるまでに数分かかります。 完了したら、作成したフロントエンド ホストにアクセスします。
Get-AzFrontDoorCdnEndpoint を実行して、Azure Front Door エンドポイントのホスト名を取得します。
$fd = Get-AzFrontDoorCdnEndpoint `
-EndpointName contosofrontend `
-ProfileName contosoafd `
-ResourceGroupName myRGFD
$fd.hostname
ブラウザーで、次のエンドポイントのホスト名 (contosofrontend-<hash>.z01.azurefd.net
) にアクセスします。 要求は、配信元グループ内の最も待機時間が短い Web アプリに自動的にルーティングされます。
インスタントのグローバル フェールオーバーをテストするには:
ブラウザーを開き、次のエンドポイント ホスト名にアクセスします:
contosofrontend-<hash>.z01.azurefd.net
。Stop-AzWebApp を実行して、Web アプリの 1 つを停止します。
Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
ブラウザーを更新します。 同じ情報ページが表示されるはずです。
他の Web アプリを停止します。
Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"
ブラウザーを更新します。 今回はエラー メッセージが表示されます。
Start-AzWebApp を実行して、Web アプリの 1 つを再起動します。 ブラウザーを更新すると、ページは通常の状態に戻ります。
Start-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
リソースをクリーンアップする
Azure Front Door で作成したリソースが不要になった場合は、そのリソース グループを削除します。 この操作により、Azure Front Door とそれに関連するすべてのリソースが削除されます。 Remove-AzResourceGroup を実行します。
Remove-AzResourceGroup -Name myRGFD
次のステップ
Azure Front Door にカスタム ドメインを追加する方法を学習するには、Azure Front Door のチュートリアルに進んでください。