メインコンテンツへスキップ
このページは Azure AKS へのデプロイにのみ適用されます。仮想マシンへのデプロイの場合は、インストール ガイドを参照してください。

概要

このガイドでは、Azure CLI と ARM テンプレートを使用して、ABBYY Vantage に必要な Azure インフラストラクチャを作成する手順を説明します。このインフラストラクチャは、Vantage インストーラー コンテナー内から作成します。

前提条件

開始する前に、次のものが用意されていることを確認してください。
  • リソースの作成および管理が可能な権限を持つ Azure サブスクリプション
  • ローカル マシンにインストールされた Docker
  • コンテナー イメージをダウンロードするためのインターネット アクセス
  • 高可用性構成の場合: VM 上にデプロイされた Redis クラスター(システム要件を参照)
インフラストラクチャの作成には時間がかかるため、作成中にコンテナー イメージのダウンロードを開始できます。

インフラストラクチャ コンポーネント

以下の Azure リソースが作成されます。
Azure Subscription
└── Resource Group
    ├── AKS Cluster
    │   ├── Services Node Pool (Standard_D8as_v5)
    │   └── Workers Node Pool (Standard_D16as_v5)
    ├── Storage Accounts (5)
    │   ├── Skills (Premium/Hot)
    │   ├── Processing (Standard/Hot)
    │   ├── Temporary (Standard/Hot)
    │   ├── Shared Folders (Premium FileStorage)
    │   └── Archive (Standard/Cool)
    ├── Azure SQL Server
    │   └── Elastic Pool Database
    └── Public IP Address

ステップ 1:インストーラー イメージをダウンロードする

まず、Vantage のインストーラー イメージをダウンロードし、コンテナー レジストリにプッシュします。
# Vantage Docker レジストリにログイン
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>

# Pull the installer image
docker pull abyvtgonprm27.azurecr.io/vantage-azure:2.7.1

# Tag for your registry
docker tag abyvtgonprm27.azurecr.io/vantage-azure:2.7.1 \
  registry.yourdomain.tld/vantage/vantage-azure:2.7.1

# Push to your registry
docker push registry.yourdomain.tld/vantage/vantage-azure:2.7.1
購入時に提供された認証情報で <username><password> を置き換えてください。

ステップ 2: インストーラーコンテナを実行する

インストーラーコンテナを起動します。このガイドで以降に実行するすべてのコマンドは、このコンテナ内で実行します。
docker run -it registry.yourdomain.tld/vantage/vantage-azure:2.7.1

ステップ 3: Azure にサインインする

コンテナー内で Azure アカウントにサインインします。
# Azure にログイン(認証用のブラウザが開きます)
az login

# Set the subscription
az account set --subscription <subscription_id>
<subscription_id> をご利用の Azure サブスクリプション ID に置き換えてください。

手順 4: リソース グループの作成

希望する Azure リージョンにリソース グループを作成します。
az group create --location <location> --resource-group <resource_group_name>
例:
az group create --location eastus --resource-group vantage-prod-rg
代表的な Azure リージョン: eastus, eastus2, westus2, westeurope, northeurope

手順 5: AKS クラスターの作成

デプロイをプレビューする

まず、作成されるリソースを確認します。
az deployment group what-if --name aks-cluster \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Cluster.Manual.json \
  --parameters kubernetesClusterName=<cluster_name>
クラスター名は15文字以内でなければなりません。

クラスターを作成する

az deployment group create --name aks-cluster \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Cluster.Manual.json \
  --parameters kubernetesClusterName=<cluster_name> \
  --parameters enableFIPS=false
このコマンドは、高可用性なし 構成で、8時間あたり 50,000 ページを処理可能なクラスターを作成します。その他の構成が必要な場合は、クラスター作成後に Performance Guide を参照し、ノードプール設定を変更してください。
FIPS に準拠したデプロイの場合は、enableFIPS=true を設定します。追加の設定については、FIPS Compliance を参照してください。

ステップ 6: ストレージ アカウントの作成

デプロイのプレビュー

az deployment group what-if --name storage \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/StorageAccounts.Template.json

ストレージ アカウントの作成

az deployment group create --name storage \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/StorageAccounts.Template.json \
  --parameters kubernetesClusterName=<cluster_name> \
  --parameters enableFIPS=false

Storage アカウント キーの取得

env_specific.yml 内の s3storage セクションを設定するためのアクセス キーとシークレット キーを取得します。
az deployment group show --name storage \
  --resource-group <resource_group_name> \
  --query properties.outputs -o yaml
出力内容を保存しておいてください。これらの値は env_specific.yml 設定ファイルで使用します。

手順 7: Azure SQL Server の作成

デプロイ内容を確認する

az deployment group what-if --name dbservers \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Databases/DB.Server.Template.json \
  --parameters serverBaseName=<cluster_name> \
  --parameters dbAdminLogin=<db_username> \
  --parameters dbAdminPassword=<db_password>

SQL サーバーを作成する

az deployment group create --name dbservers \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Databases/DB.Server.Template.json \
  --parameters serverBaseName=<cluster_name> \
  --parameters dbAdminLogin=<db_username> \
  --parameters dbAdminPassword=<db_password>
dbAdminLogin および dbAdminPassword Parameter は、データベースにアクセスするための認証情報です。これらは env_specific.yml 設定用に保存しておいてください。

ステップ 8: Azure SQL Database を作成

デプロイのプレビュー

az deployment group what-if --name databases \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Databases/SQL.Databases.Template.json \
  --parameters serverBaseName=<cluster_name>

データベースを作成する

az deployment group create --name databases \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/Databases/SQL.Databases.Template.json \
  --parameters serverBaseName=<cluster_name>

手順 9: ノード リソース グループを取得する

AKS クラスターのノード リソース グループ名を取得します。
az aks show --name <cluster_name> -g <resource_group_name> \
  --query nodeResourceGroup -o tsv
この値を保存しておいてください。このパブリック IP アドレスを、このリソース グループに割り当てます。

ステップ 10: パブリック IP アドレスを構成する

  1. ステップ 9 で作成したノード リソース グループ内に Azure パブリック IP アドレス(Standard Static IPv4)を作成するか、既存のパブリック IP アドレスをそのリソース グループに移動します。
  2. env_specific.yml の設定で使用するために IP アドレスを控えておきます:
    loadbalancer:
      external_ip: <your_public_ip_address>
    
  3. この IP アドレスを指すように、ドメインの DNS A レコードを作成 します。

ステップ 11: GPU ドライバーのインストール(オプション)

Deep Learning を使用する Skill をトレーニングするために GPU ワーカーをデプロイする予定がある場合:
ansible-playbook -i inventories/azure -v \
  playbooks/infrastructure/azure/02_install_gpu_driver.yml
GPU デプロイの要件については、システム要件 を参照してください。

作成されたリソースの概要

これらの手順を完了すると、次のリソースが作成されます。
ResourcePurpose
Resource Groupすべての Vantage リソースを格納するコンテナー
AKS ClusterVantage を実行するための Kubernetes クラスター
Services Node PoolVantage プラットフォーム サービスを実行するノード プール
Workers Node Pool文書処理ワーカーを実行するノード プール
Skills Storage AccountSkill の定義と構成を格納
Processing Storage Account処理中の文書を格納
Temporary Storage Accountトランザクションの一時保管
Shared Folders Storage Accountインポート/エクスポート用共有フォルダーへのアクセスを提供
Archive Storage Account文書を長期保管
Azure SQL Serverデータベース サーバー
Azure SQL DatabaseVantage の運用データベース
Public IP AddressVantage への外部アクセス

次のステップ

インフラストラクチャを作成したら、次を実行します。
  1. env_specific.yml を設定する - このガイドで示した値で設定します。完全な設定形式については、インストール を参照してください。
  2. コンテナイメージをダウンロードする - Vantage のイメージをコンテナレジストリに同期します。
  3. インストールを実行する - プレイブックを使用してインストールを完了します。
完全なインストール手順については、インストール に進んでください。

トラブルシューティング

権限エラーでデプロイが失敗する

お使いの Azure アカウントに、次の権限が付与されていることを確認してください。
  • 対象のサブスクリプションまたはリソース グループに対する Contributor ロール
  • AKS クラスター、ストレージ アカウント、SQL データベースを作成する権限

クラスター名が長すぎます

クラスター名は15文字以内で指定してください。短い名前を使用してください。

ストレージ アカウント名が既に存在します

Azure Storage アカウント名はグローバルで一意である必要があります。ARM テンプレートは、クラスター名に基づいてアカウント名を生成します。名前の競合が発生した場合は、別のクラスター名を使用してください。

SQL データベースに接続できない

Azure SQL Database のファイアウォール規則で、AKS クラスターの送信元 IP アドレスからの接続が許可されていることを確認してください。仮想ネットワーク規則を追加するか、Azure サービスからのアクセスを許可する必要がある場合があります。