2021年11月

18

【てくさぽBLOG】IBM Power Virtual ServerのAIX環境とIBM Cloud x86環境を接続してみた

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

本ブログは、IBM Power Virtual Server をトライしてみた内容や感想をご紹介するブログです。

シリーズ化していますので、まずインデックスのご紹介をします。

 

インデックス

IBM Power Virtual ServerでAIX環境を作ってみた
IBM Power Virtual ServerのAIX環境にSWを導入してみた 
IBM Power Virtual ServerのAIX環境を日本ロケールにしてみた
IBM Power Virtual ServerのAIX環境をバックアップしてみた(Part.1)
IBM Power Virtual ServerのAIX環境をバックアップしてみた(Part.2)
IBM Power Virtual ServerのAIX環境とIBM Cloud x86環境を接続してみた ←今回

今回は、Power Virtual ServerのAIX環境を IBM Cloud の x86環境と接続する方法をご紹介します。

 

セクション

以下の1)~6)のセクションに分けてご紹介します。

1)  接続イメージの説明
2)  Direct Link Connect の説明
3)  Direct Link Connect の作成
4)  Caseを利用した接続依頼
5)  VSI for VC の作成
6)  AIX環境とx86環境の接続確認
最後に
お問い合わせ

検証はAIXのインスタンスで行いましたが、IBM i のインスタンスでも同等の手順で操作を行うことができます。

利用したクライアント端末(私のPC)は、Windows10 pro バージョン2004(検証当時)です。

 

1) 接続イメージ の説明

Power Virtual Server のAIX環境と IBM Cloud の x86環境 はロケーションが異なる別のサービスで、ネットワークは直接つながっていません(2021年11月時点)。
そこで、お互いの環境を接続する方法が IBM Cloud から提供されています。
Direct Link Connect を利用する方法です。

今回は、上記の図の青色の線「Direct Link Connect」 を作成し、オレンジ色のubuntuサーバ(仮想サーバ・インスタンス(VSI))とAIXサーバを接続することが目的です。IBM Cloud環境の「仮想プライベート・クラウド(VPC)」と「仮想サーバ・インスタンス(VSI)」は未作成だったので、新規に作成し手順もブログ内に残しました。

 

2) Direct Link Connect の説明

Direct Link Connect と Power Virtual Server は全く別のサービスですので、Direct Link Connect は新規に作成する必要があります。
Direct Link Connect は IBM Cloud のポータルから作成(契約)します。

1)でも記載した通り、Power Virtual Server は IBM Cloud の x86環境と異なるコロケーションサイトを利用しており、ネットワークも直接つながっていません。そのため、Direct Link Connect を 契約し設定することで x86環境と接続することが可能となります。

Direct Link Connect には、従来からある「Classic」と新しく提供が開始された「2.0」があり、どちらも無料で利用できるので、今回は新機能が充実している「2.0」を利用します

Direct Link Connect 利用条件(IBM Cloud 柔らか層本20211124版 p.85より)
・1データセンターあたり、10Gbps ポート x 2回線(HA) まで無料
・Global routing を利用しても追加費用は不要
・Direct Link Connect の申請時、「Network Provider」は「IBM Power Virtual Server」を選択すること(「3) Direct Link Connect の作成」 でも触れます)


 

3) Direct Link Connect の作成

では早速、Direct Link Connect を作成します。

IBM Cloud にログインし、左上にある「ナビゲーション・メニュー」→「相互接続性(Interconnectivity)」を選択します。
 

相互接続性(Interconnectivity) の画面に移動しました。

・「Direct Link」を選択します。

・「Direct Linkの注文」を選択します。

・「Direct Link Connect」を選択します

Direct Link Connect の構成パラメーターを選択する画面に移動しました。

・「リソース」情報は以下を入力・選択します。
> Direct Link 名:tok-powervs(任意の文字列)
> リソース・グループ:Default

ここから、Direct Link Connect の構成パラメータを設定していきます。

・「ゲートウェイ」では以下の順番で選択します。
> ジオグラフィー:APAC
> 市場:Tokyo
> タイプ:すべて
> サイト:Tokyo 4
> 経路指定:ローカル(グローバルを選択すると別リージョンへ接続可能)

プロバイダー:IBM POWER VS

速度は、50Mbps~10Gbps まで8種類から選択可能です。どの速度でも金額は変わりません。IBM推奨は1Gbps以上です。

・速度とポート(1つ)を選択します。
> 速度:1Gbps(10Gbpsにしようかと思いましたが、何となく遠慮してみました)
> ポート:SL-TOK04-POWERIAASLITE-1-1-(ASR1)

※ 選択するポートは「速度範囲」が当てはまるものを選びます。今回は、どのポートでも当てはまりますので一番上のポートを選びました。

・「請求処理」で「従量制」を選択します。

・「BGP」は以下の通り選択および入力します
> BGPピアリング・サブネット:「IPの手動選択」を選択
> 範囲:「169.254.0.0/16」を選択(169.254.0.0/16 から)
> 自分のIPv4 CIDR:「169.254.0.2/30」を選択
> IBM IPv4 CIDR:「169.254.0.1/30」を選択
> BGP ASN:「64999」を入力

※ BGPピアリングは「169.254.0.0/16 」から範囲を指定します。今回は特に決めごともないので自由に設定しました。
※ BGP ASNは Direct Link Connect の構成ガイドにある通り、「64999」を指定します。

・「接続」は初期状態のまま変更しません。

ここまで入力が出来たら構成パラメータの設定は完了です。

・画面の右側に表示されるサマリーを確認し「作成」ボタンをクリックします。

Direct Link Connect の作成が受け付けられたメッセージが出力されます。

暫く待つと Direct Linkの「状況」が「構成中」→「プロビジョン済み」に代わります。作成したDirect Link名「tok-powervs」 をクリックし詳細画面を表示します。

下記の詳細情報は「4) Caseを利用した接続依頼」で利用しますので、このまま表示させておくかコピペしておきます。

Direct Link Connect の作成が完了しました!

 

4) Caseを利用した接続依頼

次に、Power Virtual Server のAIX環境とDirect Link Connect の情報を紐付けるための作業を行います。この作業は、IBM Cloud のWEBポータル画面やIBM Cloud CLI 、API からは実施できません。Case を利用して、IBMのSEさん(?) へ接続のリクエストを出します。
Caseとは、IBMのサポートコミュニティの「問い合わせ」のことです

・IBM Cloud のWEBポータル画面の右上にある「サポート」をクリックします。

・「Caseの作成」をクリックします。

・「リソース」を選択します。

・「Caseの作成」画面で以下を選択し「次へ」をクリックします。
> トピック:「Power Virtual Server」をプルダウンから選択
> 名前:「Power Virtual Server-g5」にチェックを入れる

下記の画面に移動したら、依頼内容を記載することができます。

Caseに依頼する情報は、「3) Direct Link Connect の作成」の最後に表示した詳細情報を利用し、以下のように記載しました。Case は英語で記載する必要があります。
実は、日本語でCaseを依頼してしまったことがあったのですが(英語で記入することをすっかり忘れていました)、担当SEさんが丁寧に英語に翻訳してくださって「質問はこういう意味であっていますか?」と返信が来ました。優しいです。
Caseの記載方法はQiitaのブログを参考にさせてもらっています。

サブジェクト:PowerVS : Direct Link 2.0 Request 
説明:
<Inquiry regarding Direct Link Connect for PowerVS>
I ordered Direct Link Connect from IBM Cloud portal and its provisioning has finished.
The detail information is as follows.
Please proceed at Power VS side to establish Direct Link Connect. Thanks.

Data creaged : Tue,Mar 2,2021,13:49:39 JST
Resource group : Default
Provider : IBM POWER VS
Routing : Local
Speed : 1 Gbps
Billing : Metered
User CIDR : 169.254.0.2/30
IBM CIDR : 169.254.0.1/30
BGP ASN : 64999
IBM ASN : 13884
Port : SL-TOK04-POWERIAASLITE-1-1-(ASR1)
Location : Tokyo 4
Service key : (「サービス・キー」にある値を記載します)
BGP status : Idle
VLAN : 3921
Connected VLAN : CIDR
public-192_168_187_32-29-VLAN_2032 : 192.168.187.32/29

・記載が完了したら「Caseの作成」ページの一番下にある「次へ」をクリックします。

・記載した内容を確認し「Caseの送信」をクリックします。

下記のメッセージが出力されたらCaseによる申請が完了しています。

 

数日後・・サポート・センターよりPower Virtual Server 側の接続が完了されたお知らせが来ました。
依頼内容を間違えてしまったのと少しのんびりやっていたので、接続完了まで5日くらいかかりました。Advanced Supportに入っていないので、対応はクイックではない印象ですが、Caseの担当SEさんより私の方がのんびり返信しているので問題ないです。
修正がなければ、2日程度時間を用意していれば確実に接続してもらえそうです。

IBM CloudのWEBポータル画面ではBCPのステータスが「確立済み」になっていました。

Direct Link Connect とPower Virtual Server の接続が完了しました!

 

5) VSI for VPC の作成

Direct Link Connect がPower Virtual Server と接続できたので、IBM Cloud の x86環境とちゃちゃっと接続したいところではありますが、実はまだ仮想プライベート・クラウド(VPC)もIBM Cloud のx86環境(仮想サーバインスタンス(VSI)) もありません。。

そのため、この検証のためにx86環境を作っていきます。画面ショットを取得していない部分は文字のみで説明しています。

・「ナビゲーションメニュー」から「VPCインフラストラクチャー」を選択します。
> 左のメニューから「VPC」を選択し、「作成」をクリックします。

・「新規仮想プライベート・クラウド」の画面で以下のように入力・選択します。
> 名前:tok-vpc(任意の名前でOK)
> リソース・グループ:Default(変更なし)
> タグ:(記載なしのまま)
> Region:「東京」にチェック
> デフォルト・セキュリティー・グループ:「SSHを許可」「Pingを許可」にチェック
> クラシック・アクセス:「クラシック・リソースへのアクセスを有効にします」は無効
> デフォルトのアドレス接頭部:「各ゾーンのデフォルト接頭部の作成」にチェック

・「サブネット」の項目では「サブネットの追加」をクリックします。

・画面の左に「VPC用の新規サブネット」が表示されるので以下の情報を入力し「保存」をクリックします。
> 名前:tok-vpc-subnet(任意の名前)
> ゾーン:「東京1」(東京1~3まで選択できます)
> リソース・グループ:Default(初期値のまま)
> タグ:(記載なしのまま)
> IP選択範囲
>> アドレス接頭部:10.244.128.0/18
>> アドレスの数:256
>> IP範囲:10.244.1.0/24
> ルーティング・テーブル:(記載なしのまま)
> サブネット・アクセス制御リスト:(記載なしのまま)
> パブリック・ゲートウェイ:「接続済み」にチェック

保存が完了したらVPCの作成承認画面になりますので「仮想プライベート・クラウドの作成」をクリックしVPCを作成します。

仮想プライベート・クラウド(VPC)の作成が完了しました!

 

続いて、VPCの中に仮想サーバ・インスタンス(VSI)を作成します。

・「カタログ」に「virtual server」と入力するとリストに「Virtual Server for VPC」が出てくるので選択します。

「VPC用の新規仮想サーバ」の作成画面になります。

・「詳細」では以下の通り入力・選択します。
> 名前:tok-test-vsi(任意の名前でOK)
> リソース・グループ:Default
> タグ:(記載なしのまま)
> ロケーション:東京1(東京1~3が選択できます)
> 仮想サーバのタイプ:パブリック
>    プロセッサー・アーキテクチャー:x86

・「オペレーティング・システム」と「プロファイル」は以下を選択しました。
(SSH鍵はAIXインスタンス作成時に作ったものを利用します)

・「配置グループ」「ブート・ボリューム」「データ・ボリューム」は初期値のままとします。

・「ネットワーキング」では以下を選択します。
> 仮想プライベート・クラウド:tok-vpc (先ほど作成したVPC)

・「ネットワーク・インターフェース」は初期値のままとします。

ここまで入力と選択ができたら左画面に出力されているサマリーを確認し「仮想サーバ・インスタンスの作成」をクリックしてVSIを作成します。

下記のような表示となります。

「状況」が「稼働中」になったら作成完了です(2分くらいで稼働中になりました)。

仮想サーバ・インスタンス(VSI)の作成が完了しました!

 

次に、VSIをインターネット経由でアクセスできるようにするために、浮動IPアドレスを作成して割り当てます。浮動IPは、フローティングIPとも呼ばれています。

・IBM Cloud ポータル画面の左上にある「ナビゲーション・メニュー」→「VPCインフラストラクチャー」→「浮動IP」を選択します。

・「VPC用の浮動IP」の画面で「作成」をクリックします。

左画面に「浮動IPの予約」画面が出力されます。

・「浮動IPの予約」画面では以下を選択・入力します。
> 浮動IP名:tok-test-vsi-ip(任意の名前でOK)
> リソース・グループ:Default
> タグ:(記載なし)
>ロケーション:「東京3」を選択
> バインドするインスタンス:「tok-test-vsi」を選択(作成したVSI)
> ネットワーク・インターフェース:「en0」を選択
すべての設定ができたら「IPの予約」をクリック

浮動IPが割り振られました。

私のPCから作成した浮動IPに疎通できるか確認します。

疎通ができました。

浮動IPの設定が完了しました!

 

6)AIX環境とx86環境の接続確認

いよいよ、Direct Link Connect と VPC を接続します。

・「ナビゲーションメニュー」→「相互接続性(Interconnectivity)」→「Direct Link」で「Direct Link」の画面を表示します。
・左の3つの点をクリックし「接続の追加」を選択します。

・「接続の追加」で以下を選択・入力し「追加」をクリックします。
> 接続の作成:アカウントに新規接続を追加します。
> ネットワーク接続:VPC
> 地域:東京
> 使用可能な接続:tok-vpc
> 接続の名前:tok-powervs(任意の名前)

以下のメッセージが出力されます。

2分程度経つと、状況が「作動可能」になります。

これで、VPC と Direct Link Connect がつながりました。

AIX環境とx86環境間でPing疎通ができるかの確認を行います。

・AIXインスタンスにログインし、VSI環境にpingを投げます。

AIX環境とx86環境が疎通できました!

AIXサーバからVSIのubuntuサーバにssh でログインできることも確認できました。

 

今回で Power Virtual Server のブログは終了です。
検証を通して沢山の新しい知識を培うことができ、とても充実した機会でした!

 

最後に

2021年は多くのお客様が、Power Systems のオンプレミス更改の考え方を見直すと同時に、 クラウド化を本格的に検討されました。

特に、中小企業のお客様は、クラウド化を選択することで得るメリットがお客様ご自身の負担やストレスを減らす手助けになられたように感じます。

2021年10月から、Power Virtual Server は安価な新ネットワークサービスが開始になったり、IBM i  のライセンス移行オファリングが始まったりと、ユーザの目線に立った新機能が続々登場しています。
より身近なクラウドになってきました。

さて、2022年はアフターコロナが訪れるでしょうか。
海外旅行に行きたいです。

 

お問い合わせ

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

エヌアイシー・パートナーズ株式会社
技術支援本部

E-Mail:nicp_support@NIandC.co.jp

 

その他の記事

2025年09月03日

レノボのファンレス常温水冷サーバーって?

公開日:2025-09-03 こんにちは。ソリューション企画部 柳澤です。 みなさま「水冷サーバー」と一言聞いて、何を思い浮かべますか? オフィスに置いてあるドリンク用ウォーターサーバーを思い浮かべる方もいらっしゃいますでしょうか? 弊社のお客様のみなさまはIT業界の皆様ですので、水冷サーバーというとサーバーを特殊な液体のタンクで冷やす「液浸」を思い浮かべる方も多いかと思います。 しかし、この液浸は、タンク設置場所の確保やサーバーを重ねられないといった課題があり、大規模な投資や、床面積の拡大を避けられませんでした。 そこで、液体をサーバー内部の管に通して冷却する「直接液冷」が近年注目されています。 今日のサーバーはかつてないほどの計算能力を要求されており、人工知能(AI)、機械学習(ML)、高性能コンピューティング(HPC)といったワークロードの台頭は、より強力なサーバーと、それに伴うより高度な冷却ソリューションの必要性を浮き彫りにしています。 この状況を受け、各メーカーは水冷サーバーに注力し始めており、今後のサーバー選択において冷却効率が新しい基準として加わることになりそうです。 本日ご紹介するレノボのファンレスの常温水冷サーバーは、革新的な水冷技術を搭載しており、その冷却効率が注目されています。 目次 レノボのファンレス常温水冷サーバーとは 水冷サーバーの導入を検討するお客様の例 関連情報 お問い合わせ レノボのファンレス常温水冷サーバーとは レノボの水冷は「直接液体冷却」技術を採用しています。これらのソリューションは、GPUやCPUのような発熱量の多いコンポーネントを直接冷却しています。 サーバートレイ、シャーシにはファンがない設計なので、とても静かなサーバーです。またファンがないことで電力消費量を削減することにも役立っています。 採用されている液体は99%の純水で、ほぼサラサラの液体となり、環境にもやさしい設計です。 また、この液体が常温から45度の温水でも排熱効果を発揮するので、液体を氷のように冷たくはしなくても効果を発揮する設計になっています。 主な製品と特徴 レノボの水冷サーバーのシリーズのLenovo Neptune™ は、HPC、ミッションクリティカルサーバーはもちろんのこと、従来のラック型サーバーに加え、エッジコンピューティングなどの筐体でも構成できる柔軟な構成オプションが準備されています。 そのためお客様の特定のニーズに合わせてカスタマイズや拡張ができます。 水冷サーバーの導入を検討するお客様の例 Lenovo Neptune™ は、以下のようなお客様にご利用いただくことで特に大きな価値を発揮します。 高性能コンピューティング(HPC):科学研究、シミュレーション、モデリングなど、膨大な計算能力を必要とするHPC環境では、水冷が不可欠です。 人工知能(AI)と機械学習(ML):AIトレーニングや推論は、GPUに大きな負荷をかけるため、効率的な冷却はパフォーマンスを維持するために重要です。 高密度データセンター :限られたスペースに多くのサーバーを詰め込む必要がある場合、水冷は高密度化を可能にします。 エネルギー効率の重視 :持続可能性と運用コストの削減を重視する企業にとって、水冷は魅力的な選択肢です。 エッジコンピューティング :コンパクトで効率的な冷却ソリューションが必要なエッジ環境でも、水冷の利点は大きいです。 どうでしょうか。レノボの水冷サーバーのイメージが変わりましたでしょうか。 ここまでざっと簡単にレノボの水冷サーバー製品をご紹介させていただきましたが、もっと詳しく知りたい、などのご興味ございましたら、ぜひ弊社へお問い合わせいただければと思います。 関連情報 Lenovo サーバー/ストレージ 製品(NI+C Pサイト) 【参加レポート】Lenovo TechDay @ Interop Tokyo 2025(NI+C Pサイト) 第6世代のLenovo Neptune液体冷却が AI 時代を牽引(Lenovoサイト) 【AI電力消費40%削減事例も】レノボの「直接水冷」Lenovo Neptune™(YouTube) お問い合わせ エヌアイシー・パートナーズ株式会社E-mail:voice_partners@niandc.co.jp   .bigger { font-size: larger; } .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; } .table { border-collapse: collapse; border-spacing: 0; width: 100%; } .td { padding: 10px; vertical-align: top; line-height: 1.5; } .tbody tr td:first-child { font-weight: bold; width: 20%; } .tbody tr td:last-child { width: 80%; } .ul { margin: 0 !important; padding: 0 0 0 20px !important; } .ol { margin: 0 !important; padding: 0 0 0 20px !important; } .tr { height: auto; } .table { margin: 0; } *, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; } .html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 62.5%; } .btn, a.btn, button.btn { font-size: 1.6rem; font-weight: 700; line-height: 1.5; position: relative; display: inline-block; padding: 1rem 4rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: all 0.3s; transition: all 0.3s; text-align: center; vertical-align: middle; text-decoration: none; letter-spacing: 0.1em; color: #212529; border-radius: 0.5rem; } a.btn--orange { color: #fff; background-color: #eb6100; border-bottom: 5px solid #b84c00; } a.btn--orange:hover { margin-top: 3px; color: #fff; background: #f56500; border-bottom: 2px solid #b84c00; } a.btn--shadow { -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3); box-shadow: 0 3px 5px rgba(0, 0, 0, .3); }

2025年08月21日

【イベントレポート】watsonx Orchestrate テクニカルワークショップ第一回 開催しました

公開日:2025-08-21 こんにちは。てくさぽブログメンバーの佐野です。 2025年7月17日に「watsonx Orchestrate テクニカルワークショップ」第一回を開催しました。 2024年12月にもwatsonx Orchestrate(以下wxO)のハンズオンセミナーを開催しておりますが、6月にwxOの大幅なアップデートが入り使い方・作り方が大きく変更になったため、最新情報と基本的な使い方をいち早くお届けするべく企画・開催しました。 また、ハンズオンだけでなくワークショップの時間を設け、wxOがどのように使えるのかを参加者同士でディスカッションし、最後に各チーム毎に発表・共有をすることでwxOの理解を進めるとともに参加者同士のコミュニケーションを図りました。 本ブログではこのテクニカルワークショップについて簡単ですがご紹介します。 目次 watsonx Orchestrate概要 watsonx Orchestrateハンズオン ワークショップ まとめ お問い合わせ watsonx Orchestrate概要 旧wxOと比べて新wxOはAgentの開発方法が変わっています。画面が変わったのはもちろんのこと、エージェントで実行部分を示す用語も「Skill」から「Tool」へ変更となっています。他に大きく変わったのは以下の点になります。 新しく「Knowledge」機能が追加され、Agent内にファイルを添付することができ、簡易的なRAGの構成をNo-Codeで実現 Agent内で定義しているToolを呼び出す際に、LLMが自動でチャットに入力されたテキストから必要な情報を抜き出し、Toolへ渡す Agentから他のAgentを呼び出せる(wxO以外のAgentも呼び出せる)Multi-Agent Orchestration機能 「Behavior」に日本語で返答させたりAgentの挙動を定義 人事業務や購買業務、営業業務といった特定業務向けの事前定義Agentを提供 AgentやToolをPythonで実装するためのAgent Development Kit (ADK)および開発者向けのDeveloper Editionを提供 モニタリング機能でAgent処理履歴のトレース情報を参照可能 自社で開発したエージェントを提供する”Agent Connect”というAIエージェントのエコシステム上でマーケットプレイス環境 wxOの各エディション内の機能の変更と課金対象の変更 このように大きな機能追加や使い方の変更が入ったことをご紹介し、理解頂きました。 watsonx OrchestrateでAgentを作成する時の主な設定項目は以下のようなものがあります。 watsonx Orchestrateハンズオン 概要でお伝えしたように、用語も変わった上に画面も新しくなっています。 そのため、AI Agentを動作させるための以下の基本的な操作をハンズオンで体験頂きました。 wxO環境の説明や基本的な操作 Agentの新規作成 Toolの作成・利用 Knowledgeを利用した簡易的なRAG Agent Tool Builderを利用しFlowやCodeblockの作成 Agentから他のAgentを呼び出し これらのハンズオンはCodeblockを除きNo-CodeでWebブラウザ上の操作で実行できるため、プログラミングやシステム開発の知識・経験が無くてもAI Agentを動かすことができます。Codeblock機能はAgentの動作・処理順を定義する”Flow”の中でPythonを使ってデータを操作するための機能であり、簡易的なETLを実現するものです。 今回のハンズオンでは、サンプルとその手順をご用意したので、参加者の方々が一通りのことを体験頂くことができました。実際にハンズオンで体験頂いた内容のサンプルをいくつかご紹介します。 Agentのサンプル1:都市名からお天気情報を返答するAgent APIで他サービスを呼び出し、都市名を入力すると天気と気温を回答してくれます。 複数の都市名を入力し、表形式で回答してもらうこともできます。 Agentのサンプル2:簡易的なRAG Agent ファイルを添付し、そのファイルの内容から回答をしてくれる機能です。 ハンズオンではIBMの2024年度の年次レポートを添付し、その内容を元に財務パフォーマンスのサマリーを回答させました。 ファイルの該当箇所が参照できるので、根拠を確認できるのがよいところです。 ファイルは事前にAgentに添付しておくこともできますし、ユーザー自身がファイルを添付する使い方もできます。 ワークショップ 今回、ハンズオンだけでなくwxOを自社または自社のお客様がどのように利用すると効率化できるか?という観点でチームに分かれてワークショップを行いました。 1チーム4人の合計3チームに分かれてNI+C Pメンバーがファシリテートしながらアイディア出し・ディスカッションを行いました。 最後に各チームのディスカッション結果を発表いただき、「こんなことできたらいいな」というアイディアを全員で共有し合いました。 ワークショップで上がった意見の中からいくつかピックアップします。 市役所の窓口業務を実施するAI Agent チャットだけでなく音声対応もできる 個別業務を処理するTool/Agentと情報参照のRAGを併用してユーザーへの問い合わせへ回答 ブログを書いてくれるAI Agent 過去のブログを参考にして文体や言い回しを自分流に ドラフト書くAgent、推敲Agent、ファクトチェックAgentなど組み合わせ 薬局の在庫予測や自動発注にAI Agentを活用 まとめ 新しくなったwxOのハンズオンを1か月とちょっとで実施するというチャレンジングなワークショップでしたが、無事終えることができてホッとしています。 ご参加頂いた方々からのアンケートで「最新情報を知り、その環境で動作させられたのがよかった」とご意見を頂いており、準備した甲斐があったと嬉しく思っております。 wxOテクニカルワークショップの第二回も企画しておりますし、他の製品についても企画中ですので、この記事をご覧の皆様のお役に立てるよう、今後も企画・実現していきます。 「こんなことやって欲しい」というご意見ありましたら是非ご意見お願いいたします。 お問い合わせ この記事に関するご質問は以下の宛先までご連絡ください。 エヌアイシー・パートナーズ株式会社技術企画本部E-mail:nicp_support@NIandC.co.jp   .bigger { font-size: larger; } .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; } .table { border-collapse: collapse; border-spacing: 0; width: 100%; } .td { padding: 10px; vertical-align: top; line-height: 1.5; } .tbody tr td:first-child { font-weight: bold; width: 20%; } .tbody tr td:last-child { width: 80%; } .ul { margin: 0 !important; padding: 0 0 0 20px !important; } .ol { margin: 0 !important; padding: 0 0 0 20px !important; } .tr { height: auto; } .table { margin: 0; } *, *:before, *:after { -webkit-box-sizing: inherit; box-sizing: inherit; } .html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 62.5%; } .btn, a.btn, button.btn { font-size: 1.6rem; font-weight: 700; line-height: 1.5; position: relative; display: inline-block; padding: 1rem 4rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: all 0.3s; transition: all 0.3s; text-align: center; vertical-align: middle; text-decoration: none; letter-spacing: 0.1em; color: #212529; border-radius: 0.5rem; } a.btn--orange { color: #fff; background-color: #eb6100; border-bottom: 5px solid #b84c00; } a.btn--orange:hover { margin-top: 3px; color: #fff; background: #f56500; border-bottom: 2px solid #b84c00; } a.btn--shadow { -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3); box-shadow: 0 3px 5px rgba(0, 0, 0, .3); }

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; }

back to top