次の方法で共有


Azure App Service マネージド インスタンスをデプロイする (プレビュー)

Azure App Service 上の Managed Instance は、サービスとしてのプラットフォームのシンプルさと、インフラストラクチャ レベルの制御の柔軟性を組み合わせたものです。 マネージド インスタンスは、プランレベルの分離、カスタマイズ、セキュリティで保護されたネットワーク統合を必要とするアプリケーション向けに設計されています。

Important

マネージド インスタンスはプレビュー段階です。使用できるのは一部のリージョンの Windows Web アプリであり、Pv4 と Pmv4 の価格プランに限定されています。 今後、さらにリージョンが追加される予定です。 Linux とコンテナーはサポートされていません。

このクイックスタートでは、次の手順を実行します。

  1. Azure Developer CLI を使用してサンプル リソースをデプロイします。
  2. Azure App Service マネージド インスタンス (プレビュー) を作成します。
  3. サンプル アプリをデプロイします。
  4. デプロイを検証する。

[前提条件]

サンプル リソースをデプロイする

このクイックスタートでは、Azure Developer CLI (AZD) を使用して、必要なすべてのリソースを簡単にデプロイできます。 このクイックスタートで使用される AZD テンプレートは、Azure サンプルのものです。 Azure Cloud Shell で次のコマンドを実行し、プロンプトに従うだけです。

mkdir managed-instance-quickstart
cd managed-instance-quickstart
azd init --template https://github.com/Azure-Samples/managed-instance-azure-app-service-quickstart.git
azd env set AZURE_LOCATION northeurope
azd up

azd up コマンドは、次の処理を実行します。

  1. ユーザー割り当てマネージド ID を作成します。
  2. Azure Storage BLOB を作成します。
  3. マネージド ID をストレージ コンテナーとマネージド インスタンス プランに割り当てます。
  4. ストレージ コンテナーに対する Storage-Blob-Data-Contributor アクセス権を付与します。
  5. 含まれているフォントと Install.ps1 を scripts.zip に圧縮します。
  6. scripts.zip をストレージ コンテナーにアップロードします。

サンプル リソースと共にデプロイされた構成スクリプト パッケージ (scripts.zip) には、Microsoft Aptos フォント ファイルを C:\Windows\Fonts にコピーする Install.ps1 が含まれています。 後でデプロイするこのサンプル アプリでは、これらのフォントを使用してテキストを画像にレンダリングします。 このプロセスは、アプリ コードの実行前に、マネージド インスタンス構成 (インストール) スクリプトを使用して OS レベルまたはフレームワークの依存関係をどのように構成できるかを示しています。

次の PowerShell コードは、テンプレートで使用されている構成 (インストール) スクリプトです。

# Install.ps1 - Copy and register fonts on Managed Instance
Write-Host "Installing custom fonts on Managed Instance..." -ForegroundColor Green

# Copy all TTF and OTF fonts to Windows Fonts folder and register them
Get-ChildItem -Recurse -Include *.ttf, *.otf | ForEach-Object {
    $FontFullName = $_.FullName
    $FontName = $_.BaseName + " (TrueType)"
    $Destination = "$env:windir\Fonts\$($_.Name)"

    Write-Host "Installing font: $($_.Name)"
    Copy-Item $FontFullName -Destination $Destination -Force
    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" -Name $FontName -PropertyType String -Value $_.Name -Force | Out-Null
}

Write-Host "Font installation completed." -ForegroundColor Green

azd up の最終的な出力は次の例のようになります。

=== Deployment Complete ===
Storage Account: stgpjqep6fdlfv6
Container Name: scripts
Managed Identity Client name: id-gpjqep6fdlfv6
Resource Group: rg-managed-instance

Storage AccountContainer NameManaged Identity Client nameResource GroupScript URI の値は後で使用されます。

マネージド インスタンス プランをデプロイする

次の手順に従ってマネージド インスタンス プランを作成し、そこにアプリをデプロイします。

  1. Azure portal にサインインします。
  2. [+ リソースの作成] を選択します。
  3. マネージド インスタンスを検索します
  4. 結果から [Web アプリ (マネージド インスタンス用) (プレビュー)] を選択します。
  5. [作成] を選択して作成プロセスを始めます。
  6. [基本] タブで、以下の詳細を指定します。

プロジェクトの詳細

Setting 価値
Subscription お使いの Azure サブスクリプション
リソース グループ rg-managed-instance

アプリの詳細

Setting 価値
名前 contoso-mi-app
ランタイム スタック (実行時スタック) ASPNET V4.8
リージョン 近くの地域

価格プラン

Setting 価値
Windows プラン 既定のプランを使用するか、新しく作成します (たとえば、'contoso-mi-plan')
価格プラン* 料金プランを選択します。 "価格プラン" に Pv4 または Pmv4 が表示されない場合は、リージョンの使用可否を確認するか、クォータの追加を依頼してください。

[詳細設定] タブで、以下の詳細を指定します。

構成 (インストール) スクリプト

Setting 価値
ストレージ アカウント 既定のプランを使用するか、新しく作成します (たとえば、'contoso-mi-plan')
コンテナ scripts
ZIP ファイル scripts.zip
価値 .zip の URL が正しいことを確認する
アイデンティティ 先ほど作成したマネージド ID を選択します
  1. [確認と作成][作成] の順に選択します。

サンプル アプリをマネージド インスタンスにデプロイする

この手順では、Cloud Shell を使用して、AZD テンプレートに含まれていたサンプル アプリをマネージド インスタンスにデプロイします。

  • 次のコマンドでは、Web アプリをマネージド インスタンス プランにデプロイします。 <app-name><resource-group> は実際の値を使用して更新します。
az webapp deploy \
  --resource-group "<resource-group-name>" \
  --name "<app-name>" \
  --src-path app.zip \
  --type zip

アプリの参照

作成したアプリを参照するには、[概要] ページで既定のドメインを選択します。

.NET アプリは、マネージド インスタンス プランで実行されています。 このアプリは C:\Windows\Fonts ディレクトリのフォントを使用しています。

C:\Windows\Fonts\Aptos.TTF を使用しているサンプル アプリを示すスクリーンショット。

マネージド インスタンス プランを管理する

Web アプリを管理するには、Azure portal に移動し、 [App Services] を検索して選択します。

[App Services] ページで、Web アプリの名前を選択します。

[概要] ページで、App Service プランの名前を選択します。 [現在の App Service プラン] でプラン名を選択します。

左側のメニューの [設定] にある [構成] を選択して、構成の詳細を表示します。

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

前の手順では、リソース グループ内に Azure リソースを作成しました。 これらのリソースが将来必要になると思わない場合は、リソース グループを削除してリソースを削除できます。

  1. Azure Portal の Web アプリの [概要] ページで、[リソース グループ] の下の myResourceGroup リンクを選択します。
  2. リソース グループ ページで、リストされたリソースが削除対象であることを確認します。
  3. [リソース グループの削除] を選び、テキスト ボックスに「myResourceGroup」と入力して、[削除] を選びます。
  4. [削除] を選んでもう一度確認します。