App Service アプリを SQL Database に接続する
このシナリオでは、Azure SQL Database のデータベースと App Service アプリの作成方法について説明します。 作成後、アプリの設定を使用してデータベースをアプリにリンクします。
必要に応じて、Azure PowerShell ガイドの手順に従って Azure PowerShell をインストールし、Connect-AzAccount
を実行して、Azure との接続を作成します。
サンプル スクリプト
注意
Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を開始するには、「Azure PowerShell のインストール」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
# Generates a Random Value
$Random=(New-Guid).ToString().Substring(0,8)
# Variables
$ResourceGroup="MyResourceGroup$Random"
$AppName="webappwithSQL$Random"
$Location="West US"
$ServerName="webappwithsql$Random"
$StartIP="0.0.0.0"
$EndIP="0.0.0.0"
$Username="ServerAdmin"
$Password="<provide-a-password>"
$SqlServerPassword=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Username,(ConvertTo-SecureString -String $Password -AsPlainText -Force)
# Create a Resource Group
New-AzResourceGroup -Name $ResourceGroup -Location $Location
# Create an App Service Plan
New-AzAppservicePlan -Name WebAppwithSQLPlan -ResourceGroupName $ResourceGroup -Location $Location -Tier Basic
# Create a Web App in the App Service Plan
New-AzWebApp -Name $AppName -ResourceGroupName $ResourceGroup -Location $Location -AppServicePlan WebAppwithSQLPlan
# Create a SQL Database Server
New-AzSQLServer -ServerName $ServerName -Location $Location -SqlAdministratorCredentials $SqlServerPassword -ResourceGroupName $ResourceGroup
# Create Firewall Rule for SQL Database Server
New-AzSqlServerFirewallRule -FirewallRuleName "AllowYourIp" -StartIpAddress $StartIP -EndIPAddress $EndIP -ServerName $ServerName -ResourceGroupName $ResourceGroup
# Create SQL Database in SQL Database Server
New-AzSQLDatabase -ServerName $ServerName -DatabaseName MySampleDatabase -ResourceGroupName $ResourceGroup
# Assign Connection String to Connection String
Set-AzWebApp -ConnectionStrings @{ MyConnectionString = @{ Type="SQLAzure"; Value ="Server=tcp:$ServerName.database.windows.net;Database=MySampleDatabase;User ID=$Username@$ServerName;Password=$password;Trusted_Connection=False;Encrypt=True;" } } -Name $AppName -ResourceGroupName $ResourceGroup
デプロイのクリーンアップ
サンプル スクリプトの実行後、次のコマンドを使用すると、リソース グループ、App Service アプリ、すべての関連リソースなどが削除できます。
Remove-AzResourceGroup -Name myResourceGroup -Force
スクリプトの説明
このスクリプトでは、次のコマンドを使用します。 表内の各コマンドは、それぞれのドキュメントにリンクされています。
コマンド | メモ |
---|---|
New-AzResourceGroup | すべてのリソースを格納するリソース グループを作成します。 |
New-AzAppServicePlan | App Service プランを作成します。 |
New-AzWebApp | App Service アプリを作成します。 |
New-AzSQLServer | サーバーを作成します。 |
New-AzSqlServerFirewallRule | サーバーレベルのファイアウォール規則を作成します。 |
New-AzSQLDatabase | データベースまたはエラスティック データベースを作成します。 |
Set-AzWebApp | App Service アプリの構成を変更します。 |
次のステップ
Azure PowerShell モジュールの詳細については、Azure PowerShell のドキュメントを参照してください。
その他の Azure App Service 用 Azure PowerShell サンプル スクリプトは、Azure PowerShell サンプルのページにあります。