Vantage をインストールするには、次の手順に従います。
- リソースを準備します。
- リソースの認証情報を指定します。
- インストール スクリプトを実行します。
Virtual Machines
Azure AKS
作業を開始する前に、システム要件 セクションに記載されているすべての要件を満たしていることを確認してください。 最初に Azure インフラストラクチャの作成を完了してください!先に進む前に、必要な Azure リソース (AKS クラスター、ストレージ アカウント、SQL データベース) をすべて作成しておく必要があります。最初に Azure インフラストラクチャの作成 ガイドを完了してください。政府機関向けの FIPS 準拠デプロイについては、FIPS 準拠 を参照してください。
インストーラーを実行する前に、次の準備を行います。
- 設定ファイルを準備します。
- 証明書を準備します。
- コンテナーイメージをダウンロードします。
1. インストールディレクトリを作成する:
インストールを実行する元となるインストールディレクトリと、そのサブディレクトリ(ssh、kube、ssl)を作成します。そのインストールディレクトリに移動します。
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
2. SSH キーファイルを作成します:ssh フォルダー内に ansible という名前のファイルを作成し、このファイルに Ansible ユーザー用の SSH 秘密鍵を配置します。3. インベントリファイルを作成します:インストールディレクトリに inventory ファイルを作成します。X.X.X.X を仮想マシン (VM) の IP アドレスに置き換えてください。[localhost]
127.0.0.1
###########################################
[kube_control_plane]
ub01master01 ansible_host=X.X.X.X
[abbyy_services]
ub01worker12-48-s01 ansible_host=X.X.X.X
[abbyy_workers]
ub01worker12-48-w01 ansible_host=X.X.X.X
ub01worker12-48-w02 ansible_host=X.X.X.X
ub01worker12-48-w03 ansible_host=X.X.X.X
###########################################
[kube_workers:children]
abbyy_services
abbyy_workers
[kube_cluster:children]
kube_control_plane
kube_workers
ワーカー用マシンが3台ではなく1台または2台だけ必要な場合は、[abbyy_workers] セクション内の不要な行を削除してください。
手順 2 と 3 は Azure AKS でのデプロイには不要です。手順 4 に進んでください。
4. env_specific.yml ファイルを作成します:
環境に固有の値を指定します。
env: null
poc: true
domain: null
product_host: "{{ env }}.{{ domain }}"
logging:
enabled: true
elasticsearch:
enabled: false
host: null
port: 9200
username: null
password: null
scheme: https
file:
enabled: true
loadbalancer:
external_ip: X.X.X.X
k8s:
api:
ip: X.X.X.X
techcore:
use_gpu_workers: false
use_nn_extraction_training_workers: false
platform_admin_email: admin@yourdomain.tld
source_container_registry_host: abyvtgonprm27.azurecr.io
source_container_registry_user: null # 購入時に取得した認証情報に置き換えてください
source_container_registry_password: null # 購入時に取得した認証情報に置き換えてください
source_container_registry_name: "{{ source_container_registry_host }}"
container_registry_host: registry.yourdomain.tld
container_registry_user: null
container_registry_password: null
container_registry_name: "{{ container_registry_host }}/vantage"
smtp:
host: null
login: null
password: null
port: 587
useSSL: false
secureSocketOptions: null
database:
host: X.X.X.X
port: 1433
username: null
password: null
reporting:
enabled: false
id_reading:
enabled: false
env: vantage
poc: false # 高可用性構成を使用しない場合は true に設定します
domain: yourdomain.tld
product_host: "vantage.{{ domain }}"
loadbalancer:
external_ip: X.X.X.X # Azure のパブリック IP アドレス
container_registry_host: "registry.yourdomain.tld"
container_registry_user: "service"
container_registry_password: "password"
container_registry_name: "{{ container_registry_host }}/vantage"
techcore:
use_gpu_workers: false
use_nn_extraction_training_workers: false
logging:
enabled: true
elasticsearch:
enabled: false
host: null
port: 9200
username: null
password: null
scheme: https
ilm:
create: false
file:
enabled: true
platform_admin_email: admin@yourdomain.tld
# メール構成 - SendGrid または SMTP のいずれかを使用します
sendgrid:
enabled: false
apiKey: ""
smtp:
host: X.X.X.X
login: null
password: ""
port: 587
useSSL: false
mailFrom: noreply@yourdomain.tld
# Azure SQL Database の構成
database:
type: sqlserver
host: X.X.X.X # Azure SQL Server のホスト名
username: login
password: password
encrypt: false
# Azure Storage アカウント - ご利用のストレージアカウントの認証情報に置き換えてください
s3storage:
skills:
accessKey: skills_storage_account_name
secretKey: skills_storage_account_key
processing:
accessKey: processing_storage_account_name
secretKey: processing_storage_account_key
temporary:
accessKey: temporary_storage_account_name
secretKey: temporary_storage_account_key
sharedfolder:
accessKey: sharedfolder_storage_account_name
secretKey: sharedfolder_storage_account_key
resourcegroup: your_resource_group
archive:
accessKey: archive_storage_account_name
secretKey: archive_storage_account_key
# Redis クラスター構成(高可用性構成でのみ必須)
# 高可用性構成を使用しない場合は空の配列のままにします
redis:
ips: ['172.16.10.101', '172.16.10.102', '172.16.10.103', '172.16.10.104', '172.16.10.105', '172.16.10.106']
port: 6379
password: redispassword
ssl: false
reporting:
enabled: false
id_reading:
enabled: false
k8s_fips_enabled: false
s3storage セクションでは、accessKey は Azure Storage アカウント名、secretKey は Storage アカウントのアクセスキーです。これらは Azure ポータルまたは Azure CLI から取得できます。
| Parameter | 説明 |
|---|
env | インストールプレフィックス。デフォルトではサブドメイン名として使用されます。 |
poc | 高可用性を使用しない場合は true、高可用性を使用する場合は false。 |
domain | プライマリ ドメイン名。 |
product_host | 製品へのアクセスに使用する DNS 名(デフォルト: env.domain)。 |
logging.enabled | ログ記録を有効/無効にします(true/false)。 |
logging.elasticsearch.enabled | Elasticsearch を有効にするかどうかを指定します。この Parameter には true または false のいずれかを設定できます。注意: すでに Elasticsearch を利用していて、Vantage のログをそこに接続したい場合にのみ、この Parameter の値を true に設定してください。既存の Elasticsearch および Kibana インスタンスがない場合は、「Elasticsearch および Kibana」の手順に従ってクラスターにデプロイできます。これは製品をインストールする前に実行する必要があります。 |
logging.elasticsearch.host | サーバーの IP アドレス。 |
logging.elasticsearch.port | Elasticsearch への接続に使用するポート。 |
logging.elasticsearch.username | Elasticsearch への接続に使用するユーザー名。 |
logging.elasticsearch.password | Elasticsearch への接続に使用するパスワード。 |
logging.elasticsearch.scheme | Elasticsearch への接続に使用するプロトコルスキーム。 |
logging.file.enabled | ログをファイルに書き出すかどうかを指定します。この Parameter は true または false のいずれかに設定できます。 |
loadbalancer.external_ip | ロードバランサー用のフローティング IP アドレス。 |
k8s.api.ip | Kubernetes API エンドポイントの IP アドレス。 |
securityContext.global.runAsUser | コンテナプロセスを実行するユーザー ID を指定します。この設定は、外部の rwx ストレージ(NFS など)を使用する Pod にのみ適用されます。デフォルトでは、この Parameter は 65532 に設定されています。 |
securityContext.global.runAsGroup | コンテナプロセスを実行するグループの識別子を指定します。
この設定は、外部の rwx ストレージ(NFS など)を使用する Pod にのみ適用されます。既定では、この Parameter は 65532 に設定されています。 |
securityContext.global.fsGroup | Pod にアタッチされるボリュームの所有者となるグループの識別子を指定します。この設定は、外部の rwx ストレージ(NFS など)を使用する Pod にのみ適用されます。既定では、Parameter は 65532 に設定されています。 |
techcore.nn_training_workers.gpu | GPU ワーカーをデプロイするかどうかを指定します。GPU ワーカーは、Deep Learning アクティビティを使用して半構造化文書からデータを抽出する Skill をトレーニングするために使用されます。この Parameter は true または false のいずれかに設定できます。Parameter を true に設定する場合、techcore.nn_training_workers.enabled Parameter も true に設定する必要があります。Vantage をインストールする前後のいずれかのタイミングで、このオプションをデプロイし、techcore.nn_training_workers.gpu および techcore.nn_training_workers.enabled Parameter を true に設定できます。詳細については、GPU の設定 を参照してください。 |
techcore.nn_training_workers.enabled | nn-extraction-training および nlp-model-train ワーカーをデプロイするかどうかを指定します。これらのワーカーは、CPU を使用して半構造化ドキュメントからデータを抽出する Deep Learning アクティビティを用いた Skill のトレーニングに使用されます。この Parameter には true または false を設定できます。 |
techcore.keep_previous_version | Vantage をアップデートする際に、technology core バージョン 2 を保持するかどうかを指定します。既定では techcore.keep_previous_version Parameter は指定されておらず、technology core バージョン 2 は削除されます。保持する場合は、Parameter の値を true に設定します。 |
platform_admin_email | システム管理者のメールアドレス。 |
container_registry_host | コンテナレジストリのドメイン名。 |
container_registry_user | コンテナー・レジストリからイメージをダウンロードする権限を持つユーザーの名前。コンテナー・レジストリが存在しない場合は、このParameterは空のままにします。 |
container_registry_password | コンテナレジストリからイメージをダウンロードするためのパスワードまたはトークン。コンテナレジストリがない場合は、この Parameter は空のままにします。 |
container_registry_name | イメージがホストされているコンテナレジストリのディレクトリ名。 |
smtp.host | SMTP サーバーの IP アドレスまたはホスト名。 |
smtp.login | SMTP サーバーへの接続に使用するユーザー名。 |
smtp.password | SMTP サーバーへの接続に使用するパスワード。 |
smtp.port | SMTP サーバーが使用するポート番号。 |
smtp.useSSL | 暗号化された接続を使用するかどうかを指定します。この Parameter には true または false のいずれかを設定できます。 |
smtp.secureSocketOptions | 接続に使用する SSL または TLS の暗号化方式を指定します。 |
database.enabled | データベース サーバーを有効にするかどうかを指定します。 |
database.host | SQL Server のIPアドレス。 |
database.port | データベースサーバーのポート番号。 |
database.username | データベースに接続するためのユーザー名(データベースを作成するために必要な権限をユーザーが持っている必要があります)。 |
database.password | データベースに接続するために使用するパスワード。 |
reporting.enabled | Warehouse reporting サービスをデプロイするかどうかを指定します。この Parameter には true または false を設定できます。 |
id_reading.enabled | Identity Documents アドオンをデプロイするかどうかを指定します。この Parameter には true または false のいずれかの値を設定できます。 |
次の4つの Parameter はオプションであり、高可用性構成 (Highly available configuration) をインストールする場合で、かつ Vantage インストーラーによって Redis のインストールが要求される場合にのみ必要です。
| Parameter | Description |
|---|
redis.ips | Redis クラスターの IP アドレスを次の形式で指定します: [‘192.168.0.1”192.168.0.2’,,‘192.168.0.3’]。Parameter が [] として定義されている場合、クラスター内の Redis インスタンスがデプロイされます。 |
| redis.port | Redis クラスターへの接続に使用されるポートです。 |
redis.password | Redis への接続に使用されるパスワードです。 |
redis.ssl | Redis クラスターへの暗号化された接続を使用するかどうかを指定します。この Parameter には true または false を設定できます。 |
その他のすべての Parameter は変更されません。
- ssl ディレクトリに移動します。プライマリドメイン名に対応するワイルドカード証明書(中間証明書を含む)をそのディレクトリ内に配置し、秘密鍵(PEM 形式)をそれぞれ次のファイルに保存します:./ssl/cert.pem、./ssl/key.pem。CRT ファイルは、内容を次の形式にして PEM 形式に変換する必要があります。
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
- 内部 CA が署名した証明書を使用する外部の認証プロバイダー (ADFS) を使用している場合は、ルート証明書を
./ssl/adfs-root.pem に配置します。
Vantage からサードパーティのエンドポイント (Custom activity scripts や外部認証など) にアクセスする場合、その外部エンドポイントはパブリックな認証局が発行した証明書を使用している必要があります。
ABBYY Vantage のインストールは自動的に行われます。インストールに使用するコンテナ内にインストールおよび設定された Ansible ツールを使用して実行されます。Ansible は、さまざまな構成シナリオ(YAML プレイブック)を使用してマシンとやり取りします。
ABBYY Vantage をインストールするには、次の手順に従います。
1. インストールディレクトリに移動します。
2. インストーラー配信用レジストリにログインします。
# <username> と <password> を調達時に取得した認証情報で置き換えてください
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>
3. まだインストーラーを実行していない場合は、Docker イメージからインストーラーを実行します。
Virtual Machines
Azure AKS
docker run -it \
-v $PWD/kube:/home/ansible/.kube \
-v $PWD/ssh/ansible:/home/ansible/.ssh/ansible \
-v "//var/run/docker.sock:/var/run/docker.sock" \
-v $PWD/inventory:/ansible/inventories/k8s/inventory \
-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml \
-v $PWD/ssl:/ansible/files/ssl:ro \
--privileged \
abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
| Parameter | Description |
|---|
-v $PWD/kube:/home/ansible/.kube | kube/config ファイルが保存されている Kubernetes ディレクトリへのパス。 |
-v $PWD/ssh/ansible:/home/ansible/.ssh/ansible | Kubernetes クラスターおよび一部の前提条件をインストールおよび構成するために必要な SSH 秘密鍵へのパス。 |
-v "//var/run/docker.sock:/var/run/docker.sock" | コンテナーレジストリへのイメージ同期に必要です。 |
-v $PWD/inventory:/ansible/inventories/k8s/inventory | inventory ファイルへのパス。 |
-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml | env_specific.yml ファイルへのパス。 |
-v $PWD/ssl:/ansible/files/ssl:ro | 次のファイルを含める必要がある SSL 証明書フォルダーへのパス: cert.pem、key.pem、adfsroot.pem。 |
docker run -it \
-v $PWD/env_specific.yml:/ansible/inventories/azure/group_vars/all/env_specific.yml \
-v $PWD/ssl:/ansible/files/ssl:ro \
abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
| Parameter | Description |
|---|
-v $PWD/env_specific.yml:/ansible/inventories/azure/group_vars/all/env_specific.yml | env_specific.yml ファイルへのパス。 |
-v $PWD/ssl:/ansible/files/ssl:ro | 次のファイルを含める必要がある SSL 証明書フォルダーへのパス: cert.pem、key.pem、adfsroot.pem。 |
4. Azure AKS クラスターに接続します。
Virtual Machines
Azure AKS
Virtual Machine デプロイの場合はこの手順をスキップしてください。クラスター資格情報は、手順 7 の Kubernetes インストール中に自動的に構成されます。
Docker コンテナーの起動後、Azure にサインインして AKS クラスターに接続します。# Azure にログイン
az login
# サブスクリプションを設定(自分のサブスクリプション ID に置き換えてください)
az account set --subscription <subscription_id>
# AKS クラスターの資格情報を取得(リソース グループ名とクラスター名に置き換えてください)
az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>
# クラスター接続を検証
kubectl cluster-info
5. コンテナーイメージをダウンロードします
マイグレーションスクリプトは env_specific.yml 内の次のプロパティに依存します。
source_container_registry_host: sourcerepo.azurecr.io
source_container_registry_user: user
source_container_registry_password: pass
source_container_registry_name: "{{ source_container_registry_host }}/optional/subpath"
container_registry_host: destinationrepo.azurecr.io
container_registry_user: user
container_registry_password: pass
container_registry_name: "{{ container_registry_host }}/optional/subpath"
Virtual Machines
Azure AKS
ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/k8s playbooks/oci-migration.yml
ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/azure playbooks/oci-migration.yml
Virtual Machines
Azure AKS
6. SSH キーの権限を設定します:chmod 600 /home/ansible/.ssh/ansible
7. Kubernetes クラスターのインストールとセットアップ:ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
手順 6 および 7 は Azure AKS デプロイには不要です。Kubernetes クラスターは Azure Infrastructure Creation ガイドに従ってすでにプロビジョニングされています。手順 8 に進んでください。
8. 事前デプロイチェックを実行し、法的文書に同意する:
Virtual Machines
Azure AKS
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
ansible-playbook -i inventories/azure playbooks/0-PreflightCheck-azure.yml
ansible-playbook -i inventories/azure playbooks/legal.yml
この playbook は次の処理を行います。
- playbook の
env_specific.yml ファイルで指定されているパラメーターを持つリソース(データベースや SMTP 接続など)について、事前チェックを実行します。
- システム管理者に対し、EULA および ABBYY Privacy Policy の条件に同意するよう求めます。
9. 製品をインストールする:
Virtual Machines
Azure AKS
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
ansible-playbook -i inventories/azure playbooks/site-azure-deploy.yml
この playbook はメトリクスおよびログ収集システムをデプロイし、ABBYY Vantage をデプロイします。インストール処理の完了に必要な時間は、選択したマシンのパフォーマンスによって左右されます。平均して、この処理には約 10 分かかります。Kubernetes 用の任意のツール(たとえば Lens ユーティリティ)を使用して、クラスター内の Pod とジョブの実行状況を監視できます。そのためには、仮想マシンに Kubernetes をインストールした後に kube フォルダー内に作成される kubeconfig ファイルを使用します。以下の手順に従って、Ansible のインストールログファイルをローカルマシンにダウンロードすることもできます。
- Docker コンテナーからログアウトします。
- コンテナーの一覧を取得するには、次のコマンドを実行します。
インストーラーが入っているコンテナの名前を確認します。
- ログを取得するには、次のコマンドを実行します。container_name をコンテナ名に置き換えてください。
docker cp container_name:/ansible/ansible.log ansible.log
デプロイが完了すると、次の情報が提供されます。
- 提供されたドメイン名の URL
- ログイン、テナントの作成、およびドキュメントの処理に使用できるシステム管理者用のユーザー名とパスワード
# Dockerコンテナを終了した後:
docker ps -a
# コンテナ名を確認した後:
docker cp container_name:/ansible/ansible.log ansible.log
Vantage のインストール時にログシステムを有効にしていなかった場合(env_specific.yml ファイル内の logging.enabled Parameter の値が false だった場合)は、Vantage のインストール後に有効化できます。その場合は、env_specific.yml ファイル内の logging.enabled Parameter の値を true に設定し、次のコマンドを実行します。
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml
ansible-playbook -i inventories/azure playbooks/6-DeployMonitoring-azure.yml
Business Processing Reporting Warehouse のデプロイ
Business Processing Reporting Warehouse は、ビジネス プロセスを分析し、特定期間のデータを追跡するためのコンポーネントです。Vantage のインストール時に、env_specific.yml ファイル内の reporting.enabled Parameter の値が true に設定されている場合は、Business Processing Reporting Warehouse も同時にインストールされます。reporting.enabled Parameter の値が false に設定されている場合は、Vantage のインストール後に次のコマンドを実行して、Business Processing Reporting Warehouse をインストールできます。
ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml
ansible-playbook -i inventories/azure -v playbooks/deploy-reporting.yml
Identity Documents アドオンのデプロイ
Identity Documents アドオンを使用するには、Vantage から https://lic.regulaforensics.com および https://lic2.regulaforensics.com へのインターネットアクセスが必要です。
Identity Documents アドオンサービスを使用すると、各国で発行された身分証明書からデータを抽出するための Identity Documents Skill を実行できます。
Vantage のインストール時に、env_specific.yml ファイル内の id_reading.enabled Parameter の値が true に設定されている場合は、Identity Documents アドオンもインストールされます。id_reading.enabled Parameter の値が false に設定されていた場合は、Vantage のインストール後に次のコマンドを実行して Identity Documents アドオンをインストールできます。
ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml
ansible-playbook -i inventories/azure -v playbooks/12-DeployDocumentReader.yml
Vantage がインストールされているクラスターから、次のアドレスにアクセスできるようにしておく必要があります。
https://lic.regulaforensics.com
https://lic2.regulaforensics.com