2023年04月

03

【てくさぽBLOG】IBM Power Virtual ServerのAIX環境とIBM Cloud Object Storageを接続してみた(Part2)

こんにちは。
てくさぽBLOGメンバーの高村です。

本ブログは IBM PowerSystems Virtual Server(PowerVS)から IBM Cloud Object Storage(IBM COS)へバックアップ取得を想定し、AIX環境から Proxyサーバ経由で IBM COS へファイル転送を行う手順をご紹介するブログです。

前回の Part1 では、PowerVS、VSI for VPC、Direct Link Connect、IBM COS のプロビジョニング手順をご紹介しました。
Part2(本ブログ)では、各サービスの設定とファイル転送を行います。

Part1 でもご説明しましたが、以下の図は検証の接続イメージ図です。
今回はセクション1,2,3,4の IBM COS の設定、Proxyサーバソフトウェアの設定、AIXの設定、最後にAIX環境からProxyサーバ経由でIBM COSへファイル転送を行う手順をご紹介します!

検証の接続イメージ

1)IBM COSの設定

・作成したバケットにアクセス・ポリシーを設定します。作成したバケットをクリックします。

IBM COSの設定-1

・バケット・アクセス・ポリシーの設定画面でユーザをプルダウンして選択し「アクセス・ポリシーの作成」をクリックします。

IBM COSの設定-2

・アクセス・ポリシーが作成されました。

IBM COSの設定-3

・左側メニューから「サービス資格情報」を選択し「新規資格情報+」をクリックします。

IBM COSの設定-4

・「HMAC 資格情報を含める」を「オン」にして「追加」をクリックします。

IBM COSの設定-5

・サービス資格情報が作成されました。
※AIXの設定で赤枠内のaccess_key_idとsecret_access_keyが必要なのでテキストなどにメモしておきましょう

IBM COSの設定-6

IBM COSの設定が完了しました。

2)VSIのセキュリティー・グループ設定

IBM COSへの通信はhttps (port443) を使用します。VSIのセキュリティー・グループ設定でインバウンド・ルールにport443の許可を設定をします。

・ナビゲーションメニューから「VPCインフラストラクチャー」「セキュリティー・グループ」を選択、「ルール」タブを選択し、インバウンド・ルールの「作成+」をクリックします。

VSIのセキュリティー・グループ設定-1

  • 以下の設定で作成します。
    • プロトコル:TCP
    • ポート最小値:443
    • ポート最大値:443
    • ソースタイプ:CIDRブロック
    • IPの範囲:192.168.1.0/24 (PowerVSのセグメント)

VSIのセキュリティー・グループ設定-2

・インバウンド・ルールにport443許可の設定ができました。

VSIのセキュリティー・グループ設定-3

3)Proxyサーバの設定

Part1でもご紹介しましたが、PowerVS から IBM COS への接続には IBM Cloud (x86環境) 上の Proxyサーバを経由する必要があります。
今回は Proxyサーバソフトウェアとしてリバースプロキシ機能がある nginx を使用します。

・作成した VSI に ssh でログインし、su で rootユーザにスイッチします。
nginx設定のため “/etc/nginx/nginx.conf” を探しましたが見当たりません。RHEL に nginx はデフォルトで導入済みと思い込んでいましたがインストールが必要でした。
yumコマンドを使用してインストールします。

# yum -y install nginx

VSIのセキュリティー・グループ設定-4

・nginxのプロセス起動を確認します。

VSIのセキュリティー・グループ設定-5

・”/etc/nginx/nginx.conf” が作成されていました。次はnginx.confを編集します。

VSIのセキュリティー・グループ設定-6

・その前にファイルのバックアップを行います。

VSIのセキュリティー・グループ設定-7

・viコマンドでnginx.confファイル内のhttp { } の中に下記を追加します。
proxy_passはIBM Cloud資料「Endpoints and storage locations」記載の IBM COS の Direct Endpoint を指定します。

vi /etc/nginx/nginx.conf

server {
client_max_body_size 100M;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 10.244.64.14;  <VSIのIPアドレス
root /usr/share/nginx/html;

ssl_certificate “/etc/ssl/certs/NGINX-selfsigned.crt”;
ssl_certificate_key “/etc/ssl/NGINX-selfsigned.key”;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
proxy_set_header Host $server_name;
proxy_pass https://s3.direct.jp-tok.cloud-object-storage.appdomain.cloud ;
} <IBM COSのDirect Endpoint

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

・nginxにhttps通信のため自己証明書を作成します。以下コマンドを実行します。
今回パラメーターは特に入力せずブランクで設定しました。

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/NGINX
-selfsigned.key -out /etc/ssl/certs/NGINX-selfsigned.crt

VSIのセキュリティー・グループ設定-8

・systemctlコマンドでnginxのサービスを再起動し、ステータスを確認します。

# systemctl restart nginx
# systemctl status nginx

VSIのセキュリティー・グループ設定-9

これでProxyサーバソフトウェアの設定は完了です。
コマンドのインストールが必要など、多々躓きました。次は AIX側の設定です。

4)AIXの設定

AIX から IBM COS を操作するために s3cmd というツールをインストールします。
以下 rpmファイルを「Apache 2 Test Pageのrpmファイルダウンロードページ」からダウロードし、SCP などのツールで任意のディレクトリに配置します。


file-5.32-1.aix5.1.ppc.rpm
file-libs-5.32-1.aix5.1.ppc.rpm
python-magic-5.32-1.aix5.1.ppc.rpm
s3cmd-1.6.1-1.aix5.1.noarch.rpm


・rpmコマンドでインストールします。
s3cmd-1.6.1-1.aix5.1.noarch.rpmファイルをインストールしようとしたところ error でインストールできませんでした。どうやら前提ファイルが足りないようです。

# rpm -i file-libs-5.32-1.aix5.1.ppc.rpm
# rpm -i file-5.32-1.aix5.1.ppc.rpm
# rpm -i python-magic-5.32-1.aix5.1.ppc.rpm
# rpm -i s3cmd-1.6.1-1.aix5.1.noarch.rpm
error: Failed dependencies:
python-dateutil >= 2.6.0-1 is needed by s3cmd-1.6.1-1.noarch
#

・以下のrpmファイルを「AIX Toolbox for Open Source Software」からダウンロードし、SCPでAIXに転送し、rpmコマンドでインストールします。
「python-dateutil-2.6.0-1.aix6.1.noarch.rpm」

# rpm -i python-dateutil-2.6.0-1.aix6.1.noarch.rpm

・インストールを失敗した rpmファイルも無事インストールできました。

# rpm -i s3cmd-1.6.1-1.aix5.1.noarch.rpm

・以下のコマンドで環境変数を設定します。

# export PATH=/opt/freeware/bin:$PATH

・以下のコマンドで IBM COS に接続しようとしましたが、エラーが返ってきてしまいました。
エラーの内容からs3cfgのパラメーターが設定されていないようです。

# s3cmd -ls
ERROR: /.s3cfg: None
ERROR: Configuration file not available.
ERROR: Consider using –configure parameter to create one.

・Web で検索して調べたところ s3cmd の初期設定が必要でした。
以下のコマンドを実行して設定します。
※access_key と secret_key は「1) IBM COSの設定」でメモした access_key_id と secret_access_key を入力します。

# s3cmd –configure

Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.

access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
access Key:メモした情報
Secret Key :メモした情報
Default Region [US]: <ブランクのままエンターキーで継続

Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password:  <ブランクのままエンターキーで継続
Path to GPG program [None]:  <ブランクのままエンターキーで継続

When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol [Yes]: <ブランクのままエンターキーで継続

On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can’t connect to S3 directly
HTTP Proxy server name: <ブランクのままエンターキーで継続

New settings:
access Key: c03ad59f84274b069f69cc60b0b4fb9b
Secret Key: 3b8c9337eff3d611fd7081f6d13223841f19bb72725f7821
Default Region: US
Encryption password:
Path to GPG program: None
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0

Test access with supplied credentials? [Y/n] n <nを入力

Save settings? [y/N] y <yを入力
Configuration saved to ‘/.s3cfg’

・ホームディレクトリの下に .s3cfgファイルが作成されました。
viコマンドで host_baseとhost_bucket の項目を編集します。access_key と secret_key は前述の初期設定で反映済みです。

# cat .sc3cfg
access_key = xxxxxxxxxxxxxxxxx
check_ssl_certificate = False
check_ssl_hostname = False
encrypt = False
gpg_command = None
host_base = 10.244.64.14 <VSIのIPアドレス
secret_key = xxxxxxxxxxxxxxxxx
use_https = True
host_bucket = %(bucket).10.24.64.14 <VSIのIPアドレス
#

・再度 AIX から IBM COS に接続してみたところ接続成功し、IBM COS に作成したバケットが表示されました。

# s3cmd ls
2022-12-12 05:32 s3://icos-test-20221212

ようやく AIX から Proxyサーバ経由で IBM COS に接続することができました。
細かいところで躓いてしまったので少し時間がかかりました。次は AIX から Proxyサーバ経由で IBM COS にファイル転送をしてみたいと思います。

5)IBM COSへファイル転送

AIX から Proxyサーバ経由で IBM COS にファイル転送をします。
今回は1.8GBのファイルを用意し IBM COS への転送時間を Timeコマンドで計測します。
また、Proxyサーバでは dstatコマンドで受信データ量、送信データ量、CPU の使用状況を確認します。

・VSIにログインし、dstatコマンドをインストールします。

# yum -y install dstat

・ファイル転送時にProxyサーバでの受信データ量、送信データ量、CPU使用割合を確認するためdstatコマンドをオプション無しで実行しておきます。

# dstat

・次に AIX にログインし、SCP などで任意のディレクトリに IBM COS に転送するファイルを配置します。

# cd test_data
# ls -l
合計 3756712
-rw-r–r– 1 root system 1923432893 Dec 16 12:06 DB2S_11.5.4_AIXML.tar.gz

・以下コマンドを実行し、IBM COS にファイル転送を行います。
15MB毎に分割されてアップロードされていることがわかります。Timeコマンドの結果から転送時間は2分37秒でした。思っていたよりも速い印象です。

# time s3cmd put /test_data/DB2S_11.5.4_AIXML.tar.gz
s3://icos-test-20221212/DB2S_11.5.4_AIXML.tar.gz
upload: ‘/test_data/DB2S_11.5.4_AIXML.tar.gz’ -> ‘s3://icos-test-20221212/DB2S_11.5.4_AIXML.tar.gz’ [part 1 of 69, 15MB] [1 of 1]
65536 of 15728640 0% in 0s 858.63 kB/s 15532032 of 15728640 98% in 1s 12.11 MB/s 15728640 of 15728640 100% in 1s 7.78 MB/s done
upload: ‘/test_data/DB2S_11.5.4_AIXML.tar.gz’ -> ‘s3://icos-test-20221212/DB2S_11.5.4_AIXML.tar.gz’ [part 2 of 69, 15MB] [1 of 1]
65536 of 15728640 0% in 0s 862.77 kB/s 15728640 of 15728640 100% in 0s 16.22 MB/s done
upload: ‘/test_data/DB2S_11.5.4_AIXML.tar.gz’ -> ‘s3://icos-test-20221212/DB2S_11.5.4_AIXML.tar.gz’ [part 3 of 69, 15MB] [1 of 1]
65536 of 15728640 0% in 0s 865.13 kB/s 15728640 of 15728640 100% in 0s 25.65 MB/s done
-中略-
real 2m37.57s
user 0m4.63s
sys 0m0.70s
#

・Proxyサーバの画面に戻ってdstatコマンドの状況を確認します。
検証では送受信 (send/recv) とも平均30MB/sでした。CPU (user/sys/idle) を見ると使用割合は少ないことがわかります。

# dstat
You did not select any stats, using -cdngy by default.
—-total-usage—- -dsk/total- -net/total- —paging– —system–
usr sys idl wai stl| read writ| recv send| in out | int csw
0 0 100 0 0| 0 0 | 60B 633B| 0 0 | 50 72
0 1 100 0 0| 0 0 | 60B 298B| 0 0 | 48 71
0 0 99 0 0| 0 0 | 60B 314B| 0 0 | 44 68
0 0 100 0 0| 0 0 | 60B 298B| 0 0 | 43 67
1 0 100 0 0| 0 4096B|6575B 4017B| 0 0 | 91 93
2 1 96 0 2| 0 0 | 15M 56k| 0 0 |2374 1091
2 1 98 0 0| 0 0 | 235k 12M| 0 0 |1278 135
2 1 96 0 1| 0 0 | 12M 3564k| 0 0 |2136 994
1 1 97 0 0| 0 0 |3094k 13M| 0 0 |1869 382
5 3 91 0 2| 0 0 | 31M 18M| 0 0 |6414 2595
7 3 87 0 3| 0 0 | 26M 29M| 0 0 |6771 2006
1 0 99 0 0| 0 6144B|4022k 13k| 0 0 | 596 294
3 2 93 0 1| 0 0 | 16M 16M| 0 0 |4203 1323
6 3 87 0 3| 0 0 | 21M 29M| 0 0 |5826 1447
1 1 99 0 1| 0 0 |8528k 28k| 0 0 |1300 716
6 2 92 0 2| 0 0 | 17M 19M| 0 0 |4601 1358
5 3 91 0 3| 0 0 | 21M 26M| 0 0 |5732 1621
7 3 87 0 3| 0 0 | 25M 30M| 0 0 |6634 1800
2 1 97 0 1| 0 0 | 13M 39k| 0 0 |1806 877
5 2 90 0 2| 0 0 | 18M 19M| 0 0 |4897 1470
5 3 92 0 1| 0 0 | 31M 29M| 0 0 |7496 2665
6 3 88 0 3| 0 0 | 28M 28M| 0 0 |6420 2091
0 0 99 0 0| 0 0 | 60B 314B| 0 0 | 48 72
6 2 91 0 3| 0 0 | 19M 15M| 0 0 |4769 1541-以下省略-

・IBM Cloud のコンソールから IBM COS の画面に入ります。
作成済みバケットにAIXからアップロードしたファイルを確認できました。

IBM COSへファイル転送-1

これでファイル転送は完了です。
私の予想は5分以上かかると思っていましたが、予想よりも速かった印象です。

6)IBM COSの使用量確認

IBM COS は Liteプランの範囲で作業したため課金は発生しませんが、IBM Cloud の管理画面から使用量を確認できるので見てみましょう。

・IBM Cloud画面上の「管理」⇒「請求および使用量」をクリックします。

IBM COSへファイル転送-2

・「使用量」を選択し「Cloud Object Storage」をクリックします。
以下の画面の様に各メトリックの使用量を確認できます。ClassA (PUT) は数量233となっており、予想以上に使用していたことがわかりました。
※前述した通りLiteプランのためコストは$0となっています。

IBM COSへファイル転送-3

さいごに

Part1 からご覧頂きありがとうございます。遠回りしながらなんとかファイル転送をすることができました。

実際に作業してみて公開されている手順以外に必要な作業を確認できました。
Part1では、VSIのコンソールを開くためにユーザー権限が必要であることRHELの初期パスワードはレスキューモードで再設定を行わなければいけないこと、Part2では、Proxyサーバソフトウェア設定で nginx やコマンドのインストールが必要なことがわかりました。
構築のご予定がある方はご参考になれば幸いです。

今回 PowerVS から IBM COS へ 1.8GB のファイルを転送しました。
私の予想では5分以上かかると思っていましたが意外にも予想の半分程度の時間で完了しました。Proxyサーバの send/recv値は平均 30MB/s なので、遅すぎる結果ではないと思います。
また、転送時 Proxyサーバの CPU使用割合は少なかったので、沢山のリソースを構成する必要はなさそうです。

今回は PowerVS から Proxyサーバ経由で IBM COS に接続しましたが、Qiita のブログ「オンプレミスやPowerVSからDirect Link 2.0越しにVPE経由でICOSのDirect Endpointにアクセスする」にある通り、VPE経由でもアクセスすることが可能となりましたので今後検証してみたいと思います。

お問い合わせ

この記事に関するご質問は下記までご連絡ください。

エヌアイシー・パートナーズ株式会社
E-Mail:nicp_support@NIandC.co.jp

 

 

その他の記事

2025年08月04日

【てくさぽBLOG】IBM watsonx OrchestrateのADKを使ってみた

こんにちは。 てくさぽBLOGメンバーの高村です。 早速ですが、今年5月に開催されたIBMの年次イベント「Think2025」で、watsonx Orchestrateの新機能が発表されました!その中の一つとして、開発者向けの「Agent Development Kit(以下、ADK)」があります。今回はこのADKを活用し、watsonx Orchestrate環境への接続やエージェントの追加といった操作を行い、その使用感をご紹介します。  なお、watsonx Orchestrateについては、今年2月、3月に公開した「watsonx OrchestrateやってみたBLOG」でご紹介しておりますので、是非こちらもご一読ください。 【てくさぽBLOG】IBM watsonx Orchestrateを使ってみた(Part1) 【てくさぽBLOG】IBM watsonx Orchestrateを使ってみた(Part2) 目次 はじめに ADKとは? ADK使ってみた さいごに お問い合わせ はじめに Think2025で発表された新機能は、6月に環境へ追加されました。それ以前の環境とは、メニュー構成や操作方法、機能名称に変更があります。 例えばこれまで「Skill」と呼ばれていたものが「Tool」へと名称変更されています。 アップデート後の環境につきましては、別ブログにて改めて詳しくご紹介させていただく予定ですので、ぜひご期待ください! ADKとは? まずはADKについてご紹介します。ADKとは開発者向けにwatsonx OrchestrateのAgentやToolをスクラッチ開発するための開発キットになります。ローカル端末などに導入し、pythonベースで開発を行うことができます。 また、ADKとは別に、watsonx Orchestrate Developer Editionをローカル端末に導入することで、ADKで開発したAgentやToolのテストが可能になります。なお、watsonx Orchestrate Developer EditionはDockerコンテナ上で動作し、現時点のハードウェア要件はCPUは最小8コア、メモリは最小16GBが必要です。詳細はInstalling the watsonx Orchestrate Developer Editionをご確認ください。   ADKとwatsonx Orchestrate Developer Editionを利用することで、コードの迅速な作成・修正や柔軟なカスタマイズに加え、環境へのデプロイ前にローカルでテスト・修正が可能となり、作業効率の向上が期待できます。 ADK使ってみた 前述ではADKでAgent開発し、watsonx Orchestrate Developer Editionで動作確認、SaaS watsonx Orchestrateへインポートする構築の流れをお話しましたが、今回の検証における動作確認は検証環境として利用しているIBM Cloud 上のwatsonx Orchestrate利用します。よって前述したwatsonx Orchestrate Developer Editionは利用せず、ADKからwatsonx Orchestrate検証環境へAgentとToolを直接インポートし、動作確認を行いたいと思います。また、ADKのインストール先は自分の端末ではなく、IBM Cloud上に構築したUbuntuのVirtual Server Instance(以下、VSI)を使用します。検証環境の構成イメージは下記の図の通りです。 尚、ADKのインストール要件はPython 3.11以上、Pip、そして仮想環境(以下venv)が必要です。詳細については、Getting started with the ADKをご確認ください。 それでは早速使ってみましょう! VSIのプロビジョニング まずはADKをインストールするVSIをプロビジョニングします。本ブログではプロビジョニング方法について詳しく記載いたしませんが、手順は「【てくさぽBLOG】IBM Power Virtual ServerのAIX環境とIBM Cloud Object Storageを接続してみた(Part1)」のVSI for VPCの作成をご参考ください。 OSはUbuntu 22.04 LTS Jammy Jellyfish Minimal Install、リソースは2vCPU,4GB RAMで作成しました。VSI作成時にSSH鍵が必要なるので作成を忘れないようにしてください。 作成すると数分で起動します。端末からSSHログインするため浮動IPが必要になります。赤枠で囲った浮動IPを作成しインスタンスに紐づけします。以上でVSIの作成は完了です。 Ubuntuの設定 ターミナルを開きsshでUbuntuにログインします。私はWindowsのコマンドプロンプトを使用しました。Ubuntuユーザでログイン後、rootパスワードを設定し、スイッチできるようにします。 ubuntu@nicptestvsi:~$ sudo passwd root New password: Retype new password: passwd: password updated successfully ubuntu@nicptestvsi:~$ su - pythonのバージョンを確認したところ3.10.12でした。ADKの要件は3.11以上ですので、バージョンアップが必要になります。最初は3.13にバージョンアップしてみたのですが、後続作業と最新バージョンではパッケージが合わなかったのかうまく動かず…仕切り直して3.11を利用することにしました! root@nicptestvsi:~# apt install python3.11 バージョンアップ後、デフォルトバージョンとして3.11を指定します。 root@nicptestvsi:~# sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 sudo update-alternatives --config python3 update-alternatives: using /usr/bin/python3.10 to provide /usr/bin/python3 (python3) in auto mode update-alternatives: using /usr/bin/python3.11 to provide /usr/bin/python3 (python3) in auto mode There are 2 choices for the alternative python3 (providing /usr/bin/python3).Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/python3.11 2 auto mode 1 /usr/bin/python3.10 1 manual mode 2 /usr/bin/python3.11 2 manual modePress <enter> to keep the current choice[*], or type selection number: 2 root@nicptestvsi:~# root@nicptestvsi:~# python3 --version Python 3.11.13 次に下記コマンドを実行して任意のvenvを作成します。 python3 -m venv /path/to/nicpse/project/your-venv-adktest <環境のパスを指定 venvを活性化してログインします。下記コマンド結果のようにvenvに入れましたらUbuntuの設定は完了です。 root@nicptestvsi:~# source /path/to/nicpse/project/your-venv-adktest/bin/activate (your-venv-adktest) root@nicptestvsi:~# ADKのインストール 以下コマンドを実行してADKをインストールします。ADKは6月時点で1.5.1が最新バージョンです。 (your-venv-adktest) root@nicptestvsi:~# pip install ibm-watsonx-orchestrate Collecting ibm-watsonx-orchestrate Downloading ibm_watsonx_orchestrate-1.5.1-py3-none-any.whl.metadata (1.4 kB) Collecting certifi>=2024.8.30 (from ibm-watsonx-orchestrate) Downloading certifi-2025.6.15-py3-none-any.whl.metadata (2.4 kB) Collecting click<8.2.0,>=8.0.0 (from ibm-watsonx-orchestrate) Downloading click-8.1.8-py3-none-any.whl.metadata (2.3 kB) Collecting docstring-parser<1.0,>=0.16 (from ibm-watsonx-orchestrate) Downloading docstring_parser-0.16-py3-none-any.whl.metadata (3.0 kB) Collecting httpx<1.0.0,>=0.28.1 (from ibm-watsonx-orchestrate) Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB) ----中略---- (your-venv-adktest) root@nicptestvsi:~# orchestrate --version ADK Version: 1.5.1 ADKの環境設定 次にADKの環境設定を行います。watsonx OrchestrateのインスタンスIDが必要になるため、watsonx OrchestrateのSetting画面に入り確認します。下記画面をご参考にしてください。 環境設定コマンドはこちらになります。-nの後はvenv名を指定し、-uの後はインスタンスIDを指定します。 (your-venv-adktest) root@nicptestvsi:~# orchestrate env add -n <仮想環境名> -u <環境のインスタンスID> [INFO] - Environment 'my-name' has been created [INFO] - Existing environment with name 'nicpse' found. Would you like to update the environment 'nicpse'? (Y/n)y [INFO] - Environment 'nicpse' has been created 以下コマンドを実行して、IBM Cloud上のwatsonx Orchestrateと認証設定をします。APIキーの取得方法は「【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part2)」のAPIキーの取得をご確認ください。尚、リモート環境に対する認証は2時間ごとに期限切れになります。期限が切れた場合は再度認証する必要があります。 (your-venv-adktest) root@nicptestvsi:~# orchestrate env activate nicpse --apikey <APIキー> [INFO] - Environment 'my-ibmcloud-saas-account' is now active [INFO] - Environment 'nicpse' is now active 下記コマンドを実行してCLIから利用できる環境のリストを表示します。IBM Cloud上のwatsonx Orchestrateがactiveとなっていました! (your-venv-adktest) root@nicptestvsi:~# orchestrate env list nicpse https://api.us-south.watson-orchestrate.cloud.ibm.com/instances/XXXXXXXX (active) local http://localhost:XXXX Toolとagentのインポート 次にToolとAgentのインポートを行います。ToolとはAgentがタスクを実行する際に利用する機能です。今回は、IBM様より共有いただいたyfinanceを活用したToolおよびAgentのコードを、ADKを用いてインポートします。なお、yfinanceはヤフーファイナンスから株価などの金融データを取得するためのPythonライブラリです。 最初にToolのインポートを行います。下記の様に、scpなどでToolファイルとrequirements.txtをディレクトリにアップロードしておきます。requirementsファイルは他のモジュールと依存関係がある場合使用します。 (your-venv-adktest) root@nicptestvsi:~/orchestrate_tool/py/source_02# ls -l total 12 -rw-r--r-- 1 root root 0 Jun 24 04:42 __init__.py drwxr-xr-x 2 root root 4096 Jun 24 04:38 __pycache__ -rw-rw-r-- 1 ubuntu ubuntu 8 Jun 24 03:02 requirements.txt -rw-rw-r-- 1 ubuntu ubuntu 1778 Jun 24 02:46 yfinance_agent.py 下記コマンドを実行してToolファイルとrequirementsファイルをインポートします。企業情報を取得するstock_infoと株価を取得するstock_quoteの2つのToolがインポートされました。 (your-venv-adktest) root@nicptestvsi:~/orchestrate_tool/py/source_02# orchestrate tools import -k python -f "./yfinance_agent.py" -r "./requirements.txt" [INFO] - Using requirement file: "./requirements.txt" [INFO] - Tool 'stock_info' imported successfully [INFO] - Tool 'stock_quote' imported successfully listコマンドを実行するとインポートされたToolを確認できます。 (your-venv-adktest) root@nicptestvsi:# orchestrate tools list ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━┳ ┃ Name ┃ Description ┃ Permission ┃ Type ┃ Toolkit ┃ App ID ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━╇ │───────────┼────────────┼── │ send_mail_brevo │ send a meil using Brevo. │ write_only │ python │ │ │ │ │ │ │ │ │ │ ├─────────────────────────────────┼──── │ stock_quote │ 企業のTickerSymbolを用いて株価… │ read_only │ python │ │ │ ├─────────────────────────────────┼──── │ Untitled_6160RC │ No description │ read_only │ openapi │ │ │ ├─────────────────────────────────┼──── │ stock_info │ 企業のTickerSymbolを用いて企業… │ read_only │ python │ │ │ └─────────────────────────────────┴──── 次にAgentをインポートします。下記コマンドを実行します。 (your-venv-adktest) root@nicptestvsi:~/orchestrate_tool/py/source_02# orchestrate agents import -f ./yfinance_agent.yaml agent listコマンドでインポート済みのAgentを確認できました。Agentが使用するToolも表示されています。 (your-venv-adktest) # orchestrate agents list ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━ ┃ Name ┃ Description ┃ LLM ┃ Style ┃ Collaborators ┃ Tools ┃ Knowledge Base ┃  ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━ │ yfinance_age… │ 企業の会社情… │ watsonx/meta- │ react │ │ stock_info, │ │ │ │ │ llama/llama-3 │ │ │ stock_quote │ │ ││ │ │ -2-90b-vision ││ │ -instruct │ │  IBM Cloud上のwatsonx Orchestrateで動作確認 インポートしたAgentとToolをIBM Cloud上のwatsonx Orchestrateで確認します。 watsonx Orchestrateへログインし、BuildからAgent Builderを選択します。 yfinanceエージェントが表示されているので、クリックします。 クリックすると、Agent作成画面に入ります。UIから基盤モデルを変更したり、Agentの振る舞いなど変更することができます。 スクロールして、Toolsetを確認するとADKからインポートしたToolが登録されています。 右のPreviewからAgentの動きを確認することができます。今回はDeployせずPreviewで確認します。入力欄には「IBMの株価は?」と質問してみます。しばらくすると本日の株価が回答されました。Show Reasoningを開くと推論過程を確認することができます。株価を取得するTool「stock_quote」を使用し、AIがユーザの入力から自動的にTicker symbolを入力していることがわかります。 次に「IBMの企業情報」と質問をします。しばらくするとAIがユーザの入力からTicker symbolを入力し、Tool「stock_info」を利用して企業情報を取得、回答されました。ユーザの入力内容からAgentが使用するToolを選択し、実行していることがわかります。   さいごに ADKのご紹介とADKを使ってToolとAgentのインポートを行いました。 ADKのインストールおよび設定について、Pythonバージョンの設定やvenvの作成でつまずく部分はありましたが、venvが作成できればその後の設定はスムーズに進められました。 今回はVSI上のUbuntuサーバにADKをインストールしましたが、ご自身の端末に導入することで、より気軽にAgent開発を行えるかと思います。なお、今回は検証対象外でしたが、watsonx Orchestrate Developer Editionを利用する場合は、インストール要件としてやや高めのスペックが必要になる点にご注意ください。 検証時のADKのバージョンは1.5.1でしたが、7月末では1.8.0が最新バージョンとなっています。比較的頻繁にアップデートされますので適宜Release Notesをご確認ください。バージョンアップでコマンドオプションも変更される場合があるため、マニュアルを確認するかコマンドに`--help`を付与してパラメータを確認することをおすすめします。   お問い合わせ この記事に関するご質問は以下の宛先までご連絡ください。 エヌアイシー・パートナーズ株式会社 技術企画本部 E-mail:nicp_support@NIandC.co.jp   .anchor{ display: block; margin-top:-20px; padding-top:40px; }

2025年07月11日

【参加レポート】Domino Hub 2025

公開日:2025-07-11 みなさまこんにちは。ソリューション企画部 松田です。 2025年6月19日・20日と2日間に渡って開催された「Domino Hub 2025」に参加しました。これは HCL Ambassador有志が企画・実行する Dominoコミュニティイベントです。去年に続き、今回が3回目の開催となります。 昨年同様、今回もエヌアイシー・パートナーズはスポンサーとしてご支援させていただき、両日参加いたしました。そのレポートをお送りします。 目次 イベント概要 セッション内容 - Domino 14.5 リリース 特徴的機能とライセンス改定 -ロードマップ -お客様事例:曽根田工業様 最後に 関連情報 お問い合わせ イベント概要 「Domino Hub」は、HCL Ambassadorが主宰となり、Dominoの利用者、開発者、ソリューションベンダーが一堂に会するコミュニティイベントです。今回は1日目がオンライン、2日目はオンサイトのみの開催でした。 特に2日目は参加率が非常に高かったとのことで、会場も大変盛況でした。結婚式場としても使われている今回の会場は、中庭から陽の光が差し込み、解放感があるラグジュアリーな空間で、一般的なビジネスミーティングよりも上質な雰囲気が感じられました。 併せて展示ブースも設置され、Dominoアプリケーションがスマートフォンやブラウザで使えるようになる「HCL Nomad」などのHCL製品とともに、様々なビジネスパートナー様の多彩な関連製品が数多く展示・紹介されていました。 セッション内容 2日間で全22セッションが行われました。セッションはHCLをはじめ、HCL Ambassadorから、様々な開発ベンダー、製品ベンダー、エンドユーザーからの事例紹介などのセッション、そしてパネルディスカッションがありました。まずHCLからのセッション内でのトピックをお伝えします。機能のみならずライセンスまわりで大きなニュースもありました。 Domino 14.5 リリース 特徴的機能とライセンス改定 Domino Hubの2日前、2025年6月17日にリリースされました。 Domino IQ 特徴的な機能で最も注目すべき、今回もご説明に時間を割かれていたのが「Domino IQ」です。 一言で言えば「Domino内にローカルでLLMを持たせ、蓄積されてきたDominoアプリ内の情報も取り込み、セキュアな環境で生成AIを用いた業務を実現する」ものです。 企業内業務で生成AIをどのように実装し利用していくかは今、皆様の大きな関心事項であられると思います。自社のDomino環境内で、Dominoアプリケーションを用い、Notesクライアントからそれが実現できることになります。 (画像クリックで拡大) Nomad for Web COM対応 またNomad for WebがCOMに対応したことにより、これまではNotesクライアントだけでしかできなかったExcelやPowerPointを埋め込んだDiminoアプリもブラウザから利用できるようになりました。 ライセンスダッシュボード:DLAUの統合 これまでGitHubからダウンロードしてセットアップしていたDomino License Analysis Utility (DLAU)がDomino内にデフォルトで統合され、The Domino License Administration (DLA) となりました。 (画像クリックで拡大) ライセンス改定 そしてライセンスにも大きなベネフィットが付加されました。CCB Termライセンスにはこれまで「Domino Leapで5アプリケーションまで開発・利用が可能」という権利が含まれていましたが、2025年7月1日からその制限がなくなりました。すなわち「2025年7月1日以後有効なCCB Termライセンスをお持ちのお客様は、Domino Leapのフル機能が利用できる」となります。 同時に、Domino Leapライセンスの利用範囲であるHCL Enterprise Integrator(HEI)の利用権利も含まれます。これでCCB Termライセンスのみで、追加費用なく「ブラウザによるノーコード/ローコード開発」「基幹業務とDominoアプリケーションの連携」が可能になります。 さらにCCB Termで利用できるSametime Chatで添付ファイルと画像添付も可能になりました。 ロードマップ Domino、Notes、Verse、Nomadなど各ソリューションについてのロードマップも紹介されました。先々の計画は出てこないものですが、このようにHCLから明確に提示されることにより、Dominoをお使いのお客様はこれからも安心して利用を継続していただけると思います。 Dominoのロードマップ(画像クリックで拡大) Notesのロードマップ(画像クリックで拡大) Nomad, VerseといったエンドユーザーのUI部分が短期間でバージョンアップされていく。(画像クリックで拡大) お客様事例:曽根田工業 様 Dominoユーザーの有限会社曽根田工業 代表取締役 曽根田 直樹 様より、Domino事例のご講演がありました。曽根田様は2001年に静岡県磐田市で個人で起業され、切削機械の刃物を製造されています。曽根田様のお話で非常に興味深かった部分を抜粋致します。 "独立・起業するにあたり、前職で使っていたNotes/Dominoを自社でも使うことにした。現在は大手メーカーからの発注依頼や過去に作った品番の再発注など数多く受けており、当時のCAD/CAMのデータや販売管理データなどをDominoに入れて運用している。 オンプレミス環境のリスクやセキュリティ、IT技術のトレンドに合わせてクラウド化を検討した場合、Dominoからは離れたほうがいいのではないか?と思い、他社SaaS製品も検討しトライアルで利用登録をした。 しばらく触れずにいたところ、アカウント情報に登録していた支払い口座から利用料の引き落としがされていなかったためアカウントが凍結、さらに保存していたデータも突然消去されてしまっていた。支払いが滞っただけで中身まで削除されてしまうようなシステムには会社の大事な資産であるデータを載せられないので、「Dominoを『やめることを止める』判断」をした。" Dominoから他製品への移行を検討され断念されるお客様は多く、その理由は「Dominoの業務アプリケーションを、サービス内容を落とさずに別プラットフォームに移行することがはなはだ困難である」ということをよくお聞きしますが、この点にも意外な理由が潜んでいました。 最後に 初の2年連続開催となった今年のDominoHubは、コミュニティの力を象徴するかのような盛り上がりを見せました。14.5のリリース、生成AIの実装、ライセンス強化など、今後のDominoの発展を確信させる要素が数多く披露されたほか、実際のユーザー事例も非常に示唆に富むものでした。加えてロードマップの提示による未来への安心感も得られました。 DominoHubは単なる情報共有の場に留まらず、技術、コミュニティ、そしてビジネスの未来を交差させる特別な場となっています。これからもこのような取り組みが継続していき、多くのDominoユーザー、デベロッパー、そして販売パートナーが更なる価値を引き出していけることを楽しみにしています。これからもDominoと私たちの未来を築いていきましょう。 関連情報 「Domino Hub」大阪開催 Domino Hubは、2025年9月18日に大阪でのオンサイト開催が決定致しました。詳細およびお申し込みについては、こちらのリンクからご確認ください。 お問い合わせ エヌアイシー・パートナーズ株式会社E-mail:voice_partners@niandc.co.jp   .highlighter { background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%); } .anchor{ display: block; margin-top:-20px; padding-top:40px; } .btn_A{ height:30px; } .btn_A a{ display:block; width:100%; height:100%; text-decoration: none; background:#eb6100; text-align:center; border:1px solid #FFFFFF; color:#FFFFFF; font-size:16px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; box-shadow:0px 0px 0px 4px #eb6100; transition: all 0.5s ease; } .btn_A a:hover{ background:#f56500; color:#999999; margin-left:0px; margin-top:0px; box-shadow:0px 0px 0px 4px #f56500; } .bigger { font-size: larger; } figcaption { color: #7c7f78; font-size: smaller; }

back to top