前提条件
Glasswall Halo のデプロイを開始する前に、以下のツールとリソースがインストールおよび設定されていることを確認してください。
システム要件
以下のガイドは、Linux shell 上で実行することを前提として作成されています。別の shell で実行する場合は、一部のコマンドを実行できるように変更する必要がある場合があります。
Windows で実行する場合は、Windows subsystem for Linux を使用していることを確認してください。
必要なツール
必要な Azure リソース
1. AKS インスタンス
-
合計で少なくとも 8 vCPU と 32 GB RAM を推奨します。
-
最小ノードサイズは 4 vCPU と 16 GB RAM です。
-
本番ワークロードでは、最低 2 ノードを推奨します。
-
以下の手順では、AKS クラスターを aksname と表記します。
注: Glasswall Halo は arm64 ノード VM をサポートしていません。
AKS クラスターの作成方法については、以下を参照してください。
2. Key Vault
-
Glasswall Halo のシークレットは Azure Key Vault を使用して管理されます。これらのシークレットは、External secrets を介して AKS クラスターに同期されます。
-
以下の手順では、Key Vault を kvname と表記します。
Azure Key Vault の作成に関するガイダンスについては、以下を参照してください:
3. ストレージ アカウント
-
ストレージ アカウントは、プラットフォームによって処理された各ファイルのレポートを保存するために使用されます。ストレージ アカウントの SKU はパフォーマンスに影響しませんが、少なくとも GRS 構成を推奨します。
-
追加のストレージ アカウントは、クラスターの永続ボリュームを支える Azure file share として使用されます。これは AKS クラスターのリソース グループに自動的に追加されます。
-
以下の手順では、CDR レポートを収集するストレージ アカウントを次のように呼びます: saname
ファイル共有:
-
1 x 10 TB のプロビジョニング済み容量(1100.0 MiB/s のスループット)
- Glasswall Halo の一時ファイル ストアおよび Glasswall Halo RabbitMQ に使用されます
4. データベース
オプション 1 - MongoDB データベース
MongoDB は、Glasswall Halo のコンテンツ管理 policy と、非同期ファイル処理に必要なデータを保存するために使用できます。MongoDB は cdrplatform-policy-API、cdrplatform-async-API、cdrplatform-metrics-projection、cdrplatform-tally-accumulator サービスで使用されます。
-
MongoDB API 互換性を備えた CosmosDB をデプロイします。
-
Glasswall Halo を通過すると想定されるデータ量に応じて、インスタンスが適切なthroughput allocationで設定されていることを確認してください。
注: 別の方法として、MongoDB はクラスター内に直接デプロイすることもできます。Step 8 にあるように、MongoDB Helm charts を使用してデプロイ可能です。
オプション 2 - CosmosDB データベース
別の方法として、CosmosDB を使用して Glasswall Halo のコンテンツ管理 policy、非同期ファイル処理用のデータ、およびメトリクスを保存できます。
-
Azure に CosmosDB インスタンスをデプロイします。
- Glasswall Halo を通過すると想定されるデータ量に応じて、インスタンスが適切な スループット割り当て で設定されていることを確認してください。
5. アプリ登録
SSO 認証を使用するには、Glasswall Halo の Portal 用にドメイン名を設定する必要があります。
Azure AD を使用した SSO 認証を有効にする必要がある場合は、Azure app registrations が必要です。
作成する必要がある app registrations は 3 つあります:
-
cdrplatform-API-access
-
cdrplatform-portal-access
-
cdrplatform-portal-client
添付の shell script は、これら 3 つの app registrations の作成に役立ちます。shell script の引数として、portal に使用したいドメイン名を入力してください。たとえば、ドメイン名として halo.glasswall.com を使用し、次のように script を実行します:
bash create-azure-app-registrations.sh halo.glasswall.com
Glasswall Artifact Registry へのアクセス
-
Glasswall's Artifact Registry にアクセスするための token と token ID が提供されます。
-
これにより、AKS クラスターからコンテナー イメージと Helm チャートを直接プルできます。
-
以下の手順では、token と token ID をそれぞれ次のように表記します: token および token_id.
変数の割り当て
開始前に割り当てる変数
上記のRequired Toolsで説明した変数は、Glasswall Halo のインストールを開始する前に割り当てる必要があります。**"..." **はご自身の値に置き換えてください。
-
Azure リソース グループ名: rgp="..."
-
Azure Kubernetes service 名: aksname="..."
-
Azure Key Vault 名: kvname="..."
-
Azure ストレージ アカウント名: saname="..."
-
Azure コンテナー レジストリ token ID: token_id="..."
-
Azure コンテナー レジストリ token: token="..."
**注: 上記の手順では、各リソースが rgp と呼ばれる同じリソース グループ内にあることを前提としています。 **
手順中に割り当てられる変数
以下の変数は、リソースの作成に伴い、インストール プロセス中に割り当てる必要があります。
-
Azure ストレージ アカウント接続文字列: saconnstring ="..."
-
objectid を使用したマネージド ID の key vault への get および list 権限アクセス: objectid ="..."
-
Helm install 用の client ID を使用した key vault へのマネージド ID アクセス: miclientid ="..."
注: Step 3 で説明したとおり、正しいデータベース provider が設定され、関連するシークレットが Key Vault にあることを確認してください。
| 変数 | provider |
|---|---|
Mongo | MongoDB |
Cosmos | CosmosDB |