高可用性 (HA) は、障害が発生してVirtual Applianceがトラフィックを検査できなくなった後にネットワークサービスの中断を防ぎます。
Azure Marketplaceを通じてフェイルオープンHAを構成するには、まず適切な権限とロールを手動で構成し、その後Azure Function Applicationを構成する必要があります。
Azure は、ロールベースのアクセス制御/アイデンティティアクセス管理 (RBAC/IAM) を使用して、Azure サービスおよびリソースにアクセスするユーザおよびグループを認可します。HA
機能に必要な RBAC/IAM には、展開用の権限セットと Operations 用の権限セットの 2 つの権限セットが含まれます。
HA展開の権限
運用HAの権限を構成する前に、まずHA展開のための正しい権限とRoleを構成する必要があります。Azureサービスまたはリソースに割り当てる各Roleは、次の3つの要素で構成されます:
- [Security principal] – Azureリソースへのアクセスを要求するユーザ、Group、サービスプリンシパル、またはマネージドID
- [Role] または [role definition] – セキュリティプリンシパルが実行できる読み取りや書き込みなどの権限を示します。権限の設定が不要なRoleにはContributorRoleを使用してください。
- [Scope] – アクセスが許可されるリソースのセットです。スコープのレベルは、管理グループ、サブスクリプション、Resource Group、およびリソースです。使用するスコープレベルに役割を割り当てます。
RBACとAzure rolesについて詳しく学ぶ。
HA展開のための役割と権限を設定するには、以下の表のガイドラインを使用してください。
コンポーネント / アクション
|
セキュリティプリンシパル
|
役割
|
範囲
|
必須
|
アプリを登録
|
ユーザ
|
アプリケーション開発者
|
Azure Active Directory サブスクリプション
|
|
ロールを追加してアプリに割り当て
|
ユーザ
|
ユーザアクセス管理者
|
Function AppのResource Group
|
|
マネージドID
|
ユーザ
|
寄稿者
|
Function AppのResource Group
|
|
IdentityにRoleを割り当てる
|
ユーザ
|
寄稿者
|
Function AppのResource Group
|
|
ストレージアカウント
|
ユーザ
|
寄稿者
|
Function AppのResource Group
|
|
アプリサービスプラン
|
ユーザ
|
寄稿者
|
Function AppのResource Group
|
|
関数アプリ
|
ユーザ
|
寄稿者
|
Function AppのResource Group
|
|
アプリのインサイト
|
ユーザ
|
寄稿者
|
Function AppのResource Group
|
HA運用権限
次の手順を手動で完了して、権限と役割を構成してください:
手順
次に進む前に
アプリケーション登録ステップと新しいシークレット作成ステップは、HA機能が日常業務を実行することを承認します。
ステップ1. サービスプリンシパルの新しいアプリケーションを登録する
手順
- Microsoft Azureポータルから、Searchフィールドに
Azure Active Directory
と入力してAzure Active Directoryに移動します。 - Azure Active Directoryで、左のナビゲーションバーから[App Registrations]をクリックします。
- App Registrationsページで、[New Registrations]タブをクリックします。
- Nameフィールドにアプリケーションの名前を入力してください。これはいつでも変更できます。
- [Register]をクリックします。これで、アプリケーションがApp Registrationsページに表示されます。
ステップ2. 新しいシークレットを作成
手順
- Microsoft Azureポータルから、Searchフィールドに
Azure Active Directory
と入力してAzure Active Directoryに移動します。 - 左側のナビゲーションバーから[App Registrations]をクリックします。
- アプリケーションのリストから、お使いのアプリケーションをクリックしてください。
- 左側のナビゲーションバーから[Certificates & secrets]をクリックします。
- [New client secret]をクリックしてください。
- Add a client secretポップアップで、シークレットの説明 (例:
MySecret
) を追加し、環境に最適な有効期限を選択して、[追加]をクリックします。 - Client secretsパネルの下で、生成したシークレットを確認できます。シークレットの右側にあるコピーアイコンをクリックして、クリップボードにコピーし、貼り付けることができます。
ステップ3. 新しいカスタムロールを作成
手順
- Microsoft Azureポータルから、Searchフィールドに
Resource groups
と入力してResource groupsページに移動します。 - Filter by nameフィールドにResource Groupの名前を入力し、そのGroupを選択します。
- [Access Control (IAM)]をクリックしてください。
- をクリックします。
- Create a Custom Roleページで、Basicsタブの下にRoleの名前と任意の説明を入力します。
- Permissionsタブで、[Add Permissions]をクリックして、Scale Set展開のための次の権限を追加します。Gateway Load BalancerなしのScale Set展開の場合:
-
アプライアンスResource Groupの場合、次の操作権限を検索してください:
Microsoft.Network/loadBalancers/read
Microsoft.Insights/Metrics/Read
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/restart/action
-
接続されたVNet Resource Groupには、次の操作権限を追加してください:
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/write
Microsoft.Network/routeTables/read
Microsoft.Network/routeTables/write
Microsoft.Network/routeTables/routes/write
Microsoft.Network/routeTables/join/action
Gateway Load Balancer 展開の場合:-
アプライアンスResource Groupの場合、次の操作権限を検索してください:
Microsoft.Network/loadBalancers/read
Microsoft.Insights/Metrics/Read
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/restart/action
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action
接続されたパブリックロードバランサーGroupには、次の操作権限を追加してください:Microsoft.Network/loadBalancers/read
Microsoft.Network/loadBalancers/write
Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action
Microsoft.Network/publicIPAddresses/join/action
-
- [Next]をクリックします。Assignable scopesタブの下で、[Add assignable scopes]をクリックします。
- Add assignable scopesページから、割り当て可能なスコープとして追加したいResource Groupsを検索してクリックします。[追加]をクリックします。
- [Next]をクリックします。Review + createタブの下で、[Create]をクリックします。
ステップ4. 新しいアプリケーションアカウントにカスタムロールを割り当てる
手順
- **Resource Groups** ページから、リソースグループ名を選択し、[Access Control (IAM)]をクリックします。
- Rolesタブで、Nameフィールドに名前を入力し、Typeフィールドから[CustomRole]を選択します。
- 各Resource Groupについて、[Access Control (IAM)]をクリックし、[追加]をクリックしてから、[Add role assignment]を選択します。
- ステップ1で作成したRole名とAPP名を選択してください。
Assign access to
フィールドでユーザ、Group、またはサービスプリンシパルを選択し、[保存] をクリックします。
ステップ5. 新しいアプリケーションアカウントに監視Roleを割り当てる
手順
- [Resource Groups]ページから、Resource Group名を選択し、[Access Control (IAM)]をクリックします。
- 各Resource Groupについて、[Access Control (IAM)]をクリックし、[追加]をクリックしてから、[Add role assignment]を選択します。
Monitoring Metric Publisher
Roleとステップ1で作成したAPP名を選択します。Assign access to
フィールドでユーザ、Group、またはサービスプリンシパルを選択し、[保存] をクリックします。
ステップ6. マネージドIDを作成
手順
- Microsoft Azureポータルから、Searchフィールドに
Managed Identities
と入力してAzure Active Directoryに移動します。 - [追加]をクリックしてください。
- 既存のResource Groupを選択するか、 の下の[Create new]をクリックしてください。
- Nameフィールドに名前を指定し、[Create]をクリックしてください。
ステップ7. 新しいIDにRoleを割り当てる
手順
- Microsoft Azureポータルから、Searchフィールドに
Resource groups
と入力してResource groupsページに移動します。 - デプロイするFunction AppのResource Groupを選択してください。
- [Access Control (IAM)]をクリックしてください。
- をクリックします。
- ドロップダウンメニューから[Contributor]を選択し、Roleを適用する管理対象のIDを選択します。
- [保存]をクリックしてください。
Azure MarketplaceからHAを起動
![]() |
注意2023年9月5日以前にHA機能を起動した場合、以前にデプロイした機能を削除し、新しいHA機能を再起動してPythonランタイムをバージョン3.10に更新することをお勧めします。以下の手順を使用してこの更新を行ってください:
|
Azure MarketplaceでPythonランタイムを3.10に手動で更新するには:
手順
- Microsoft Azureポータルから、Searchフィールドに
Resource groups
と入力してResource groupsページに移動します。 - デプロイするFunction AppのResource Groupを選択してください。
- この機能のリソース一覧から、以下のリソースタイプを削除してください:
- Application Insights
- App Service プラン
- 関数アプリ
- 最新のPythonランタイムバージョンを含む新しいHA機能を起動するには、以下の手順に従ってください。
HAを起動
HA構成を完了するには、以下の手順を使用して、すべてのコンパイルされたパラメーターを含むARMテンプレートをデプロイし、このテンプレートをAzure UIコンポーネントと組み合わせて製品として起動します。
手順
- Microsoft Azure Marketplaceでアカウントを開いてください。
- [Trend Micro Cloud One – Network Security]を検索。
- プランを選択の横で[Network Security High Availability]を選択し、[Create]をクリックします。
- [Basics] タブの下:
- デプロイするFunction Appのリソースグループを選択してください (新しいマネージドIDにContributorロールを割り当てるで指定したのと同じグループ)。
- インスタンスの詳細の下で、リージョンを選択し、Function Appの名前を指定し、アプリのソースコードのURLを指定する (またはデフォルトを使用する)、そしてマネージドIDの作成で作成したIDを選択します。
- [Hosting and Monitoring] タブの下:
- 既存のストレージアカウントを指定するか、新しいアカウントを作成してください。一般目的アカウントのみがサポートされています。ゾーン冗長レプリケーションはサポートされていません。詳細については、ストレージアカウントの要件を参照してください。
- 既存の従量課金プランを指定するか、新しいプランを作成してください。他に共有できるホスティングプランがデプロイされていない場合に便利です。詳細については、Azure Functionのスケールとホスティングおよび従量課金プランのコスト見積もりを参照してください。
- 既存のApplication Insightsを指定するか、新しいものを作成してください。
- [App parameters] タブの下:
- 新しいアプリケーションを登録するで作成したのと同じアプリケーションを指定してください。代わりに新しいアプリケーションを作成する場合は、権限とロールの設定に関する他の手動手順を再度完了する必要があります。
- ロードバランサーを指定する必要があります。展開にAzure Application Gatewayを使用している場合は、Application Gatewayを指定する必要があります。
注意
Gateway Load Balancerを選択した場合、Application Gatewayやファイアウォールを選択する必要はありません。 - 展開にファイアウォールを使用している場合は、ファイアウォールの種類を指定する必要があります。[Azure Firewall]を選択するか、展開でAzure Firewallではなくサードパーティのファイアウォールを使用している場合は[Third-party firewall]を選択してください。
- [Associate resources] タブの下:
-
Gateway Load BalancerなしのScale Set展開の場合:
-
ルートテーブルのResource idを入力してください。関連するルートテーブルの[Properties]をクリックして、ルートテーブルのResource idを見つけてください。
-
そのルートテーブルに関連付けられているサブネットのResource idを入力してください。関連付けられているサブネットの[Properties]をクリックして、サブネットのResource idを見つけてください。
注意
すべての接続されたサブネット (Application Gatewayおよびファイアウォールサブネットを含む) に対してリソースIDを提供する必要があります。
-
-
Gateway Load Balancer 展開の場合:
- パブリックロードバランサーのResource idを入力してください。
- Gateway Load Balancerに関連付けられているパブリックロードバランサーフロントエンドのResource idを入力してください。パブリックロードバランサーフロントエンドのResource idを見つける手順はこちらにあります。
-
- [確認 + 作成] タブで、設定したすべての情報が正しいことを確認し、[Create]をクリックします。
手動フォールバック
仮想Appliancesをフォールバックモードに手動で設定するには、この設定を有効にします。
AzureでHAを検証中
これらの手順を使用して、AzureでHAが機能していることを確認します。これらの手順は展開中にオプションですが、仮想Appliancesをアップグレードする前にHAが有効で動作していることを確認するために使用する必要があります。
Scale Set Appliances
Azureスケールセットが環境で有効になっている場合、Appliancesを一度に1つずつアップグレードすることが重要です。Azure展開にHAフェイルオーバー機能が含まれているかどうかを確認するには、以下の手順に従ってください。
Resource Group、VM 名および Scale Set を確認してください:
手順
- Network Securityにログインしてください。
- [Appliance] → [All Appliances] → [[Appliance name]] に移動します。
- [一般]タブで、[Appliance]セクションの[バージョン]を確認してください
- 同じページで、[Instance]セクションの[Resource Group, VM Name]を確認してください。
ロードバランサー名を確認してください:
手順
- 管理コンソールでResource Groupsページに移動し、展開中にVM Scale SetまたはGateway Load Balancer付きVM Scale Setが作成されたResource Groupをクリックします。
- [Resources]の下で、[タイプ]の
Virtual Machine Scale Set
を入力して検索結果を絞り込み、Scale Setを見つけます。 - 左側のパネルで[Instances]をクリックします。使用中のインスタンスを選択して、ロードバランサーの名前を見つけます。
- [Scale Set instance]ページで、左側のパネルにある[Networking]をクリックします。
- 上部のタブを使用して、[dataport] > [Load Balancing] に移動し、ロードバランサーの名前を確認してください。
HA機能アプリを確認する:
手順
- 管理コンソールのResource groupsページに移動し、HA検証が必要なResource Groupをクリックします。
- このResource Groupで、
type
を[Function App,]としてHA機能を見つけ、Azure機能をクリックします。 - 左側のパネルのSettingsセクションから[Configuration]をクリックします。
- Application設定で、[LOAD_BALANCER_ID]をクリックします。
- 値を確認してください。値の末尾は
.undefined.Network/loadBalancers/[Load Balancer Name]
である必要があります。[Load Balancer Name]
がアプライアンスのロードバランサー名と同じ場合、HAが有効になっています。