2021年12月

28

【てくさぽBLOG】Azure Stack HCIを導入してみた Vol.1 -Azure Stack HCI構築編-

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

今回はAzure Stack HCIの検証をしてみたので3回シリーズで検証で得られた知見をお伝えします。
検証の目的は、Azure Stack HCIの構築・管理・クラウドとの連携をどのような手順でおこなうのか、使いやすいのか、を実機を使って体感してみることです。

今回は3回シリーズの1回目で、Windows Server 2019の2台をAzure Stack HCIとして構築した手順をご紹介します。

Azure Stack HCIを導入してみた Vol.1 -Azure Stack HCI構築編- *本編
Azure Stack HCIを導入してみた Vol.2 -管理機能編-
Azure Stack HCIを導入してみた Vol.3 -Azureと連携編-
 

Index


 

はじめに

まず、Azure Stack HCIについて簡単に説明します。現在のAzure Stack HCIは2種類あります。1つはクラウドのAzureがサブスクリプションで提供する専用OSを利用するタイプ、もう1つはWindows Serverで提供される機能を利用するタイプです。今回は後者で検証します。
Windows Server が持つ仮想化機能のHyper-VとSDS(Software defined Storage)機能のS2D(ストレージスペースダイレクト)で、外部ストレージを使用しない仮想基盤であるHCI(ハイパーコンバージドインフラ)を実現します。

私は実機を使った検証や構築は初めての経験になります。そのため、うまくできるのか不安な気持ちと楽しみの気持ちの半々で挑みました。

検証機につきましては、レノボ・エンタープライズ・ソリューションズ様から実機をお借りして行いました。
レノボ・エンタープライズ・ソリューションズ様、ありがとうございます!

今回の検証環境の概要図はこちらになります。お借りしたAzure Stack HCIのハードウェアはLenovo ThinkAgile MXの2ノード(以下、MXサーバー)になります。もう1台、周辺サーバー用にSR630(以下、Hyper-Vサーバー)もあります。オンプレ側はこれら物理サーバー3台を使用して検証を行いました。



 

1. 事前準備

MXサーバーでの構築検証の前に以下を実施しておきます。物理サーバーへのWindows Server 2019インストールには、XClarity Controllerの仮想ファイル(ISOイメージ)のマッピング機能を利用したのでインストール用メディアを用意する必要はありませんでした。

  • Hyper-VサーバーにWindows Server 2019 構築。周辺サーバーを仮想マシンで構築するためHyper-Vを有効にします。
  • MXサーバーの2台にWindows Server 2019 構築。ADドメインにメンバーサーバーとして参加しておきます。
  • 以下の2台の周辺サーバーをSR630のHyper-Vサーバー上に仮想マシンで構築します。
    - 周辺サーバー1:Active Directory ドメインコントローラ(以下、ADサーバー)
    - 周辺サーバー2:Windows Admin Centerサーバー(以下、WACサーバー)*Azure Stack HCIの管理をWACサーバーから行います。WACサーバー自体の構築手順は第2回のブログでお伝えします。


 

2. MXサーバー環境構築

2-1. 必要なコンポーネントの追加

WACサーバーにて、ドメインのadministratorアカウントでMXサーバーに接続します。

「役割と機能」にて”Hyper-V”、”データ重複排除”、”Data Center Bridging”、”フェールオーバークラスタリング”の4つの役割と機能を選択してインストールします(2台とも)。

4つの役割と機能を選択すると関連する必要なコンポーネントもまとめてインストールされます。

2-2. ネットワークの設定

今回設定したAzure Stack HCIのネットワーク構成は以下になります。2台のノード間は直接接続し、外部ネットワーク用の物理スイッチとの接続は各ノードとも1ポートです。

今回のネットワーク設定は「Microsoft Storage Spaces Direct (S2D) Deployment Guide」(以下、デプロイメントガイド)という資料を参考にしました。英語資料ですが接続構成毎に詳細に解説してありますので、ぜひMXサーバー構築の際には一読されることをおすすめします。今回はデプロイメントガイド43ページからの「RoCE: 2-3 nodes, direct-connected」という箇所を参考にしました。

MXサーバーにリモートデスクトップ接続して以下の設定作業を行います。2台ありますのでそれぞれで設定します。

以下はホストOSが認識しているネットワークアダプターです。この後、PowerShellで設定していくので、コマンドの入力をしやすくするために「Slot4 ポート1」「Slot4 ポート2」と言う名前になっているMellanoxアダプターの名前を変更します。

”pNIC1-Port1”、”pNIC1-Port2”とそれぞれ変更しました。

続いて”IBM USB Remote NDIS Network Device”を無効にします。これが有効のままだとこの後のフェールオーバークラスタの設定ウィザードでエラーになるためです。

ここからPowerShellで設定します。デプロイメントガイド49ページに沿って実行していきます。以下の設定を行いました。

  • DCBXプロトコルのブロック(Set-NetQosDcbxSettingコマンド)Set-NetQosDcbxSetting
  • 帯域制御(QoS)の設定(New-NetQosPolicyコマンド)
  • SMB-Directのフローコントロールの有効化(Enable-NetQosFlowControlコマンド)
  • その他通信のフローコントロールの無効化(Disable-NetQosFlowControlコマンド)
  • 通信制御をノード間通信用に適用(Enable-NetAdapterQosコマンド)
  • 最低帯域の設定 – SMB-Directは50%、Cluster-HBは1%(New-NetQosTrafficClassコマンド)
  • Mellanoxアダプターのフロー制御を無効にする(Set-NetAdapterAdvancedPropertyコマンド)
PS C:\Users\Administrator> Set-NetQosDcbxSetting -InterfaceAlias “pNIC1-Port1” -Willing $False

確認

この操作を実行しますか?

Set-NetQosDcbxSetting -Willing $false -InterfaceAlias “pNIC1-Port1”

[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “Y”): y

PS C:\Users\Administrator> Set-NetQosDcbxSetting -InterfaceAlias “pNIC1-Port2” -Willing $False

確認

この操作を実行しますか?

Set-NetQosDcbxSetting -Willing $false -InterfaceAlias “pNIC1-Port2”

[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “Y”): y

PS C:\Users\Administrator> New-NetQosPolicy -Name “SMB” -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

Name           : SMB
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
JobObject      :
NetDirectPort  : 445
PriorityValue  : 3

PS C:\Users\Administrator> New-NetQosPolicy -Name “Cluster-HB” -Cluster -PriorityValue8021Action 7

Name           : Cluster-HB
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
Template       : Cluster
JobObject      :
PriorityValue  : 7

PS C:\Users\Administrator> New-NetQosPolicy -Name “Default” -Default -PriorityValue8021Action 0

Name           : Default
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
Template       : Default
JobObject      :
PriorityValue  : 0

PS C:\Users\Administrator> Enable-NetQosFlowControl -Priority 3

PS C:\Users\Administrator> Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

PS C:\Users\Administrator> Enable-NetAdapterQos -Name “pNIC1-Port1”

PS C:\Users\Administrator> Enable-NetAdapterQos -Name “pNIC1-Port2”

PS C:\Users\Administrator> New-NetQosTrafficClass “SMB” -Priority 3 -BandwidthPercentage 50 -Algorithm ETS

Name                      Algorithm Bandwidth(%) Priority                  PolicySet        IfIndex IfAlias

—-                       ———       ————        ——–                     ———          ——- ——-
SMB                       ETS              50                      3                               Global

PS C:\Users\Administrator> New-NetQosTrafficClass “Cluster-HB” -Priority 7 -BandwidthPercentage 1 -Algorithm ETS

Name                      Algorithm Bandwidth(%) Priority                  PolicySet        IfIndex IfAlias

—-                      ——— ———— ——–                  ———        ——- ——-

Cluster-HB                ETS       1            7                         Global

PS C:\Users\Administrator> Set-NetAdapterAdvancedProperty -Name “pNIC1-Port1” -RegistryKeyword “*FlowControl” -RegistryValue 0

PS C:\Users\Administrator> Set-NetAdapterAdvancedProperty -Name “pNIC1-Port2” -RegistryKeyword “*FlowControl” -RegistryValue 0

PS C:\Users\Administrator>

次にHyper-Vマネージャーで仮想スイッチを作成します。Hyper-Vマネージャーは[スタート] ボタン-[管理ツール] -[Hyper-V マネージャー] で実行します。
右ペインの[操作] メニューから”仮想スイッチマネージャー”を開き、”新しい仮想ネットワークスイッチ”を選択して、仮想スイッチの種類として”外部”を選択します。

仮想スイッチを以下のように設定して作成します。

  • 仮想スイッチの名前:S2DSwitch
  • 仮想スイッチの種類:”外部ネットワーク”、物理スイッチに接続している物理NICを選択
  • ”管理オペレーティングシステムにこのネットワークアダプターの共有を許可する”にチェック

すると、”vEthernet(S2DSwitch)”という名前のHyper-v Virtual Ethernet Adapterが作成されました。これがホストOSが利用するネットワークアダプターになります。

次に再びPowerShellで設定を行います。デプロイメントガイド50ページに沿って実行していきます。以下の設定を行いました。

  • MellanoxアダプターへのRDMA有効化(Enable-NetAdapterRDMAコマンド)
  • Intelアダプター(em1)へのRDMA無効化(Disable-NetAdapterRDMAコマンド)
PS C:\Users\Administrator> Enable-NetAdapterRDMA -Name “pNIC1-Port1”

PS C:\Users\Administrator> Enable-NetAdapterRDMA -Name “pNIC1-Port2”

PS C:\Users\Administrator> Disable-NetAdapterRDMA -Name “em1”

続いてこの”vEthernet(S2DSwitch)”にホストOS用の固定IPを設定します。

また、物理スイッチに接続した物理NIC(em1)のプロパティを表示し、”インターネットプロトコル バージョン4(TCP/IP V4)”のチェックボックスがオフでIPアドレスが設定できないことを確認します。

続いてノード間通信用に直接接続しているMellanoxの物理NICに固定IPを設定します。外部ネットワークと接続しないのでデフォルトゲートウェイは指定しません。

最後に、設定した固定IPにpingコマンドが正常に実行されればOKです。

以上で本章の最初に示したネットワーク構成になりました。

2-3. フェールオーバークラスタの構成

引き続きMXサーバーにリモートデスクトップ接続して設定を進めます。フェールオーバークラスターマネージャーは[スタート] ボタン-[管理ツール] -[フェールオーバークラスターマネージャー] で実行します。起動したら、右ペインの[操作] メニューから”構成の検証”をクリックします。

「構成の検証ウィザード」が起動します。MXサーバー2台が選択されていることを確認して「次へ」をクリックします。

テストオプション画面で「すべてのテストを実行する」を選択し、次の確認画面を進みます。

下図のように”検証済み”、”成功”と表示されればテストは完了です。「検証されたノードを使用してクラスターを今すぐ作成する」にチェックを入れて完了します。続けてクラスターの作成ウィザードが始まります。

「クラスタ名」と「クラスタ用IPアドレス」を入力し、次の画面で確認します。

クラスタの作成ウィザードが正常に完了したことを確認します。

続いて、作成したクラスタ名を右クリックし、”クラスタークォーラム設定の構成”を選択します。

クラスタクォーラム構成ウィザードを実行します。構成オプション選択画面では”クォーラム監視を選択する”を選択します。

続いて監視の選択画面では”ファイル共有監視を構成する”を選択します。そして次の画面で利用する共有フォルダのぱすを入力します。今回は事前構築したADサーバー(サーバー名:AD01)上に作成した共有フォルダ(¥¥AD01¥quorum)を指定します。

指定した項目を確認して設定を進めます。正常に構成されたことが確認できました。

フェールオーバークラスタマネージャーにて、両方のノードが稼働中であることを確認したらここまでは完了です。

躓きポイント:

この”クラスタークォーラム設定の構成”の設定で1点躓いたのでご紹介します。
最初に実行した際にウィザードの最後で以下のようなエラーとなりました。

調べると共有フォルダのアクセス権が不足していました。作成した共有フォルダのプロパティ画面の「セキュリティ」タブで2台のコンピュータ名とクラスタ名の3つをコンピュータアカウントとしてアクセス権を”フルコントロール”にして追加します。

この後にクラスタクォーラム構成ウィザードを再度実行したら正常に構成されました。

2-4. ディスクの構成(S2Dの有効化)

リモートデスクトップ接続したまま、引き続きS2D(記憶域スペースダイレクト)を有効にしてディスクの構成を行います。まず「ディスクの管理」ツールで各ディスクが以下のように”未割り当て”となっていることを確認します。

PowerShellでS2Dを有効にします。”Enable-ClusterStorageSpacesDirect”コマンドを実行します。

PS C:\Users\Administrator> Enable-ClusterStorageSpacesDirect
確認この操作を実行しますか?ターゲット ’クラスターの記憶域スペース ダイレクトを有効にします’ で操作’nicp-cluster’を実行しています。[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “Y”): yNode        EnableReportName
——-       ————————
NICP01   C:\WIndows\Cluster\Reports\EnableClusterS2D on 2021.11.11-14.55.16.htm
PS C:\Users\Administrator>

フェールオーバークラスターマネージャーにて、新しくプールとクラスター仮想ディスク(ClusterPerformanceHistory)が作成されて、どちらもステータスがオンラインであることを確認します。

2-5. ボリューム作成

ここからWACサーバーで設定していきます。
WACサーバーにてクラスタを登録してから、クラスタに接続して作成します。

ボリューム画面から「作成」をクリックし、名前とサイズを入力します。今回はtest-vol01という200GBのボリュームを作成しました。

しばらくするとボリュームが作成されます。状態がOKになっていれば利用できます。

プロパティを確認します。作成直後はこのような状態になります。

フェールオーバークラスターマネージャーからも確認してみます。このようにクラスタの共有ボリュームとして作成されていることが確認できました。

以上で共有ストレージを持たない2ノードのクラスタ構成で共有ディスクが作成できました。

これで仮想マシンを作成できるようになりました。

仮想マシンの作成やMXサーバーでの管理機能について検証してみた内容は第2回のブログでお伝えします。

 

さいごに

実機での検証は所々うまく動作せず、調べたり聞いたりと試しながらでしたが6時間ほどで検証は成功しました!
実際にXClarity Controllerを使ってみると操作性も良く、Enterpriseへアップグレードすることによる仮想ドライブのマッピングも便利でした。

Windows Admin Centerではインターフェースが分かりやすかったので、まだまだ触り始めの私でも十分理解出来ました。

個人的にはネットワークの設定辺りで躓くことが多かったです。参考にした手順書を見習いながら設定を進めましたがうまくいかないこともあり、一つ一つ調べながらの作業となりました。

もう少しネットワークの勉強が必要ですね。

 

構築編は以上になります。
如何でしたでしょうか、次は管理機能編になりますので是非ご覧ください。

 

お問い合わせ

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

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

 

その他の記事

2025年12月25日

“AI を学習用ではなく事業の現場に馴染ませる”
本格的なAI時代に誕生したIBM Power11の覚悟とは?

公開日:2025-12-25 本格的なAI時代の到来で、企業にとってIT基盤の存在感はこれまで以上に重みを増しています。IBM Power11は、そうした時代の要請に応えるべく誕生した真のエンタープライズ・サーバーです。堅牢な信頼性と高い処理性能に加え、外付けカードIBM Spyre Acceleratorによって、地に足がついたAIワークロードをすぐに実装できる実用性を備えるに至っています。既に先行ユーザーは、大きな業務効率化の効果を体感しており、このサーバーは単なるハードウェアを超えて、次世代の標準基盤となる期待を集めています。 今回は、日本アイ・ビー・エム(以下、IBM)テクノロジー事業本部 Powerテクニカル・セールス部長 釘井 睦和 氏をお迎えし、AI時代をリードするべくして誕生したIBM Power11の“覚悟”について伺いました。 出席者 ゲスト 日本アイ・ビー・エム株式会社テクノロジー事業本部Powerテクニカル・セールス部長釘井 睦和 氏 インタビュアー エヌアイシー・パートナーズ株式会社技術企画本部テクニカル・サポート部部長 広橋 稔 本格的なAI時代の到来で、さらに重みの増すIT基盤 広橋: 経営とITが不可分となった今日、企業のお客様が直面している課題としてどのようなものがあると考えておられますか。 釘井氏: 本格的にAIの時代が到来したことが非常に大きいと思います。企業競争力の維持を図る上で、もはや、AI活用を抜きに戦略を立てられないというところまで来ています。実践段階に入ってきたこともあり、アナリスト機関IDCによれば、これからはAIエージェントが自らアプリケーションを書くようになると予測されています。その結果、アプリケーションの数は爆発的に増加し、今後10億もの新しいアプリケーションが出現すると予測され、そのうち3分の1はAIによって開発される見込みです。こうなってくると、アプリケーションを支えるインフラは、これまでにないスピードと規模でアプリケーション増加への対応と高い可用性を求められます。計画停止すら許されないミッションクリティカルな業務が増えていくことでしょう。そのような世界では、油断をするとシステムのサイロ化やデータ爆発も起きやすくなるため、その対策も必要です。 その一方で、ランサムウェア攻撃を筆頭に、セキュリティリスクも劇的に高まっており、対策強化も喫緊の課題です。だからといって、ITばかりに予算を使うわけにはいきませんから、そこはコスト最適化を図る目線も要求されます。さらに、少子高齢化社会の進行で、IT人材も確保しづらい状況が続いているため、より少ない人員でより多くのことをカバーできるかといった観点での運用効率化も恒常的なテーマとなっています。つまり、今日の企業が対峙している課題は文字どおり山積しているといえます。 広橋: 確かに、日ごろパートナー企業やエンドユーザー企業のお悩みを聞く中で、こうしたお話はよく伺います。特にAI活用については、意欲を持ちつつも、プレッシャーも感じておられるようです。 AI時代のニーズに応える真のエンタープライズ・サーバー 釘井氏: こうした中、今年登場したIBM Power11は、本格的なAI時代のニーズに応える、真のエンタープライズ・サーバーとして位置づけられています。このサーバーは、単なるハードウェアを超えたまさに“企業の中枢を支える基盤”として設計されており、Powerとして従来から定評のある堅牢性と可用性をさらに進化させつつ、計画停止をほぼ不要とする自律的な運用機能や強靭なセキュリティを標準装備しました。また、最新のDDR5メモリと強化されたI/Oアーキテクチャにより、高負荷のトランザクション処理や大規模データ解析なども余裕を持ってこなすとともに、AI推論も得意とします。IBM Power11は、企業がAI時代に向けて加速できるようIBMが考え抜いたフルスタックのイノベーションです。 広橋: IBM Power11を特徴づけるキーワードをいくつか挙げていただけますか。 釘井氏: 一つは、「0」(ゼロ)です。これは、エンドツーエンドの自動化を実現し、計画的なダウンタイムを0にする、つまり、無停止運転を可能にすることを意味します。 従来はメンテナンスウィンドウを設けて実施していたファームウェア更新、I/Oアダプタ更新、仮想化ソフトウェア更新などを、IBM Power 11ではAutomated Platform Maintenance(APM、プラットフォーム自動保守)機能として、管理コンソールであるIBM Hardware Management Console(HMC)からワンクリックまたは準自動で実行可能です。環境をチェックする更新前準備、パッチ配布、ワークロードの退避・復帰を一連のフローで自動化できるため、停止せずに更新できるというわけです。 また、運用データを横断的に集約し、watsonxですぐに実行できる提案と自動化を結びつける、アプリケーション運用向けのAIオートメーション基盤 IBM Concertがあります。Concert for Powerでは、Powerインフラの脆弱性を検出して、現行バージョンに照らして優先度をAI算定、その後に推奨手順を提示し、必要に応じて更新をゼロ計画停止で実行するところまで担います。ここでいう実行とは、HMC/PowerVMが担う処理をConcertが呼び出して一気通貫に自動実行することを意味しています。 広橋: サーバー停止は業務に支障を及ぼしかねず、利用部門や経営層からの圧力も大きいため、情報システム部門としてはなるべく回避したい運用ですから、安定して動き続けてくれるならそれに越したことはないですね。 釘井氏: はい。もう1つのキーワードは「

2025年12月25日

VMware問題で生じる保守のすき間に、 IBM第三者保守という「つなぎ保守」を

公開日:2025-12-25 ブロードコムによるVMware買収により、多くのユーザー企業が大幅なコスト増か、保守なしでのリスク運用か、という究極の選択を迫られています。そういった企業に対して、日本アイビーエム(以下、IBM)では、「VMware第三者保守サポートサービス」を提供しています。これは、IBMがグローバルレベルでVMwareテクノロジーの知見を収集できる特性を活かして、高い解決率で保守サービスを提供するというもの。 今回は、サービス提供部門の方々をお招きし、このサービスの詳細とメリットとともに、なぜVMware第三者保守を手がけるのかについて深掘りしていきます。 出席者 ゲスト 日本アイ・ビー・エム株式会社テクノロジー事業本部テクノロジー・サービス事業第三営業部 部長 井上 亜矢子 氏 日本アイ・ビー・エム株式会社テクノロジー事業本部テクノロジー・サービス事業R&E第一営業部 山谷 怜 氏 日本アイ・ビー・エム株式会社テクノロジー事業本部テクノロジー・サービス事業R&E第一営業部 山口 英俊 氏 インタビュアー エヌアイシー・パートナーズ株式会社営業本部カスタマーサービス営業部第2グループグループ長 平嶋 英良 突然訪れる保守なしからのリスクをカバーするサービス 平嶋: ブロードコムによるVMware買収、いわゆる“VMware問題”では、多くユーザー企業の間で激震が走りました。大きなインフラコストの上昇を引き起こす要因となったからです。そうした中でIBMは「VMware第三者保守サポートサービス」を提供されている背景をお聞かせください。 山口氏: 買収によって、ライセンスとサポートの考え方が大きく変わりました。従来、ライセンスに関しては、「Perpetual 永続ライセンス」といって、一度購入すれば、期限無制限で永続的に使用する権利が得られました。サポートは、この永続ライセンスに対して有期限で別途契約する形態となっていました。しかし、サブスクリプション・ライセンスへと変更となり、ライセンスは有期のライセンスを新たに買い直すとともに、サポートもライセンスに同梱されることとなりました。したがって、サポートは、ライセンスと同じ期間の権利を買うことが求められることになりました。(図1)。 図1 ”仮想マシンのみ”からコンテナ利用環境へのモダナイゼーション これは、お客様にとって2つのことを意味します。サブスクリプション・ライセンスに移行すればインフラコストの大幅な上昇になり、かといって永続ライセンスにとどまれば、従来のサポート契約期間満了時からサポートが受けられなくなる。つまり、サポートにすき間が生じるリスクが生じます。障害が起きても情報システム部門で対応するという方法もありますが、VMware環境の運用には専門的な知識が必要で、現実的とは言えません。 平嶋: 多くのユーザー企業がジレンマを抱えておられるようです。 山口氏: そうなのです。そこでIBMは、こうした保守なしのリスク運用が生じないように、当社の実績ある第三者保守サポートの枠組みを通じて、経験豊富な技術者チームによるVMware 環境の安定稼働の支援と、コスト最適化効果を提供することを考えました。それが、「VMware第三者保守サポートサービス」です。 このサービスは、これを機に別のインフラ環境へマイグレーションしたり、モダナイゼーションしようと考えるお客様にも有効です。このようなプロジェクトは通常、多くの時間を要します。その間に従来のサポート契約満了日が来てしまうことも考えられ、リスクを避けようとすると、この日に合わせて急いで移行するか、いったんサブスクリプション・ライセンスを受け入れながら、新システムプロジェクトを進めるということになり、新旧インフラコストを負担しなければなりません。しかし、「VMware第三者保守サポートサービス」を利用すれば、既存システムのサポートはこちらでカバーできるため、拙速に陥ることなく、余裕を持ってマイグレーションやモダナイゼーションに取り組むことができます。 井上氏: また、サブスクリプション・ライセンスに移行したけれど、稼働しているアプリケーションの事情で、VMware の古いバージョンを使い続けているという場合もあるかと思います。メーカーではサポートするバージョンが限られているため、サポート契約を結んでいても、それがあまり効果を発揮できないケースがあります。「VMware第三者保守サポートサービス」なら、比較的古いバージョンでもサポートを提供することが可能ですので、こちらを追加でお買い求めいただいてご活用いただく、というパターンもあります。 平嶋: なるほど。様々な状況で、コストを含めて、お客様に安心を提供できるサービスなのですね。 「VMware第三者保守サポートサービス」とは 平嶋: あらためてサービスの詳細をご紹介ください。 井上氏: サービス名称にもある通り、この枠組みではIBMはあくまで第三者であり、メーカーではないため、パッチの提供は行いません。何か事象が起こったときは、お客様からログなどをいただいて、「この設定をこのように変えてください。そうすればこの事象は回避できるはずです」と、事象の回避策を提案します。なぜこのようなことができるかというと、IBMにはグローバルレベルでVMwareのスキル、ノウハウに精通した協業パートナーが存在し、また、様々なお客様において提供したサポートの実績も蓄積しているからです。当社の技術チームがそこから事例やデータの提供を受けながら技術調査を行い、的確かつ最適な回答を追求して問題対応に当たります。ただ、あくまでも立場は第三者であるため、このサービスはベストエフォートでのサポートとなります。しかし、IBMでは、Oracleを含め第三者保守では豊富な実績を誇っており、回避策の提供で解決しない事象はほぼありません。 平嶋: お客様からはどのように相談を受けるのですか。 井上氏: ご相談は24時間365日Web上で受け付けています。対応に当たるのは平日9時から17時になります。 平嶋: IBM製品をお使いのお客様ですと、「システム技術支援サービス」 (System Technical Support Services、以下STSS)をご利用になっているケースもあるかと思いますが、その場合はどうなるのでしょうか。 井上氏: その場合は「IBM サポート・コミュニティ」にご連絡いただければ、STSS側で「これはVMwareの問題だね」と認識して、IBM内部でVMware担当と連絡を取り合って、受付/対応を行います。お客様は窓口を使い分ける必要なく、ワンストップサービスのイメージでご利用いただけます。 図2 IBM VMware第三者保守サポートサービスご提供体制 平嶋: 契約条件などはあるのでしょうか。 井上氏: ライセンス数は“20”から、契約期間は3カ月以上、3年以下とさせていただいています。ライセンス数“20”というのは、日本のVMwareユーザーのお客様を調査したところ、大体平均でこのぐらいの数はお持ちであることがわかり、“20”に設定させていただきました。 平嶋: 契約期間を3カ月以上、3年以下に設定されているのはなぜですか。お客様によっては、もっと長く保守してほしいというご要望があるような気がします。 井上氏: 3カ月以上というのは採算上の問題です。長い分には、5年でも、10年でも保守をお引き受けすることはサービス設計上可能ではあるのですが、あえて3年以下とさせていただいたのには、ここにIBMとしての「思い」があるのです。 次を見据えたシステム移行のための「つなぎ保守」 山谷氏: その「思い」というのは、この第三者保守について、次を見据えたシステム移行を考える上で一つの手段とする、「つなぎ保守」として活用いただきたいというものです。技術革新の著しいITの世界にあって、一つのインフラを長く使い続けるのはあまり健全ではないと私たちは考えています。そのため、あえて「VMware第三者保守サポートサービス」を恒久的に使っていただくことが目的とならないようにと考えています。そこが、他社さんの第三者保守との非常に大きな違いです。お客様にとって重要なのは、この先どのようなインフラが最もふさわしいかを考えることです。一緒に知恵を絞らせていただいてお手伝いしながら、実現するまで既存の環境をお守りする、というのが私たちのスタンスなのです。これは、IBMにはハードウェアでもソフトウェアでも様々な部門があり、多様な支援が可能だからということもあります。 平嶋: VMwareからの移行では、なにかモデルパターンを想定されているのでしょうか。 山谷氏: 移行のパターンはたくさんあると思います。Hyper-VやKVMなど他社製のハイパーバイザーへ移行することもその一つですし、これを機にクラウドへシフトするということも考えられます。お客様によっては非常に大規模で複雑なVMware基盤をお持ちの場合もあると私たちは考えており、一筋縄でいかない環境に対して、新しいインフラをどう構想するか、また移行するか、そして稼働後にどう運用保守していくか、といったところまでご相談に乗ることが可能です。 山口氏: そういう意味では、金融業界のお客様はこう、製造業のお客様はこう、と、お客様の業種・業態によってもさまざまなパターンが考えられるかもしれないですね。IBMは全ての業種・業態のお客様とリレーションがありますので、そうしたナレッジも活かしながら、お客様にヒアリングをさせていただき、システム移行を一緒に検討していければと考えています。また、検討フェーズではパートナー企業の存在、また共創も重要で、ここはNI+C P様に主導権を握っていただければ。「こういう提案をしたい」といただいた声に対して、「それならこのようなソリューションがあります」と応えていきたいと考えています。 余裕を持った最適解の選択をNI+C Pもサポート 平嶋: こうして見ると、「VMware第三者保守サポートサービス」には、大きく4つのメリットがありそうです。1つ目は、 サポート保守なしリスクを伴う運用を防ぎ、万一の障害にも備えられること。2つ目は、 それでいながらコストを最適化できること。3つ目は、ベストエフォートではあるけれど、グローバルレベルでVMwareの高い知見を収集できるIBMの特性を活かした、安心感の高いサポートを受けられること。4つ目は、既存のインフラ環境の“次”を見据えて検討し、実現できるパートナーを持てること。4つ目に関しては、ぜひ当社も貢献したいですね。 山口氏: お客様には、この「つなぎ保守」のメリットを活用し、インフラ環境のマイグレーションやモダナイゼーションに成功していただきたいと思います。 平嶋: インフラ環境の移行は長期的な計画が必要です。このサービスを活用することで「時間」と「安心」を確保でき、拙速を避けて、余裕を持って最適解を選ぶことができます。NI+C Pでは、IBMのハードウェア(保守を含めたサービスやサーバー、ストレージ)とソフトウェア(Storage Fusion、watsonxなど)を組み合わせた最適なソリューションを示すことができます。また、製品の特長やユースケースを分かりやすく説明し、お客様課題の解決策も提案させていただきます。VMware問題でお困りの際は、ぜひお気軽にご相談いただければと思います。 .recommend-list{ margin-top: 0px; } ol.recommend-list li { color: #9b9b9b; } #recommend{ font-family: "Noto Sans Japanese"; font-size: 16px; font-weight: 700; color: #9b9b9b; border: none; padding: 0; margin-bottom: 10px; } .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; } .interviewee { font-weight: bold; } figcaption { color: #7c7f78; font-size: smaller; } #box03 { position: relative; margin: 4em 0; padding: 0.5em 1em; border: solid 3px #95ccff; border-radius: 8px; } #box03 .box-title { position: absolute; display: inline-block; top: -13px; left: 10px; padding: 0 9px; line-height: 1; font-size: 19px; background: #FFF; color: #95ccff; font-weight: bold; } #box03 p { margin: 5px; padding: 0; font-weight: bold; } #box04 { position: relative; margin: 4em 0 0 0; padding: 0.5em 1em; border: solid 3px #3193CA; } #box04 .box-title { position: absolute; display: inline-block; top: -27px; left: -3px; padding: 0 9px; height: 25px; line-height: 25px; font-size: 17px; background: #3193CA; color: #ffffff; font-weight: bold; border-radius: 5px 5px 0 0; } #box04 p { margin: 0; padding: 0; } #box_blockquote { position: relative; margin: 4em 0; padding: 0.5em 1em; border: solid 3px #8d8d8d; } #box_blockquote .box-title { position: absolute; display: inline-block; top: -27px; left: -3px; padding: 0 9px; height: 25px; line-height: 25px; font-size: 17px; background: #8d8d8d; color: #ffffff; font-weight: bold; border-radius: 5px 5px 0 0; } #box_blockquote p { margin: 0; padding: 0; } .memo{ color:#53851b ; background-color: #c8d7b7; font-size:70%; } #blockquote_nicp{ padding:10px; margin-bottom:0px; background-color:#ffffff; } #blockquote_nicp_link{ color:#7c7f78; font-size:70%; } #h5_nicp{ font-size: 12px; padding:4px 10px; border:none; background-color:#afd2f453; }

2025年12月24日

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

公開日:2025-12-24 こんにちは。てくさぽBLOGメンバーの和田です。 2025年11月26日に「Automation テクニカルワークショップ」第一回を開催しました。 本ワークショップは、2025年7月および9月に実施した「watsonx Orchestrate ハンズオンセミナー」に続く取り組みとして、IBM Automation製品群の中で弊社が注力しているAIOpsソリューションを中心に企画検討し、利用イメージがつきやすいInstanaのハンズオンを実施しました。 ハンズオンだけでなくワークショップ形式でのセッションを通じて、ITシステム運用の現場で直面する課題をどのように解決できるのか、Instanaを活用した具体的な方法を参加者同士が議論しました。また、セッションの最後には各チームごとに成果を発表・共有する場を設け、Instanaに対する理解を深めるとともに、参加者間の交流を促進することを目的としました。 本ブログでは、このテクニカルワークショップの内容について簡単にご紹介いたします。 目次 ワークショップアジェンダ Instana概要 Instanaハンズオン グループワーク まとめ お問い合わせ ワークショップアジェンダ ワークショップのアジェンダについては以下の通り実施いたしました。 IBM AIOpsソリューション概要 Instana 座学 Instana ハンズオン Instana最新情報 グループワーク IBM AIOpsソリューション概要では、IBMが取り揃えているAIOpsソリューションのラインナップと利用シーンをご紹介し、その中でもお客様のROIが高いお勧めのソリューションをピックアップしてご紹介しました。 また、Instana最新情報ではIBM様にご登壇いただき、DBMarlinとの連携やAIでの監視支援、LLMのトークン数を収集できる機能など最新アップデート情報をご紹介いただきました。 Instana概要 Instanaについては過去にこちらの記事でご説明しております。 今回はInstanaのAgentを導入することからハンズオンで実施しますので、Instana Agentがどのようにデータを収集するかについてご説明します。 InstanaはAgentのセンサー機能が監視対象を自動検出してデータ収集します。 Agent自体がセンサー機能を持っているわけではなく、Agentインストール後にセンサー機能をインストールし、そのセンサー機能で各コンポーネントを検出しデータを収集しています。 Instana Agentは収集したデータをInstana バックエンド(SaaSもしくは自己ホスト)に送信します。   Instanaハンズオン Instana Agentの導入からInstanaでの情報確認、障害発生時のエラー発生箇所確認をハンズオンで体験頂きました。 実施内容 環境の説明/ログイン Instana Agentのインストール インフラストラクチャー情報確認 アプリケーション設定/アプリケーション情報確認 アラートチャネル作成/アラート設定 障害注入/エラー発生箇所確認   今回のハンズオンではサンプルアプリケーションを導入してあるサーバーを参加人数分ご用意したので、参加者の方々全員がInstana Agentの導入を体験いただけました。 ハンズオンではInstana Agentの導入を行うためCLIでサーバーにログインいただきました。 普段CLIを利用されないかたもいらっしゃったのでログインに苦戦された方もいましたが、AgentのインストールはLinuxの場合ワンライナーで導入できるため、Agent導入はスムーズに行えてました。 実際にAgent導入したサーバの情報やアプリケーションの情報をみていただくことで、Instanaではどういった情報が表示されるのか、どういった操作感なのかを体験していただけました。 また、サンプルアプリケーションにエラーを発生させるスクリプトもご用意しましたので、実際にエラーが起きた場合正常時と比較しどのように見えるか、アラート設定をした場合、どのような通知がくるのかを体験いただきました。 その他のハンズオンについて詳しく知りたい方は、ブログの最後に記載している「お問い合わせ」までお気軽にご連絡ください。 グループワーク 今回、ハンズオンだけでなくITシステム運用の現場における課題を洗い出し、それらの課題を解決する手段としてInstanaがどう使えるかという観点でチームに分かれてグループワークを行いました。 1チーム4,5人の合計3チームに分かれてNI+C Pメンバーがファシリテートしながらアイディア出し・ディスカッションを行いました。 当日上がった課題及びInstanaを活用することで改善できることをいくつかピックアップします。 運用の属人化がおきている 障害原因の特定までをInstanaがガイドしてくれるためどんな人でも対応できる ログの分析に時間がかかる Instanaの画面上でログの確認・分析ができるため時間短縮できる ご参加して頂いたパートナー様が携わっていらっしゃる業務や、業務の経験年数が異なることより多様な意見が出ておりました。 アドバイザーで参加いただいたIBM様も含め、各チーム貴重な意見交換をできるグループワークとなりました。 グループワークの感想について、「他の会社の意見が聞けてよかった」や、「Instanaを利用するシーンがより理解できた」といったような意見をいただきました。 まとめ このたび、Automation製品に関する初めてのワークショップを無事に開催することができ、安堵しております。 ご参加いただいた皆様からのアンケートでは、「はじめてInstanaに触れましたが、実際に障害が発生した際の挙動を見ることができたうえ、他社の方々との交流や意見交換の機会もあり、大変有意義な時間となりました」とのご意見をいただきました。このようなお声をいただけたことで、準備を重ねてきた甲斐があったと感じ、心より嬉しく思っております。 今後も、製品を実際に体験いただけるハンズオンや、参加者同士が交流・情報共有を行えるワークショップを継続的に開催してまいります。ご興味ある方は是非ご参加いただけますと幸いです。 また、「こんなことをやってほしい」「この製品を使ったワークショップをお願いしたい」といったご要望がございましたら、ぜひお気軽にお聞かせください。 お問い合わせ この記事に関するご質問は以下の宛先までご連絡ください。 エヌアイシー・パートナーズ株式会社 技術企画本部 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年12月24日

【てくさぽBLOG】IBM watsonx OrchestrateでAIエージェント開発してみた(Part1)

こんにちは。てくさぽBLOGメンバーの高村です。 8月は「【てくさぽBLOG】IBM watsonx OrchestrateのADKを使ってみた」でADKの操作感や感想をご紹介しました。今回は、2025年6月のアップデート後のwatsonx OrchestrateのUIからエージェントを開発し、操作感や感想を2回に分けてご紹介いたします。なお、Part2ではエージェントのデモ動画もご紹介する予定ですのでぜひご期待ください! 目次 はじめに サンプルエージェントのシナリオ サンプルエージェント開発 さいごに お問い合わせ はじめに 6月のアップデートで、watsonx Orchestrateはメニュー構成・操作方法・機能名称が変更されました。例えば、従来「Skill」と呼ばれていたものが「Tool」に変更されています。Toolとは、AIエージェントが呼び出して実行するアクションの部品と考えて頂ければと思います。ユーザーがチャットへ自然言語で問い合わせると、AIエージェントは内容に応じて適切なツールを選択して実行します。これにより、生成AIによる要約や抽出などのテキスト処理だけでなく、外部システムやサービスと連携した処理も行うことができます。 その他の変更点については、「【イベントレポート】watsonx Orchestrate テクニカルワークショップ第一回 開催しました」内でもご紹介していますのをご参照ください。 サンプルエージェントのシナリオ サンプルエージェントのシナリオは、企画担当者が在庫商品を参照し、在庫情報に基づいて顧客へキャンペーンメールを送信する作業を想定しています。 通常は、担当者が在庫情報を確認するためにデータベースへログインし、目視でキャンペーン対象商品を選定したうえでメールの文面を作成することが想定されます。キャンペーンメール送信対象はSFAなどのシステムで確認し、メールツールを利用して送信します。振り返ると、データベース・SFA・メールツールと複数のシステムを利用し、対象商品の選定やメール内容を人力で考える必要があるため、作業は煩雑で時間と労力を要します。 watsonx Orchestrateを導入すると、AIエージェントが在庫情報と顧客情報の取得し、在庫の多い商品のキャンペーンメール文面をAIが作成し、メールの作成・送信までを一気通貫で実行することが可能です。 サンプルエージェントの開発 それではサンプルエージェントを開発します。開発ではIBM Cloud 上の watsonx Orchestrate、メールツール(Brevoに弊社アカウントを紐づけて利用)、SFA の Salesforce(弊社 Sandbox 環境)を利用します。 本記事Part1では図のピンクで囲った部分「Salesforceから顧客情報を取得」と「在庫情報の取得」をご紹介いたします。 watsonx Orchestrateへログイン・環境のご紹介 watsonx Orchestrateへのログイン方法は「【てくさぽBLOG】IBM watsonx Orchestrateを使ってみた(Part1)」をご参照ください。ログインすると下記のチャット画面に入ります。作成したAIエージェントをデプロイすると、このチャット画面から問い合わせをすることができます。 左上のメニューバーをクリックします。一番上の「Chat」をクリックすると前述のチャットインターフェース画面に遷移します。「Discover」をクリックするとwatsonx Orchestrateに事前定義されたエージェントやツールのカタログをみることができます。 「Discover」内の事前定義エージェント、ツールを簡単にご紹介します。TypeをAgentsに絞ります。事前定義エージェントとは、特定のシステムとの接続が定義されたエージェントが提供されており、環境接続設定を行うとすぐ利用することが可能です。(watsonx Orchestrateのプランによっては追加費用がかかるエージェントがございます。) TypeをToolsに絞ると特定システムで利用できるツールが提供されています。下記画面はSalesforceで利用できる事前定義ツールの一覧です。今回はSalesforceから顧客情報を取得するため「List accounts in Salesforce」と「List contacts in Salesforce」のツールを使用します。ツールの機能は下記になります。 List accounts in Salesforce:ユーザーの入力に基づき、Salesforceからアカウント情報を表示 List contacts in Salesforce:ユーザーの入力に基づき、Salesforce からアカウントの連絡先を表示 Salesforceとの接続設定 Salesforceの事前定義ツールを用いてエージェントが顧客情報を取得できるようにするため、はじめにSalesforceとの接続設定を行います。 1. Salesforce側設定(コンシュマー鍵と秘密鍵の生成) Salesforceへログインし、設定>外部クライアントアプリケーション>外部クライアントアプリケーションマネージャーをクリックします。コールバックURLは「https://ご使用リージョン/mfe_connectors/api/v1/agentic/oauth/_callback」と設定します。OAuth範囲は下記画面の通りを設定します。 コンシュマー鍵と秘密鍵をクリックし、生成されたコンシュマー鍵と秘密鍵をメモをしておきます。Salesforceの設定は以上です。 2. watsonx Orchestrate側設定(接続設定と接続確認) watsonx OrchestrateのメニューからManage>Connectionsをクリックします。 接続設定の一覧が表示されるのでSalesforceを探し、鉛筆マークをクリックします。 下記画面が表示されます。Draft環境、Live環境と環境を分けて設定することができます。今回はDraftで設定します。各項目には以下を値を入力します。 Server URL:Salesforce環境のURL TokenURL:Salesforce環境のURL/services/oauth2/token Authorization URL:Salesforce環境のURL/services/oauth2/authorize ClientID:Salesforceで取得したコンシュマー鍵 Client Secret:Salesforceで取得した秘密鍵 下にスクロールし、Credential typeを選択します。Member credentialsにするとユーザーは個人の認証情報を使用してアプリケーションにアクセスできます。ここではTeam credentialsにし、チームメンバーが資格情報を使用してアプリケーションにアクセスできるようにします。最後にConnectをクリックします。 Webブラウザが開き、Salesforceのログイン画面が表示されます。ユーザ名、パスワードを入力してログインします。 watsonx Orchestrateの画面に戻り、Connectedとなっていることを確認しSaveします。 下記の様にConnectされている状態で緑のチェックがついていることを確認します。 Salesforceとwatsonx Orchestrateの接続設定は完了です。 Salesforceの事前定義ツール構成 それではエージェントを作成し、Salesforceから顧客情報を呼び出すツールをエージェントに構成していきます。 メニューのBuildをクリックします。 Create agent +をクリックしてエージェント作成画面に入ります。 Nameには任意のエージェント名、Decriptionはエージェントの説明を入力します。最後にCreateをクリックします。 下記画面が表示されます。エージェントが使用するモデルを選択します。2025年12月時点はllama-3-2-90b-vision-instruct(Default)、llama-3-405b-instruct、GPT-OSS 120B-OpenAI(via Groq)が利用できます。Agent Development Kitからは外部のLLMを紐づけることも可能です。弊社環境はgpt-oss-120bを紐づけています。今回はGPT-OSS 120B-OpenAI(via Groq)を指定します。 下にスクロールします。Welcomeメッセージとクイックスタートプロンプトを設定することができます。今回はデフォルトのままにします。 Agent Styleを設定することができます。Agent styleとはユーザの要求に対してどのように理解、決定、タスクを完了するか定義するものです。現在は DefaultとReActの2種類から選択することができます。今回はDefaultを指定します。 なお、Voice modalityではユーザとのコミュニケーションに音声を利用することができますが、今回は利用しません。 KnowledgeはエージェントでRAGを実装することができます。後程設定します。 エージェントが使用するツールを設定します。Toolset欄のAdd tool+をクリックします。 以下画面が表示されるのでCatalogをクリックします。 Appsの中からSalesforceにチェックを入れます。右側にエージェントが使用できるSalesforceのツール一覧が表示されます。 List accounts in Salesforceを選択しAdd to agentをクリックします。同様にList contacts in Salesforceも追加します。 Toolsetの画面に戻ると以下の様にツールが登録されています。 Behaviorのセクションまで下にスクロールします。Behaviorではエージェントがユーザの要求に対してどのように反応し、応答するか振る舞いを定義します。以下のように振る舞いを定義します。 ここまで設定したところでエージェントの動きを確認します。検証ではデプロイはせず右画面のPreviewから確認したいと思います。 チャットに「アカウントリストを教えて」と入力します。しばらくするとエージェントが登録したList accounts in Salesforceを使用してSalesforceからアカウント情報を取得、回答してくれました。(企業名は検証用に疑似的に作成しています) 次に担当者の連絡先を知りたいので、チャットへ「D&Gソリューションのコンタクトリストを表示して」と問い合わせます。しばらくすると、エージェントが指定した企業名をキーに「List contacts in Salesforce」を実行し、担当者名と連絡先を回答してくれました。このように、ツール自体はSalesforceからアカウント情報やコンタクトリストを取得する機能ですが、チャットで指定した企業名をキーとして、エージェントが絞り込んで回答することができます。 Salesforceの事前定義ツールの構成は完了です。 Knowledgeの構成 エージェントが在庫データから情報検索できるようにKnowledgeを構成します。2025年12月時点、構成できるデータソースはwatsonx.dataのMilvus、Elasticserch、AstraDB、カスタムサービス、watsonx Orchestrateへ直接アップロードの6つです。ここではサンプルのCSVファイルを用意し、直接watsonx Orchestrateへアップロードします。 Knowledgeセクションまでスクロールし、Add source +をクリックします。 New knowledgeをクリックします。 Select sourceからUpload filesを選択してNextをクリックします。 CSVファイルをドラッグアンドドロップしてNextをクリックします。 NameにはKnowledgeの任意の名前を、Descriptionにはユーザーからどのような要求でKnowledgeを使用するかを入力します。最後にSaveをクリックします。 下記画面の通り、Knowledgeが作成されました。 PreviewからエージェントがKnowledgeを使用して回答できるか確認します。チャットから「在庫情報を表形式で回答して」と問い合わせると下記画面のようにKnowledgeのCSVファイルデータを参照して表形式で回答されました。 矢印をプルダウンすると参照先を確認することができます。 行数が多いため、「在庫の多い上位5件を表形式で回答して」と問い合わせます。しばらくすると数量の多い上位5件の商品を表形式で回答してくれました。在庫一覧の提示だけでなく、ユーザーの要求から、情報を絞り込んだ回答も可能であることが確認できました。 Knowledgeの構成は完了です。 さいごに Part1ではAIエージェントを作成し、Salesforce環境へ接続して事前定義ツールを用いて顧客情報を取得。さらに、在庫データをKnowledgeに構成してRAGを実装しました。 今回はSalesforceの事前定義ツールとして「List accounts in Salesforce」と「List contacts in Salesforce」を構成しました。各ツールはアカウントやコンタクト情報をリストする機能ですが、List accountsの結果をAIが受け取り、ユーザーが特定の企業を指定すると、その企業のコンタクト情報を回答できることが確認できました。また、Knowledgeでは在庫データを表形式で提示するだけでなく、在庫の多い上位5件の抽出などの絞り込みも可能で、エージェント的な振る舞いを確認できました。 Part 2では、在庫の多い商品を基にAIがキャンペーンメールを作成し、コンタクト宛に送信する機能をエージェントへ実装したいと思います! お問い合わせ この記事に関するご質問は以下の宛先までご連絡ください。 エヌアイシー・パートナーズ株式会社 技術企画本部 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); }

back to top