2023年08月

25

【てくさぽBLOG】IBM Cloud Schematicsを使ってPower Virtual Serverをプロビジョニングしてみた

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

今回は IBM Cloud Schematics(以下 Schematics)を利用して IBM Power Virtual Server のプロビジョニングを検証してみました。

IBM Cloud Schematics とは、Infrastructure as a Code(以下 IaC)を提供する IBM Cloud のマネージドサービスです。
IaC や Schematics などについてご存じでない方もいらっしゃると思いますので、順番にご紹介します。

IaCとは?

IaC はインフラストラクチャの設定や管理をコードで行うアプローチです。
具体的には、サーバーやネットワークなどのインフラストラクチャをコードで定義し、必要な時に実行し展開・変更することができます。

IaC を利用するメリットとしては以下が挙げられます。

  • 構築・管理の効率化:
    インフラストラクチャをコードとして管理することで構築・管理を自動化することができます。またコードを再利用することもできるため、複数の環境に対して同じ構成やリソース追加を効率的に構築することができます。
  • 共有の容易化:
    IaC は通常、ソースコード管理システム(Githubなど)を使用してコードを管理します。これにより、チームメンバーとの共有・変更の管理が容易になります。
  • 人為的ミスの削減:
    人為的なミスのリスクが減り、変更の管理やインフラストラクチャの状態の監視も容易になります。

以下はコードが実行される流れを表した図です。
作業者がコードを作成し、そのコードを Gitリポジトリなどにアップロードすると構成管理ツールによってコードが実行され、自動的に環境が構築される流れになります。

コードが実行される流れ

IaC を実現するためには構成管理ツールを利用します。
代表的なツールとしては「Terraform」「Ansible」「chef」などがあります。
以下に簡単にご紹介します。

  • Terraform:
    インフラストラクチャのコードを記述することで、インフラストラクチャの作成、構成、および変更を自動化します。Terraform は主に IaaS に焦点を当てており、インフラストラクチャの構成及び状態の管理に使用されます。
  • Ansible:
    構成管理、アプリケーションのデプロイ、タスクのオーケストレーションなど、幅広い自動化タスクに使用されるツールです。主に構成管理とアプリケーションのデプロイに使用されます。
  • Chef:
    Chefサーバーとクライアントを使用して設定を管理します。主にシステム設定やソフトウェアの導入などの自動化に使用されます。

ツール毎に得意とする分野があり、使用目的や環境に応じて使い分けられています。
これからご紹介する Schematics は上記の Terraform や Ansible の機能を統合し、IBM Cloud環境での IaC を実現するマネージドサービスです。

Schematicsとは?

Schematics は IBM Cloud のサービスの一つとして提供されるマネージドサービスです。

Schematics自体は無償サービスで、プロビジョニングしたリソースに対し費用が発生します。
2023年8月時点で、Schematics自体のリソースは北アメリカやヨーロッパなど一部の地域に作成されます。
ただし IBM Cloud のリソースを作成する場合は、Schematics のロケーションに関係なくどこでも作成することができます。

Schematics は大きく分けて3つの機能を利用することができます。

  • Schematicsワークスペース:
    Terraform の機能を利用し、IBM Cloud環境へのリソースのプロビジョニングと構成の管理の自動化を行います。
  • Schematicsアクション:
    Ansible as a Service機能を利用し、構成の管理及びアプリケーションを IBM Cloud環境にデプロイします。
  • Schematics Blueprints(2023年8月現在ベータ版):
    定義したインフラコードをモジュールとして取り扱い、組み合わせることで大規模環境をデプロイします。

Schematicsワークスペースと Schematicsアクションの使い分けとしては、リソースのプロビジョニングは Schematicsワークスペースを利用し、ソフトウェアのデプロイや設定管理には Schematicsアクションを利用することが推奨されています。

Schematicsワークスペースと Schematicsアクションの使い分

今回の検証では、Schematicsワークスペースを利用した Power Virtual Server のプロビジョニングをご紹介いたします。

検証の概要

Schematicsワークスペースの利用シーンとしては、複数の区画をプロビジョニングしたり、構成変更や別環境へ同一構成をプロビジョニングすることなどが考えられます。

今回の検証では Power Virtual Server を東京リージョンにプロビジョニングし、メモリ容量を変更を行います。
また、大阪リージョンにも同じ区画をプロビジョニングしていきます。

なお、事前に Power Virtual Server のワークスペースを東京と大阪に作成しておきます。
ワークスペースの作成方法につきましては「【やってみた】IBM Power Virtual ServerのAIX環境とIBM Cloud Object Storageを接続してみた -Part1-」の「2) IBM Power Virtual Serverの作成」をご参照ください。

以下は検証の構成図です。
コードは Github のプライベートリポジトリに配置します。外部のソースコード管理ツールを使用したくない場合は IBM Cloud Toolchain の Gitlab を利用することも可能です。

検証の構成図

Githubの設定

プライベートリポジトリの作成

Github の使用は初めてなので、アカウントやリポジトリ作成方法は Web で検索しました。
以下の画面は Github のトップ画面です。デザインがカッコいいですね。

Github のトップ画面

アカウントを作成し、ダッシュボード画面に入ります。
コードは外部公開しない想定のため、プライベートリポジトリを使用します。
任意のリポジトリ名を入力、[Private] を選択し [Create a new repository] をクリックします。

ダッシュボード画面

プライベートリポジトリが作成できました。
作成したリポジトリにコードを配置していきます。

プライベートリポジトリ

コードの作成

Power Virtual Server をプロビジョニングするためのコードですが、こちらの Github に「サンプルコード」が公開されています。5つのコードファイルがありますが全て使用します。
以下各コードファイルの説明です。

  • README.md:Readmeファイル
  • main.tf   :インフラ定義を記述するファイル
  • provider.tf :対象のクラウドなどの情報を記述するファイル(リージョンなども記述)
  • variable.tf :変数を記述するファイル
  • versions.tf :使用するモジュールとバージョンの組み合わせを記述

プライベートリポジトリの画面に戻り、[Add file] から [Create new file] をクリックします。

プライベートリポジトリ画面

ファイル名を入力し、サンプルコードをコピー&ペーストします。最後に [Commit change] をクリックします。

サンプルコードをコピー&ペースト

5つのコードファイルを作成しました。

5つのコードファイル

コードの編集

検証では以下構成の Power Virtual Server をプロビジョニングしていきます。

  • リージョン:東京
  • インスタンス名:test_AIX
  • OS:AIX V7.3
  • CPUタイプ:Uncapped Shared
  • CPU:0.25
  • メモリ:2GB
  • ストレージタイプ:Tier3
  • 外部ディスク名:dg
  • 外部ディスクサイズ:1GB
  • NW名:pvs_test_nw

サンプルコードのままでは上記の構成を作成することはできないため、変数ファイル「variable.tf」を編集する必要があります。
main.tf、provider.tf は variable.tf の値をみて動きますので特に編集は不要です。versions.tf は変更無し、README.md は適宜編集します。

以下は variable.tf の内容です。
各パラメータの説明は割愛いたしますが、ピンク字①~③の値の確認方法は下にご紹介します。

// Service / Account
variable “ibm_cloud_api_key” {
description = “API Key”
type = string
default = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}<①
variable “region” {
description = “Reigon of Service”
type = string
default = “tok
}
variable “zone” {
description = “Zone of Service”
type = string
default = “tok04
}
variable “cloud_instance_id” {
description = “Cloud Instance ID of Service”
type = string
default = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}<②// Image
variable “image_name” {
description = “Name of the image to be used”
type = string
default = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}<③// Instance
variable “instance_name” {
description = “Name of the instance”
type = string
default = “test_AIX
}
variable “memory” {
description = “Instance memory”
type = number
default = 2
}
variable “processors” {
description = “Instance processors”
type = number
default = 0.25
}
variable “proc_type” {
description = “Instance ProcType”
type = string
default = “shared
}
variable “storage_type” {
description = “The storage type to be used”
type = string
default = “tier3
}
variable “sys_type” {
description = “Instance System Type”
type = string
default = “s922
}// SSH Key
variable “ssh_key_name” {
description = “Name of the ssh key to be used”
type = string
default = “ssh_20230719
}
variable “ssh_key_rsa” {
description = “Public ssh key”
type = string
default = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}<公開鍵を入力// Network
variable “network_name” {
description = “Name of the network”
type = string
default = “pvs_test_nw
}
variable “network_type” {
description = “Type of a network”
type = string
default = “pub-vlan”
}
variable “network_count” {
description = “Number of networks to provision”
type = number
default = 1
}// Volume
variable “volume_name” {
description = “Name of the volume”
type = string
default = “dg
}
variable “volume_size” {
description = “Size of a volume”
type = number
default = 1
}
variable “volume_shareable” {
description = “Is a volume shareable”
type = bool
default = false
}
variable “volume_type” {
description = “Type of a volume”
type = string
default = “tier3
}

ピンク字①~③の値の確認方法は以下です。

①APIキー

APIキーの作成方法は「APIキーの作成方法」(IBMサイト)をご参照ください。
作成したAPIキーを控えます。

②クラウドインスタンスID

IBM Cloudリソースリストから Power Virtual Server のワークスペースを選択すると GUID が表示されるので控えます。

クラウドインスタンスID

③イメージID

IBM Cloud Shell からコマンドを実行してブートイメージのイメージIDを取得します。
Cloud Shell は管理コンソール画面の右上のアイコンから入ります。

イメージID

Cloud Shell で以下コマンドを実行します。


$ ibmcloud pi servicelist  <ワークスペースのcrnが表示されます
$ ibmcloud pi service-target crn:XXXXXXXX <表示された対象ワークスペースのcrnを入力します
$ ibmcloud pi images <イメージIDが表示されるのでIDを控えます


以下は出力結果画面です。
マスキングが多く申し訳ございませんが、ご参考ください。

出力結果画面

これでコードの編集が完了しました。
サンプルコードが提供されているので、variable.tf の変数を編集すれば目的のコードを作ることができますね。

トークンの取得

Schematics から Github のプライベートリポジトリにアクセスする際にパーソナルアクセストークンが必要となるため、Github からパーソナルアクセストークンを取得します。
メニューから [Settings] をクリックします。

パーソナルアクセストークン取得

左側メニューの [<>Developer settings] をクリックします。

<>Developer settings

[Tokens(classic)] をクリックします。

Tokens(classic)

[Generate new token(classic)] をクリックします。

Generate new token(classic)

[Note] に適宜入力し、[Expiration] を30日に設定し、”Select scopes” では [repo] にチェックを入れます。画面を下にスクロールし、[Generate token] をクリックします。

Generate token

パーソナルアクセストークンが作成できました。
後程Schematicsワークスペースの作成で必要になるためメモ帳などに控えておきます。

パーソナルアクセストークン作成完了

リポジトリーのURL取得

プライベートリポジトリのURLを取得します。
リポジトリ画面に戻り [<>Code] をクリックし、[HTTPS] を選択して URL を控えておきます。

プライベートリポジトリのURL取得

これで Github の設定は完了しました。

Schematicsワークスペースの設定・プランの実行

Schematicsワークスペースの作成

Schematicsワークスペースから Power Virtual Server をプロビジョニングにしてみましょう。

IBM Cloud のカタログから “Schematics” を選択します。

Schematics

Schematics のホーム画面に入りました。
[ワークスペースの作成+] をクリックします。

ワークスペースの作成+

ワークスペース作成画面です。
[GithubのURL] にはプライベートリポジトリの URL、[パーソナル・アクセス・トークン] には Github で作成したトークンを入力します。[完全リポジトリーの使用] のチェックボックスはデフォルトままにします。[Terraformバージョン] は最新バージョンを指定して [次へ] をクリックします。

ワークスペース作成画面

[ワークスペース名] に任意の名前を入力し、[ローケーション] を北アメリカ/ロンドン/フランクフルトの中から選択し、[次へ] をクリックします。

ワークスペース名/ローケーション

設定値が表示されるので確認し、[作成] をクリックします。

設定値

約1分程でワークスペースが作成できました。
variable.tf の変数が読み込まれ、ワークスペースの変数に表示されています。

ワークスペース作成完了

[README] を選択すると、README.md が読み込まれていることがわかります。

README

Power Virtual Serverのプロビジョニング

右上の [プランの生成] をクリックし、コードのチェックを行います。

プランの生成

プランの生成が成功すると、[ジョブ] 画面に以下のように表示されます。

ジョブ

ちなみに失敗時は以下の画面が表示されます。
失敗した場合はエラーメッセージから原因を確認します。
ここでは記載しませんが、何回かプランの生成に失敗しコードを修正しました。

失敗時

コードを修正した場合は、[最新をプル] をクリックすると最新の状態にすることができます。

最新をプル

話がそれましたが、プランを適用してプロビジョニングを実行します。
[プランの適用] をクリックします。

プランの適用

進行状況は [ジョブ] から確認できます。

進行状況

適用が進んでいますね。

適用

約15分程でプランの適用が完了しました。

プランの適用完了

Power Virtual Server のワークスペースを確認すると、指定通りのインスタンスが作成されていました。

Power Virtual Server のワークスペース

指定通りのインスタンス

構成変更

Schematicsワークスペースにてメモリ容量を2GBから4GBへ変更します。
Github のコード編集ではなく、ワークスペースから変数を上書きすることができます。
ワークスペースの変数画面から [memory] の編集アイコンをクリックします。

memory

値を [4] にして [保存] をクリックします。
なお、デフォルト値に戻したいときは [デフォルトの使用] にチェックを入れて保存します。

デフォルトの使用

メモリの変数がデフォルトは2、オーバーライド値が4になりました。

メモリの変数/オーバーライド値

プランの生成、適用を行い正常に行われたことを確認します。

プランの生成、適用を行い正常に行われたことを確認

Power Virtual Server を確認するとサイズ変更が実行されていました。

サイズ変更

数分後、メモリが2GBから4GBに変更されたことを確認できました。

メモリ変更

大阪リージョンへプロビジョニング

東京リージョンに作成した区画と同じ構成を大阪リージョンに作成します。
リソース変更手順と同様にワークスペースの変数を編集します。
[region] を選択して [編集] をクリックします。

region

大阪リージョンの [osa] を入力して [保存] をクリックします。

osa

同様に、zone, cloud_instane_id, image_name の変数を大阪リージョンの値に上書きします。

zone / cloud_instane_id / image_name

変数の上書きをした後、プランの生成を行ったところ生成が失敗してしまいました。
ログをみると、イメージを Get できない内容のエラーが出力されています。

生成が失敗

しかし、変数のオーバーライド値には大阪リージョンの値を入力しています。Github のコードを編集して Schematicsワークスペースを更新してみましたが、同様のエラーで失敗しました。
プラン適用時に環境変数が残ってしまっているのかも?と考え、新たに大阪リージョンの用の Schematicsワークスペースを作成し、変数は大阪リージョンの値を登録しました。

大阪リージョンの用の Schematicsワークスペースを作成

プランの生成・適用を行ったところ、無事成功しました。
変数の値は間違っていないようです。

成功

大阪のワークスペースを確認すると、指定した構成で作成されていました。
Schematicsワークスペースはリージョン毎に分けた方が良いのかもしれません。

指定した構成で作成

以上で検証は完了です。

コード作成の経験がない私でも、Schematicsワークスペースから Power Virtual Server をプロビジョニングすることができました。
サンプルコードはカスタマイズや修正を行えば実行できたので、作業の難易度はそこまで高くありませんでした。

さいごに

いかがでしたでしょうか。

Schematicsワークスペースを利用して Power Virtual Server のプロビジョニング、構成変更、別環境へ同一構成のプロビジョニングを行いました。
コード作成はスキルが必要と思われる方も多いかと思いますが、サンプルコードが提供されているため初心者でも取り掛かりやすいと思います。

検証では1区画のみの作成でしたが、複数区画作成する場合は GUI で作業するよりもコードを定義し Schematicsワークスペースから実行した方が工数・ミスを削減できるのではと感じます。
また、ワークスペース上で変数のデフォルト値が保持されているため、デフォルト値に戻したい場合はクリック一つで設定を戻すことができ、デフォルト値がわからなくなるといったミスを防ぐことができます。

別環境へのプロビジョニングでは変数を上書きしてもプランを適用できなかったため、別リージョン専用のワークスペースを作成しました。
明らかな原因を突き止めることができなかったのですが、環境ごとに Schematicsワークスペースを分けた方が運用面では管理がしやすいですね。

また今回は検証しませんでしたが、ベータ版の Schematics Blueprints は定義したコードをモジュールとして取り扱い・組み合わせることで大規模環境をデプロイすることができる機能です。
例えば本番環境と同一構成を別リージョンに作成したい場合、通常は一つ一つリソースをプロビジョニングし別環境にも同じ作業を行います。
コードを定義し Schematics Blueprints を使用すればコードを組み合わせて環境をデプロイできるため、作業工数の削減が期待できます。

システムの構築は設計から始まり、構築、試験の実施、運用手順書の作成など多くの過程があり、長い時間と労力が必要です。
昨今 Schematics をはじめとする IaC の実現ツールが徐々に広まりつつありますが、これからは従来の構築作業がコードとツールを利用した作業や運用に移行していくかもしれません。

最新情報

2023年8月23日に Terraform バージョン0.x が2023年9月末で営業活動終了、2024年9月末にサポート終了されることが発表されました。
既存でバージョン0.xをご利用されている場合は2024年9月末までにバージョン1.x以上にアップグレードする必要があります。

Schematics に限らず、IBM Cloudサービスの営業活動終了/サポート終了などは定期的に発表されますので、留意してご利用いただくことが重要です。

お問い合わせ

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

エヌアイシー・パートナーズ株式会社
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