特集・ブログ

ブログ

2023年11月17日

【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part2)

こんにちは。てくさぽBLOGメンバーの高村です。 Part1はご覧いただけましたでしょうか。watsonx.ai にご興味をもっていただければ幸いです。 Part2(本記事)は応用編ということで、watsonx.ai を利用した Retrieval-Augmented Generation(以下 RAG)検証をやってみた感想をご紹介します。 目次 RAGとは? watsonx.aiを使ってRAGを検証してみた さいごに お問い合わせ RAGとは? 生成AIの分野で「RAG」が話題となっていることはご存じでしょうか。RAG とは、言語モデルが学習していない社内情報や最新情報などのデータ(以下 外部データ)から情報を補完し、言語モデルが生成する回答の品質を向上するフレームワークです。 例えば言語モデルのみを利用した QA の場合、図1の様にユーザが質問をすると、生成AI は質問に対して的確に答えることもあれば、学習データに含まれたいい加減な情報を吐き出すこともあります。言語モデルのチューニングにより回答精度を調整することも可能ですが、都度アップデートされる情報をモデルに学習させることは労力が必要です。 図1. 言語モデルのみを利用した場合の情報検索 そこで考えられたのが、RAG というフレームワークです。 図2のように、外部データをデータベースに保存しその検索結果に基づいて言語モデルに回答を生成させることで、より正確な情報を得ることが可能です。 図2. RAGを利用した情報検索 RAGのメリット RAG は、検索と生成AI を統合することでより正確な関連性の高い回答を提供します。以下は、RAG を利用することで得られるメリットです。 より正確な情報を得られる:初めに外部の知識ベースで検索を実行するため、生成AI だけを使った回答よりもより専門的で正確な回答を提供します。 質問の文脈を踏まえた回答を得られる:検索と生成AI を組み合わせることで多くの情報源から情報を収集し、人間のような新しい回答を生成することができます。 モデル学習に必要なデータ準備と作業労力を削減:言語モデルの訓練には大量のデータが必要ですが、RAG は外部データを利用するためモデルへ学習データを取り込むた必要がなく、チューニングにかかる労力も削減できます。 RAGの活用シーン RAG は様々な業種での活用が考えられます。以下に具体例を挙げます。 顧客サポート:コールセンターや保守業務において、顧客の問い合わせに対して専門的かつ正確な回答を提供します。RAG を利用することにより迅速な回答提供や効率的な運用が可能となり、顧客満足度を向上します。 バックオフィス業務サポート:社内情報の検索において、自己調査が容易になり対応時間を短縮することが可能です。 オペレーション業務サポート:例えば現場作業員の機器操作手順など、RAG を利用することにより効率的に解決することが可能です。 watsonx.aiを使ってRAGを検証してみた watsonx.ai の言語モデルを利用し、自分の端末から PDF の内容を QA をする RAG を作ります。利用するコンポーネントは以下の4つです。 watsonx.ai:回答を生成する生成AI。言語モデルは llama-2-70b-chat を利用します。 ベクターストア:今回はオープンソースのベクターストアである ChromaDB を利用します。ベクターストアとはデータを文字列ではなくベクトル形式で保管するデータベースです。PDF の内容を質問するため、LangChain により PDFデータをテキストとチャンクに分け、変換し、ベクターストアに取り込みます。 LangChain:言語モデルを活用したサービス開発する際に利用するオープンソースライブラリです。PDF をベクターストアに保存する際にチャンクデータとして分割したり、ベクターストア内を検索し結果を watsonx.ai へ渡します。 PythonSDKの実行環境 --Jupyter Notebook--:LangChain は Python と JavaScript の2つの言語プログラミング言語に対応していますが、今回は Python の LangChain を利用します。PythonSDK の実行環境として作業端末に Anaconda をインストールし、Jupyter Notebook からスクリプトを実行します。 QA処理の流れは以下の通りです。 LangCain経由で質問 LangChainからベクターストアへ情報検索 検索結果をLangChainへ渡す 検索結果をwatsonx.aiの言語モデルへ渡す watsonx.aiが回答を生成し、回答 それではさっそく RAG を作って検証してみましょう。 watsonx.aiプロビジョニング、プロジェクト作成 事前に watsonx.aiプロビジョニング、プロジェクト作成が必要です。※作成方法は part1 をご参照ください APIキー、プロジェクトIDの取得 watsonx.ai の言語モデルに接続するためには、APIキーとプロジェクトID の取得が必要です。 APIキーの取得は IBM Cloud画面「管理」⇒「アクセス(IAM)」をクリックし、「APIキー」をクリックします。 「作成+」をクリックし、任意の名前と説明を入力しキーを作成します。 APIキーが作成されたので、コピーして手元にメモしておきます。 次に、watsonx.ai のプロジェクトIDを取得します。 watsonx.ai のプロジェクトをクリックします。 「管理」タブから「一般」をクリックするとプロジェクトID が表示されるので、コピーして手元にメモします。 PythonSDKの実行環境準備 以下の URL から Anaconda のイメージをダウンロードし、作業端末にインストールし、インストールが完了したら Jupyter Notebook を起動します。「https://www.anaconda.com/download」 事前に作成したスクリプトをクリックして開きます。 認証設定、モジュールのインポート はじめに、必要な Pythonライブラリをインストールします。 「Run」ボタンをクリックすると、セル内のプログラムが実行されます。 セルの左箇所が [*] から [1] になると完了です。特にエラーが出力されていないことを確認します。 認証情報をセットします。 先ほど取得した APIキーとプロジェクトID、エンドポイントの URL を指定します。今回はダラスの Watson Machine learning を使用しているので、ダラスのエンドポイントを指定します。※エンドポイントの URL は「IBM Cloud API Docs」から確認できます LangChain で使う Watson Machine learning のモジュールを複数インポートします。 一旦 LangChain 無しで watsonx.ai の言語モデルに質問をしてみたいと思います。 まず、使用する言語モデルのパラメータを設定します。以下に各パラメータの説明を記載します。 パラメータ名 値の範囲例 内容 MAX_NEW_TOKENS 1~1000の整数値 一度に生成されるトークンの最大数を制御する。 TEMPERATURE 0.00~2.00 生成されるテキストの創造性を制御する。値が低いと予測可能なテキスト、値が高いと創造的なテキストを生成する。 TOP_K 1~100の整数値 各ステップで考慮されるトークンの数を制御する。 モデルは、トークンの確率分布から上位K個のトークンのみを考慮し、残りは無視する。 TOP_P 0.01~1.00 累積確率の閾値を設定する。モデルは累積確率がこの閾値を超えるまでのトークンのみを考慮しま 質問する言語モデルをセットします。 質問をしてみたところ、正常に回答が返ってきました。 LangChainの作成 それでは、LangChain を作成していきます。 LangChain に必要なモジュールをインポートします。 pdfsフォルダにある PDF を読み込み、ベクターストアへ取り込みます。ベクターストアへ取り込むみする際は LangChain で提供される intfloat/multilingual-e5-largeモデルを使用します。 言語モデルは Llama2 を使用します。先程と同様にモデルの設定とパラメータを定義します。Llama2 は回答指示を渡すことが推奨されているため以下の様に指示文を追加します。 RAGを使って質問する PDF の内容を質問したところ、PDF から該当箇所を検索し回答が生成されました。 ChatUI を起動して質問します。また、PDF のどの箇所を参考にしたか出力するよう指示します。(補足:ChatUIはPythonライブラリのGradioを使用) ChatUI で質問してみました。実用化したときのイメージが湧きますね。 PDF のどの箇所を検索したのか、参考箇所も出力されています。 以上が、watsonx.ai の言語モデルを利用した RAG検証です。 今回は1つの PDF で検証しましたが、回答まで30秒ほどかかりました。複数の PDF を検索する場合はもう少し時間がかかりそうなので、実用するには調整が必要かもしれません。 さいごに いかがでしょうか。言語モデルに更新情報や専門的な情報をチューニングするのは手間がかかりますが、RAG を使えば、情報をベクターストアに格納して簡単に検索できます。 今回は PDF の内容を検索するものでしたが、テキストの内容や URL の情報も検索可能です。また Google Colab を使えば、Googleドライブ上のフォルダ内の情報も検索できることが確認できています。 今回の検証で費用が発生した製品は watsonx.ai のみで、LangChain やベクターストアはオープンソースを利用しています。それほどコストをかけずに実装できるため、社内の検索システムとして導入するなど取り掛かり易い点が魅力的だと思います。 本ブログを読んでいる方々の社内共有プラットフォームにも、RAG を用いた検索システムを導入できるかもしれません。ぜひ試してみてください。 "音声から情報を検索して回答を生成する" など、より高機能なシステムを検討している場合は、watsonx Assistant や Watson Discovery と連携することで実現可能です。ソリューションの詳細は個別にご説明いたしますので、お問い合わせください。 2024年2月頃、日本語で訓練された言語モデル「Granite」の提供が予定されています。Llama2 などの言語モデルも日本語の回答は可能ですが、日本語の精度は保証されていません。そのため、新たな「Granite」モデルの提供により、日本国内で watsonx.ai の実用化が進むことを期待しています。 お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社E-Mail:nicp_support@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; }

2023年11月14日

【イベント参加レポート】「IBM TechXchange 2023」に参加してきた

日本アイ・ビー・エム株式会社 代表取締役社長執行役員 山口 明夫 氏 こんにちは。ソリューション推進部の村上です。 2023年10月31日と11月1日の2日間、久しぶりにオンサイト(ベルサール東京日本橋)で IBM の Bigなテクノロジーイベント「IBM TechXchange Conference Japan」が開催されました。セッション数は100を超え、IBM製品のテクノロジーに関する最新情報がふんだんに盛り込まれていました。 見所としては、デモの数々が挙げられます。参加者は最新の IBMテクノロジーを直接目の当たりにし、その操作感や性能をチェックすることができました。またハンズオンの場も提供され、テクノロジーに触れながら学べる環境も整っていました。 TechXchange はただ情報を吸収する場というだけではなくコミュニティ形成も大切にされていることから、IBM技術者との交流の場も用意されており、気鋭の技術者から新たな知識や視点を得ることができる貴重な機会となりました。 今回エヌアイシー・パートナーズからは10名程度の社員が本イベントに参加しました。以下に、参加者から寄せられたコメントをブランド別にピックアップしご紹介いたします。ぜひご覧ください。 目次 ブランド・カテゴリ別レポート Business Automation Data Management & watsonx.data Power AIOps Apptio Storage Cloud Mainframe Security まとめ お問い合わせ ブランド・カテゴリ別レポート Business Automation 「第一生命におけるIBM BAWとODMの導入上の設計課題と対策」セッションに参加しました。第一生命様の情報システム子会社である第一生命情報システムの方が登壇されていました。 保険業務について全く詳しくないのですが、保険の種類の多さやその支払い条件に関わるルールが15,000以上もあるということにまず驚きました。 重要な処理はメインフレームを使っているので、ODM のシステム構成としてもパフォーマンスと運用性を考慮して選択したということが説明されていました。確かにメインフレームの中だけで完結する処理のルールエンジンを外部で実行したらパフォーマンスに影響することは容易に想像できます。それを実験しながらパフォーマンスを担保できるような構成にした、ということが勉強になりました。 また、ルールエンジンである ODM の導入期間が1年程度だったのに対し、ワークフローエンジンである BAW の導入期間が3年にも及んだと説明されていました。 効果として、いずれも開発期間や情報が届くまでの期間の短縮が挙げられています。新しい施策を素早く実施するためには現場で使えるようになるまでの期間を短縮することが必要なので、ユーザー視点でもメリットがある導入だったと理解を深めることができました。 Data Management & watsonx.data IBM Watson の最新情報に関するセッションに参加しました。 その中で印象に残ったのは、watsonx Assistant と Watson Discovery を組み合わせたコールセンターシステムの導入事例でした。 紹介されていた事例では、コールセンターの業務負担の増加や新人研修の増加に対応するため、2020年1月から watsonx Assistant と Watson Discovery を組み込んだ AIシステムの運用を開始したそうです。その結果、オペレーターの対応時間が短縮し管理者の業務負担が軽減され、さらに品質も向上したとのことで、AI の導入効果を強く実感できました。 特に印象的だったのは、ユーザーとオペレーターの会話をリアルタイムにテキスト化し警戒すべきワードを抽出する機能や、自動生成する評価シートで管理職の負担を軽減している点です。通話テキストを抽出し翌営業日にフィードバックを得ることで業務改善を図っているところも、現場レベルでの AI活用の秀逸な事例だと感じました。 今後は生成AI の導入を検討しているとのことで、watsonx.ai と組み合わせたシステムのさらなる可能性を感じることができました。 Power 「オンプレ環境でas a Serviceを実現するには」セッションに参加しました。 IBM Powerシステムはオンプレミス環境に「as a Service」を提供することで、使った分だけのコストでクラウドの利便性を享受しセキュリティを強化させることを可能にしています。これはオンデマンド容量の提供により予測不可能なビジネス環境下でも迅速な対応を可能にし、コスト削減と効率的なリソース管理を実現します。また、デモシミュレーションを通じて投資効果を具体的に示し、ハイブリッドクラウドのトレンドに対応します。 新しいコンセプト「Power Private Cloud with Shared Utility Capacity」は、プライベートクラウド内で使った分だけ支払うというクラウドのメリットを実現。これにより、企業は必要な時に必要なリソースを使用し、余剰コストを削減できます。さらに、簡易見積ツールやアセスメントサービスを提供し、運用の最適化をサポートします。 このように、Powerシステムはまだパブリッククラウドには抵抗があるユーザーにもオンプレでクラウドを疑似体験しやすい環境であることを、改めて実感できました。 AIOps 「Turbonomic×クラウドコスト最適化事例紹介 FinOpsの実践に向けて」セッションに参加しました。 登壇者の山崎さんは別のセミナーでは Instana についてのお話をされていましたが、今回は Turbonomic という ARM(Application Resource Management)製品を FinOps の観点でお話されていました。”FinOps” というまだ馴染みのない単語を事例を交えながら話をしてくれたので、どのようなことを指しているのかが非常にイメージしやすかったです。 セッションの中でもあった「「無駄」なのか「備え」なのか、それが問題だ」という言葉がインフラコストの最適化を難しくしていることを端的に表現しており、私としても判断が難しいところだなぁと考えさせられました。 「最適化」をいざ始めようとしても「どこから着手してよいのか?」が分からず、手探りで闇雲に実施することになります。それを Turbonomic を使って可視化するところから始め、最適化についてもこのツールの支援をもらいながら人間が判断して実施していくことでより無駄を省くことができる、ということが理解できたよいセッションでした。 Apptio Apptio 田中さんと IBM 上野さんが登壇された「Apptio社との統合戦略と製品のご紹介」セッションの参加レポです。 Apptio Inc. は、2023年8月に IBM に戦略的買収がなされた IT投資の最適化ソリューションのリーダー的企業です。11月1日から正式に IBM に加わることになったそうです。 本セッションの前半では TBM(Technology Business Management)の詳しい解説があり、企業が IT支出を管理・最適化し自動化を推進することの必要性を実感することができました。TBM は奥が深い方法論ですが、じっくり読み込むととても面白いです。後半は、ApptioOne が TBM の実現にどのように役立つ製品なのかの解説がありました。ビジネスの中で IT の重要性は増すばかりで、企業は IT の具体的な財務価値や業務改革を実現することに注力してくるはずです。 このセッションを通じて、IBM が Apptio を戦略的に組織に加えることで、企業の IT運用の最適化と業務改革実現に向けた強力な支援体制を築き上げていることが伺えました。 Storage セッション「DXを支えるAI&データ活用に必要不可欠なインフラ基盤とは?」に参加しました。 AI とデータ活用が日常業務に取り入れられるようになり非構造化データも増えていますが、その管理・活用が企業の大きな課題となっています。ただデータが増えていくだけではなくあらゆるところに散在しているため、必要なときにすぐに利用できる状態にすることが求められています。 その解決の鍵を握るのが、データ中心の考え方と、一貫した統一されたデータ・サービス基盤の構築です。なぜこの考え方が重要なのかというと、あらゆる拠点で大量のデータがリアルタイムに発生し、それを高速に柔軟に活用できるインフラが求められるからです。 非構造化データを一元管理する次世代データ基盤が「IBM Global Data Platform(GDP)ソリューション」です。AI、分析、バックアップなど、あらゆるワークロードに柔軟に対応可能です。その中で鍵となるのが「IBM Storage Scale」と「IBM Storage Discover」です。データ配置を最適化し、スモール・スタートでも容易にデータを扱うことができます。 事例としては、車載センサーデータや動画データを一元管理し自動運転体験を実現している企業の例や、ヘルスケア分野で複雑な課題解決に役立てられている病院の例が紹介されました。 このセッションに参加して感じたのは、AI やデータ活用だけでなく、それらを支えるインフラ基盤の重要性です。デジタル時代に向けて進む我々にとって、これからのデータ活用とそのインフラの重要性を再認識できたセッションでした。 Cloud IBM Cloud では「生成系AIの基盤を支えるCloud Native Super Computer「Vela」の実態」のセッションが印象的でした。 「Vela」は、AI に最適化されたクラウドネイティブのスーパーコンピューターとして IBM が開発し、最新の GPU と Openshift AI が構成要素となります。話題の製品「watsonx」もこの Vela を活用して開発されているそうです。画像認識AI の Maximo Visual Inspection が IBM Cloud上の GPU で稼働できることは知っていましたが、AI のモデル開発にも利用できることを興味深く思いました。 AIモデルの開発には巨大な計算能力を持つ最新の GPU が必要不可欠ですが、一方で GPU は消費電力を膨大に使用してしまいます。IBM Cloud上で稼働する Vela は GPU を利用しつつも、IBM Cloud が掲げている通り環境への負荷を軽減できているそうです。 本セッションを通して、クラウドネイティブなスーパーコンピューティングの時代が確実に到来していることを実感しました。引き続き Vela の動きに注目していきたいと思います。 Mainframe 「メインフレーム技術者が元気になる!テクノロジー・アーキテクチャーとは何か」の参加レポートになります。 このセッションは、メインフレームの特長とそのアーキテクチャーについての理解を深めることを目的としています。 メインフレームの特長として、堅牢性、高スループット、高セキュリティ、オープン技術の取り込み、地球環境に優しい省エネと仮想化技術が挙げられています。また、新たな特長として API対応とデータ連携ハブが追加されており、トランザクション処理やデータベース処理などのニーズに応える能力があります。 特に強調されているのは、2023年5月から z16全モデルに適用された「zIIP入れ放題」で、汎用CP(GCP)と zIIP の個数制限1:2を撤廃し、Java、Python、RESTful APIアクセス、DRDA など、様々なワークロードを汎用CP からオフロードすることが可能で、zIIP分のソフトウェア料金はかかりません。これによりメインフレームを利用するコストを大幅に削減し、メインフレームの利活用を進めることができます。 全体を通して、メインフレームはこれからも多くのトランザクションを取り込もうという意志を感じました。 Security 多くのセキュリティ製品がセミナーで紹介されていました。 QRadar では、まず SOAR が紹介されました。SIEM に集まる場合、そのパフォーマンスとキャパシティに影響があるため、一台の SIEM に集約せずとも各センサーから SOAR に集約して処理するという考え方です。インテリジェントになっている EDR などは、確かに SOAR で処理させるのは良いと思います。 QRadar ではさらに UAS(Unified Analyst Experience)についても紹介されました。各拠点に散らばった SIEM を横串で見る場合や SIEM のリアルタイム検知が不要な場合、複数の SIEM やログサーバを横串で見る場合には、UAX でも可能という方式です。 Trusteer では、サイバーアタックにおける三大侵入経路「脆弱点」「ウィルス」「なりすましログイン(不正ログイン)」と、その対策について紹介されていました。「システムへ直接攻撃」「システムに関与する社員への間接攻撃」「サービス利用者になりすます」という課題があり、「サービス利用者になりすます」を防げるのが Trusteer だというわかりやすい説明がありました。外部サービスを公開されている企業様には有効なソリューションだと思います。 IBM では、x-forceサービスをはじめ多くの知見を元に IBM Security製品が提供されていますので、ぜひご利用ください。 まとめ 以上のように、今回の TechXchange はテクノロジーコミュニティとの交流の場として、また、最新の IBM製品やテクノロジーについての学習の場として、大いに活用することができました。 次回の開催が待ち遠しいですね。 ※本ブログは参加者の主観や体験内容が中心であり、記載されている情報は正確性に欠ける場合があります。記載したブランドの紹介をご希望の方は、以下の問い合わせ先までご連絡ください。 お問い合わせ エヌアイシー・パートナーズ株式会社技術支援本部E-Mail:nicp_support@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; }

2023年10月27日

【てくさぽBLOG】Windows Server 2012/R2のEnd Of Support(EOS)による対応方法

こんにちは。てくさぽBLOGメンバーの宮里です。 既に Windows Server 2012/R2 は End Of Support(以下 EOS)となっていますが、その後もそのまま使い続ける方も多いと思います。EOS のまま使い続けた場合にはセキュリティ面・障害対応の観点でリスクがあるので、何らかの対策が必要です。 Windows Server 2012/R2 を使い続けられる方は、ぜひ本ブログを参考にしてリスク軽減のためのセキュリティ対策をご検討ください。 目次 Windows Server 2012 / R2のEOSの概要 EOS後のリスク 対応方法 まとめ 関連情報 お問い合わせ Windows Server 2012 / R2のEOS概要 EOS(End Of Support)とは、ソフトウェアやハードウェアのメーカーがその製品のサポートを終了することを意味します。 Windows Server 2012/R2 のサポートが終了した場合、具体的にどのようなサポートが得られなくなるのかご存知でしょうか。 まず Microsoft のサポート内容からご説明いたします。 Microsoftのサポート内容 Microsoft のサポートは、メインストリームと延長サポートの2段階に分かれています。 メインストリームサポート セキュリティ更新プログラムに加え、新機能の追加や仕様変更などのサポートも提供されます。(Windows Server発売後5年間) インシデント サポート(無償/有償インシデント サポート、1時間ごとに課金されるサポート、保証請求のサポート) セキュリティ更新プログラムのサポート セキュリティ以外の更新プログラム要求 延長サポート セキュリティ更新プログラムのみが提供されます。(メインストリームサポート終了から5年間) 有償サポート セキュリティ更新プログラム(追加料金不要) セキュリティ以外の更新プログラム要求 つまり、メインストリームサポートではセキュリティ更新プログラムに加え、Windows Server の最新機能を活用することができます。一方延長サポートではセキュリティ更新プログラムのみが提供されるため、既存機能のアップデートや新機能の追加はされません。 なお、Windows Server 2012/R2 は以下の通り2023年10月10日で既に EOS を迎えています。 参照:Microsoft ライフサイクル ポリシー EOS後のリスクと対策 EOS になった製品を使い続けると、脆弱性を利用したサイバー攻撃によって被害を受けるリスクが高まります。 ランサムウェア攻撃による被害事例がありますので、以下にご紹介します。 *  *  *  *  *  * とある会社で、ランサムウェア攻撃により基幹系の会計システムなどの複数のシステムやパソコンに被害が生じました。同社グループ会社のネットワークから侵入されランサムウェア攻撃を実行されたことで、パソコン上のデータや Windowsサーバーのデータが暗号化され、脅迫文も残されていました。 この攻撃により、復旧に2か月かかっただけでなく個人情報の漏洩も発生しており、顧客や従業員に関する氏名や生年月日、電話番号、メールアドレスなど、約186万件の個人情報の流出が懸念されています。 *  *  *  *  *  * 上記の事例からも分かる通り、ランサムウェア攻撃の被害を受けるとビジネス機会が損失するばかりか、システムやデータの復旧に莫大な費用・時間がかかり、さらに、大量の個人情報漏洩の可能性は企業イメージを著しく低下させてしまいます。 セキュリティインシデントを防ぐためにはデジタル環境を安全に保つための防御策を立て、常に注意を払うことが必要です。 また、Windows 2012/R2 の EOS が及ぼす影響の範囲として、Windows上で稼働するソフトウェアにも注意が必要です。 EOS を迎えると、周辺機器やソフトウェアとの互換性も保証されなくなります。そのため、周辺機器やソフトウェアのアップデートにより製品が利用できなくなる可能性があります。 これらのリスクを回避するために、EOS への対策を講じることはとても重要です。以下に2つの具体的な対策をご紹介します。 EOSリスク回避のための2つの対策 1. 新バージョンまたは新製品への移行を検討する 早めに新バージョンまたは新製品への移行を検討しましょう。新製品への移行にはコストがかかりますが、リスク回避のためには必要な投資と言えます。 2. セキュリティ対策を強化する EOS となったバージョンを使い続ける場合は、残り続ける脆弱性のリスクを軽減するために、IPS/IDS/UTM の強化など自社の環境に合わせたセキュリティ対策を講じましょう。 EOS は ITインフラの担当者にとって避けて通れない課題です。リスクを理解し早めに対策を講じることで、安全かつ円滑な移行を実現しましょう。 対応方法 ここまでは、EOS後のリスクとリスク軽減のための対策について解説してきました。次に、具体的な対応方法について確認していきます。 Azure Stack HCIへ移行 バージョンアップが出来ないという場合も多いかと思います。その場合は、Azure Stack HCI への移行を検討しましょう。 Azure Stack HCI* では、Windows Server 2012/R2 の拡張セキュリティ更新プログラムを2026年10月まで受けることが可能です。バージョンアップの対応が無理なので、あればこの期間を利用して段階的に移行を進めるのが良いでしょう。 Azure Stack HCIとは:Microsoft が提供しているハイブリッドクラウドインフラストラクチャサービスの一つです。HCI とはハイパーコンバージドインフラストラクチャの略で、コンピューティング、ストレージ、ネットワーク機能を一つに統合したソリューションを指します。3層構造の仮想環境をx86サーバー+ソフトウェアにシンプルに統合管理することができます。 Azure Stack HCI への移行は、デジタルトランスフォーメーション戦略に一石を投じることになります。これにより、企業は効率性の向上、柔軟性、さらなる拡張性を享受する機会を得ることができます。また、サーバー管理であるパッチ管理やバックアップなどの一部タスクの自動化が可能なため、不必要な管理タスクから解放されます。 Azure Stack HCIアプライアンス&認定ノードとしておすすめする製品が、「Lenovo ThinkAgile MX」です。 Lenovo のサーバーは最もセキュリティに優れた x86サーバーの評価を獲得しています。ITICグローバルサーバーハードウェアセキュリティレポートによると、Lenovo ThinkSystemサーバーは、4年連続ですべてのx86サーバーディストリビューションの中で最高のセキュリティスコアを達成したとして評価され、また2022年には、ハッキング攻撃によるダウンタイムを経験した Lenovo ThinkSystemサーバーはわずか4%と報告されています。 Azure Stack HCI は、小規模な環境やミディアムエンタープライズをご利用のお客様全てに推奨できますが、Microsoft製品を中心に扱われているお客様や Windows Server をお使いのお客様、これからクラウド利用を進めたいとお考えのお客様には特に親和性が高い製品です。最小1ノードから構成でき、他の HCI製品に比べ一番低い価格帯から幅広くご提供が可能です。 ロックダウンまたは仮想パッチで対応 「環境を変更できないが、その上で稼働するアプリケーションの互換性が問題で Windows 2012/R2 を使い続ける必要がある」というお客様は非常に多いと思います。その場合は、ロックダウンまたは仮想パッチでリスクを減らすことができます。 ロックダウンと仮想パッチの違いについては、以下の図の通り対応方法や対応箇所が変わってきますので、今使っている環境にあった方法をご選択ください。 ロックダウンと仮想パッチについて、以下でさらなる詳細をご説明します。 ロックダウン ロックダウン方式とは、ユーザーが承認したアプリケーションのみが動作する状況を作り出す方式です。 事前に許可された挙動や機能以外の全ての動き(例えばマルウェアや不正行為)を阻止することができます。これにより、産業用アプリケーションに対してファイルやレジストリの変更をブロックし、正規アプリケーションに見せかける DLLインジェクション等を防ぐといった、未知の脅威やゼロデイ攻撃の予防が可能です。 また、サポート終了OSもサポートし、かつパターン更新等の手間がかからないため、セキュリティ運用の負担軽減も可能です。 ロックダウンを実現するための製品としてお勧めなのが、「TXOne StellarProtect」です。 TXOne StellarProtect には以下の機能が備わっており、Windows 2012/R2環境であっても USB経由でのマルウェア侵入やランサムウェアへの対策を実現できます。 産業用PCに適したウイルス対策 産業用アプリケーションの保護 USBデバイス制御 ファイルレス攻撃対策 レガシーOS対応 仮想パッチ 脆弱性を狙う攻撃コードをネットワークレベルでブロックし仮想的にパッチが当たっている状態にすることだけでなく、脆弱性が悪用される前に迅速にシステムを保護し、実質的に脆弱性を悪用した攻撃を無効化する Intrusion Prevention System/Intrusion Detection System(IPS/IDS)の技術が利用されています。 システムに影響を与えず、サポート終了OSの利用が可能なこともメリットの1つです。 仮想パッチを実現するための製品が、「Cloud One Workload Security」です。以下の機能によって Windows 2012/R2 などの EOS後の OS を保護します。 ホストベースの仮想パッチ機能により脆弱性攻撃をブロック サーバーセキュリティに必要な機能を1つの保護モジュールに実装 管理サーバーの構築・運用が不要 まとめ EOS後のサーバー更改は企業にとって重要な課題です。EOS を迎えたサーバーをサイバー攻撃から守るため、Azure Stack HCI へ移行し延命させる、あるいは OS を守るためのセキュリティを行うなどの対策を進めましょう。 強固なセキュリティ対策は IT環境の持続的な安全性を確保するために不可欠であり、TXOne StellarProtect によるロックダウンや Cloud One Workload Security による仮想パッチを活用することで、Windows Server 2012/R2 であってもより高度なセキュリティ環境を構築することが可能です。 EOS後のサーバー更新、そしてそのセキュリティ対策については、細心の注意を払い最適な対策を行いましょう。 この記事が参考となれば幸いです。また、おすすめとして紹介した Azure Stack HCI を導入して検証したブログもございますので、是非そちらもご覧ください。 関連情報 第一回:【やってみた】Azure Stack HCIを導入してみた:Azure Stack HCI構築編(ブログ) 第二回:【やってみた】Azure Stack HCIを導入してみた:管理機能編(ブログ) 第三回:【やってみた】Azure Stack HCIを導入してみた:Azureと連携編(ブログ) IBM Security Verify(製品情報) お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社技術支援本部E-Mail:nicp_support@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; }

2023年10月18日

【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part1)

こんにちは。てくさぽBLOGメンバーの高村です。 IBM の定例イベント「Think 2023」で発表された IBM watsonx はご存じでしょうか? AI開発の最前線を走り続けている IBM Watson は、2023年7月に企業向けAI及びデータ・プラットフォーム IBM watsonx(以下 watsonx)のサービス提供を開始しました。なお、watsonx の概要は製品紹介ページで紹介していますので、是非ご覧ください。 今回は watsonx製品の一つ、生成AI開発プラットフォームを担う「IBM watsonx.ai」(以下 watsonx.ai)を使用し、その感想を二部構成でご紹介したいと思います。 Part1(本記事)では、watsonx.ai のご紹介とサービスのプロビジョニング、UI画面にてプロンプトを使ってみた感想を、Part2では、watsonx.ai を利用した Retrieval-Augmented Generation(RAG)検証をご紹介します。 乞うご期待ください。 目次 ビジネスにおける生成AIの活用 watsonx.aiとは? プロンプト・ラボを使ってみる さいごに お問い合わせ ビジネスにおける生成AIの活用 2022年の ChatGPT公開を機に生成AI は脅威的なスピードで生活に普及されています。企業も生成AI をビジネスに取り入れる動きが加速しており、例えば、OpenAI社は企業向けに ChatGPT Enterprise、Microsoft社は Azure上で Azure OpenAI Service を提供しています。 このように企業向け生成AIサービスも次々発表されている状況で、企業はビジネスの目的に合ったサービスを選ぶことが重要になってきています。 それでは、生成AI を採用する際にどのような考慮点があるでしょうか。以下にいくつかご紹介します。 生成AI採用時の考慮点 回答精度の問題:生成AI は状況や文脈を完全に理解しておらず、適切な回答を生成することが困難となる場合があります。そのため、モデルのチューニングや精度の高い回答を出せるように指示を設計する仕組みが必要です。 他社との差別化:今後多くの企業が生成AI を活用したビジネスを展開していくと、他社との差別化がますます重要となります。ベンダー独自の大規模言語モデルを利用することは勿論ですが、AI開発の先駆者であるサード・パーティーが提供するモデルを利用できることなど、複数のモデルから選択できる点もポイントになります。 セキュリティ対策:ビジネスで生成AI を活用する上では機密情報の取り扱いを注意しなければいけません。個人情報を含んだ情報が他のユーザの回答に利用されることが無いよう、セキュリティ対策が求められます。 このように、企業が求める精度の高い AIモデルを実現でき、他社との差別化及び生産性向上を図ることが可能なサービスが watsonx.ai です。 watsonx.aiとは? サービス提供形態 はじめにサービス提供形態をご紹介します。 2023年10月時点、watsonx.ai は IBM Cloud からの SaaS提供のみとなっています。また、watsonx.ai を利用するには従来から提供されている Watson Studio(機械学習モデルを開発するための統合環境)と Watson Machine Learning(機械学習環境)の2つのサービスが必要です。 IBM Cloud のカタログ上では「watsonx.ai」という名前のサービスは無く、Watson Studio をプロビジョニングし Watson Machine Learning を紐づけることで、watsonx.ai が利用できるようになります。 料金は Lite/Essentials/Standard のプランが提供されています。(2023年10月時点)Lite は容量制限のある無料プランです。機能を試したい場合はこのプランをご選択ください。Essennsials、Standard は以下の①②③を合計した料金プラン(月額請求)です。 ①プランの基本料金 ※Essentials の基本料金は$0/月です(2023年10月時点)②基盤モデルの利用料③Watson StudioとWatson Machine Learningの利用料 watsonx.aiの特徴 以下の図の通り、watsonx.ai は基盤モデルの選択から調整、テスト、デプロイまでを一貫して行うことができる AI開発スタジオです。 基盤モデル(Foundation Model) watsonx.ai は基盤モデル(Foundation Model)を利用した AI開発スタジオです。 従来の機械学習による AI開発は用途ごとにモデルを作成していましたが、基盤モデルによる AI開発は大量のデータで事前学習を行い、一つの基盤モデルを作成し、用途別に少量のデータでカスタマイズしモデルを作成します。これにより用途向けのモデルは少量のデータで学習が可能となり、今までのような学習時間やリソースを大幅に削減できます。 IBM独自の基盤モデル、サード・パーティーの基盤モデルを提供 watsonx.ai は IBM独自の基盤モデル、サード・パーティーのモデルを提供しており、用途によって選択することは勿論、最先端な技術をサービスに取り入れることが可能です。 2023年10月現在、IBM独自の基盤モデルは2つ、Hugging Face などのサード・パーティーの基盤モデルは7つ提供されています。詳細は「watsonx.ai で使用可能なサポート対象のファウンデーション・モデル」(IBMサイト)をご確認ください。 プロンプト・ラボ watsonx.ai では抽出や生成、分類などのタスクをプロンプトラボで調整します。 プロンプトラボには最大トークン数などのパラメータを調整する機能やサンプルプロンプトも提供されており、迅速なデプロイが可能です。こちらは後ほど試してみようと思います。 今後基盤モデルのチューニング・スタジオも提供予定です。アップデートが楽しみですね。 プロンプト・ラボを使ってみる watsonx.ai をプロビジョニングし、UI画面からプロンプト・ラボを使用してみましょう。(※前提としてIBM Cloudアカウントが作成されていることとします) IBM Cloud のカタログ画面から「Watson Studio」を検索し、クリックします。 料金プランはライトプラン、ロケーションは「ダラス(us-south)」を選択します。※基盤モデルの推論とプロンプト・ラボはダラスとフランクフルトのリージョンでのみ使用可能 以下の画面が表示されるので「Launch in」をプルダウンしてプラットフォームを「IBM watsonx」にします。 以下の画面が表示されるので閉じます。 以下の画面が表示されるので閉じます。 以下の画面で「新規プロジェクト +」をクリックします。 プロジェクト作成画面で「空のプロジェクトを作成」をクリックします。 新規プロジェクト作成画面で任意の名前を入力し「作成」をクリックします。 プロジェクトが作成されました。 左側メニューから「すべてのプロジェクトの表示」をクリックし、作成したプロジェクトを選択します。 「サービスおよび統合」を選択し「サービスの関連付け +」をクリックします。 「Watson Machine Learning」にチェックを入れサービスを関連付けます。 Watson Machine Learning が関連付けられました。 ホーム画面に戻り「ファウンデーション・モデルを試し、プロンプトを作成する」をクリックします。 サンプル・プロンプトから「Questions about an article」を選択し、命令箇所に命令と対象のArticleを入力します。(今回はサンプル・プロンプトを使用してみます) 「llama-2-70b-chat」は一つ以上の例を指定するとより効果的に機能するため、例の箇所に QuestionとAnswer の例を入力します。(このプロンプトは基盤モデル「llama-2-70b-chat」を指定しています) Question へ「トマトの栽培になぜマルチを使用すべきなのか」と入力し「生成」をクリックします。 Answer の箇所に回答が生成されました。(原文と照らし合わせると、適切な箇所を参考にして生成していることがわかります) なお、「モデルパラメータ」をクリックすると最大トークン数などのパラメータ調整もすることが可能です。 UI画面もわかり易く、サンプルをベースに目的のプロンプトを作成できそうです。他にもコールメモの要約やコード生成などのサンプル・プロンプトがありますが、ここでのご紹介は割愛させていただきます。 基盤モデルは IBM独自の基盤モデルやオープンソースの基盤モデルが選択できますが、どれを選べばよいのか迷うところです。基盤モデルを選択においては「watsonx.ai でのファウンデーション・モデルの選択」(IBMサイト)に考慮点が掲載されていますので、こちらを参考に選択いただければと思います。 さいごに いかがでしたでしょうか。watsonx.ai のご紹介とサービスのプロビジョニング、UI画面にてプロンプトを使ってみた感想をご紹介しました。 watsonx.ai には複数の基盤モデルが用意され、今後基盤モデルのチューニングスタジオもリリース予定されています。目的にあったモデルの選定、検証は考慮が必要ですが、カスタマイズの幅が広く、ビジネスの目的にあったAIモデルを実現できますね。 次回の Part2 では、watsonx.ai を利用した Retrieval-Augmented Generation(RAG)の検証結果をご紹介します。watsonx.ai をビジネスにどのように繋げられるかのヒントになると思いますので、ぜひご覧いただければ幸いです。 お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社E-Mail:nicp_support@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; }

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とは? Schematicsとは? 検証の概要 Githubの設定 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ワークスペースを利用した 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 のトップ画面です。デザインがカッコいいですね。 アカウントを作成し、ダッシュボード画面に入ります。コードは外部公開しない想定のため、プライベートリポジトリを使用します。任意のリポジトリ名を入力、[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つのコードファイルを作成しました。 コードの編集 検証では以下構成の 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 IBM Cloud Shell からコマンドを実行してブートイメージのイメージIDを取得します。Cloud Shell は管理コンソール画面の右上のアイコンから入ります。 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] をクリックします。 [Tokens(classic)] をクリックします。 [Generate new token(classic)] をクリックします。 [Note] に適宜入力し、[Expiration] を30日に設定し、"Select scopes" では [repo] にチェックを入れます。画面を下にスクロールし、[Generate token] をクリックします。 パーソナルアクセストークンが作成できました。後程Schematicsワークスペースの作成で必要になるためメモ帳などに控えておきます。 リポジトリーのURL取得 プライベートリポジトリのURLを取得します。リポジトリ画面に戻り [<>Code] をクリックし、[HTTPS] を選択して URL を控えておきます。 これで Github の設定は完了しました。 Schematicsワークスペースの設定・プランの実行 Schematicsワークスペースの作成 Schematicsワークスペースから Power Virtual Server をプロビジョニングにしてみましょう。 IBM Cloud のカタログから "Schematics" を選択します。 Schematics のホーム画面に入りました。[ワークスペースの作成+] をクリックします。 ワークスペース作成画面です。[GithubのURL] にはプライベートリポジトリの URL、[パーソナル・アクセス・トークン] には Github で作成したトークンを入力します。[完全リポジトリーの使用] のチェックボックスはデフォルトままにします。[Terraformバージョン] は最新バージョンを指定して [次へ] をクリックします。 [ワークスペース名] に任意の名前を入力し、[ローケーション] を北アメリカ/ロンドン/フランクフルトの中から選択し、[次へ] をクリックします。 設定値が表示されるので確認し、[作成] をクリックします。 約1分程でワークスペースが作成できました。variable.tf の変数が読み込まれ、ワークスペースの変数に表示されています。 [README] を選択すると、README.md が読み込まれていることがわかります。 Power Virtual Serverのプロビジョニング 右上の [プランの生成] をクリックし、コードのチェックを行います。 プランの生成が成功すると、[ジョブ] 画面に以下のように表示されます。 ちなみに失敗時は以下の画面が表示されます。失敗した場合はエラーメッセージから原因を確認します。ここでは記載しませんが、何回かプランの生成に失敗しコードを修正しました。 コードを修正した場合は、[最新をプル] をクリックすると最新の状態にすることができます。 話がそれましたが、プランを適用してプロビジョニングを実行します。[プランの適用] をクリックします。 進行状況は [ジョブ] から確認できます。 適用が進んでいますね。 約15分程でプランの適用が完了しました。 Power Virtual Server のワークスペースを確認すると、指定通りのインスタンスが作成されていました。 構成変更 Schematicsワークスペースにてメモリ容量を2GBから4GBへ変更します。Github のコード編集ではなく、ワークスペースから変数を上書きすることができます。ワークスペースの変数画面から [memory] の編集アイコンをクリックします。 値を [4] にして [保存] をクリックします。なお、デフォルト値に戻したいときは [デフォルトの使用] にチェックを入れて保存します。 メモリの変数がデフォルトは2、オーバーライド値が4になりました。 プランの生成、適用を行い正常に行われたことを確認します。 Power Virtual Server を確認するとサイズ変更が実行されていました。 数分後、メモリが2GBから4GBに変更されたことを確認できました。 大阪リージョンへプロビジョニング 東京リージョンに作成した区画と同じ構成を大阪リージョンに作成します。リソース変更手順と同様にワークスペースの変数を編集します。[region] を選択して [編集] をクリックします。 大阪リージョンの [osa] を入力して [保存] をクリックします。 同様に、zone, cloud_instane_id, image_name の変数を大阪リージョンの値に上書きします。 変数の上書きをした後、プランの生成を行ったところ生成が失敗してしまいました。ログをみると、イメージを Get できない内容のエラーが出力されています。 しかし、変数のオーバーライド値には大阪リージョンの値を入力しています。Github のコードを編集して 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   .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; }

2023年07月10日

【早わかり】IBM Cloudアカウントとユーザのアクセス管理

こんにちは。てくさぽBLOGメンバーの高村です。 今回は IBM Cloudアカウントとユーザのアクセス管理についてご紹介します。IBM Cloud を利用する上で欠かせない情報になりますので、ぜひ最後までお読みいただければと思います。 目次 IBM Cloudのアカウントとは? ユーザのアクセス管理 注意したいポイント さいごに お問い合わせ IBM Cloudのアカウントとは? IBM Cloudアカウントとは IBM Cloud を利用するために必要な資格情報で、IBM Cloud を利用するには、まず IBM Cloudアカウントの作成が必要です。 IBM Cloud の利用形態は以下の4種類があり、支払い方法が異なります。ご要件によって選択いただきますが、エヌアイシー・パートナーズで販売可能な利用形態はサブスクリプションとなっております。サブスクリプションは PAYG(Pay as You Go)などの後払いとは異なり、事前に使用権を購入し、毎月使った分だけ消費される支払い方法です。 アカウント登録方法や消費の仕組みは本ブログではご紹介しませんが、ご質問は弊社担当営業または本ページの下部記載の お問い合わせ からご連絡ください。 利用形態 説明 ライトアカウント クレジットカード不要で期限なしで使えるアカウント※新規申し込みは終了 PAYG クレジットカードで使った分だけ後払いするアカウント サブスクリプション デパート商品券のように使用権を事前購入するアカウント 契約書 契約書ベースで契約し、請求書による支払いが可能なアカウント ユーザのアクセス管理 IBM Cloudアカウントを作成したら利用スタートです。 多くの案件はプロジェクトメンバーなど複数人でアカウント内のリソースにアクセスしたり操作を行うと思いますが、その際に利用するのが「ユーザ」です。IBM Cloud では IBM Cloud Identity and Access Management(IAM)という仕組みを利用し、ユーザ及びリソースに対するアクセス管理を行います。 ユーザの種類 アカウントで作成できるユーザは4種類あります。1つのアカウントに1名のアカウント所有者が割り当てられ、アカウント所有者がユーザとアクセス管理を行います。 アカウント所有者:アカウント内のユーザ、リソースの管理責任を負う担当者です。 ユーザ:IBMid により認証される個人の利用者です。アカウント所有者に招待され、リソースに対して作業を実施できます。 サービスID:サービスまたはアプリケーションに付与することができる ID です。サービスID を作成することで、IBM Cloud の外部にあるアプリケーションが IBM Cloudサービスにアクセスできるようになります。 アクセスグループ:複数のユーザやサービスID をまとめてグループしたものです。グループ内のメンバー変更があった場合でも個々のユーザの設定を変更することなく管理が可能です。 リソースへのアクセス管理 管理権限を持つユーザは、ユーザ/サービスID/アクセスグループにアクセス・ポリシー*を設定してリソースへのアクセス許可を実施します。 *アクセス・ポリシー ユーザ/サービスID/アクセスグループがどのリソースに対してどのようなアクションを実施できるかというルール。以下の2種類のアクセス・ポリシーを設定可能です。 プラットフォーム・アクセス:IBM Cloudプラットフォーム上でのアクション実行権限。"管理者" "エディター" "オペレーター" "ビューワー" の4つのロールから指定します。 サービス・アクセス:リソースがもつ独自のツールへのアクセス(API/CLIの実行など)の実行権限。"管理者" "ライター" "リーダー" の3つのロールから指定します。 注意したいポイント 以上、アカウント、ユーザのアクセス管理についてご紹介しました。設定値が複数あり複雑なため、以下に注意すべきポイントをご紹介します。 アカウント間の接続、プロビジョニングの制限 既存でアカウントAをお持ちで、新規でアカウントBをご契約する場合、アカウントAとB内のリソースで通信することは可能ですが異なるアカウントにリソースをプロビジョニングすることはできません。 例)PAYGアカウント内にサブスクリプションアカウントの仮想サーバはプロビジョニング不可 アカウント所有者のメールアドレス 会社のシステムで IBM Cloud をご利⽤される場合、アカウント所有者のメールアドレスは管理用の共有メールアドレスをご登録いただくことをお勧めします。 個⼈のメールアドレスを登録した場合、退職・⼈事異動などでアカウント所有者がログインできなくなってしまう可能性があります。 アクセス・ポリシーの設定し忘れ 「【やってみた】IBM Power Virtual ServerのAIX環境とIBM Cloud Object Storageを接続してみた -Part1-」でご紹介した通り、プラットフォーム・アクセスとサービス・アクセスの両方が設定されていないと、仮想サーバのコンソールがオープンができないなど、全ての機能を利用することができません。 作業を行う前に、アクセス・ポリシーが正しく設定されているかご確認いただくことをお勧めします。 さいごに IBM Cloud を利用する上で、アカウントとユーザのアクセス管理は重要です。 オンプレミスではアカウントという概念は無いため、ご要件にあったアカウントの選定、アカウント毎の制限事項に注意してご利用ください。また、ユーザのアクセス管理は複雑になっていますので、オンプレミスの構築と同様にユーザ管理、アクセス・ポリシーの設計を行ってからご利用されることをお勧めします。 お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社E-Mail:nicp_support@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; }

2023年06月13日

【イベント参加レポート】「IBM Think 2023」に参加してきました!

こんにちは。てくさぽBLOGメンバーの佐野です。 海外で開催されたイベント「IBM Think 2023」に参加してきました。久しぶりの海外出張なので、移動も含めてレポートしていきます。 IBM Thinkとは 「IBM Think」はIBMが年次で開催するテクノロジーとビジネスソリューションにフォーカスしたグローバルなフラッグシップイベントです。コロナ禍のためオンサイトでの開催は2020年、2021年の2年間中止していましたが2022年から小規模に再開をし、今年は2022年に比べて少し規模を大きくした開催となりました。 2023年度のイベントが「IBM Think 2023」となり、今年は5月9日から11日までの3日間、アメリカ合衆国のフロリダ州オーランドで開催されました。 IBM Think では基調講演内で IBM の CEO から最新の動向や IBM の進む道、新たな製品発表などが行われます。また、AutomationやSecurityといったカテゴリ毎の基調講演もあり、それぞれのより詳細な内容を聞くこともできます。 基調講演だけではなく個別のセッションや多数のゼネラルセッションもあるので、今後の動向や今現在何ができるかを把握しておきたい分野・ソリューションについてより深く知ることができるイベントです。 出発 Think会場のあるオーランドへは日本からの直行便はありません。そのため、アメリカ国内で飛行機を乗り換える必要があります。今回は羽田からワシントンDC経由でオーランドへ向かいます。 出発日は大雨で羽田空港に向かう電車が遅れていましたが、GW明け直後だったためか空港内は閑散としておりスムーズに出国手続きをすることができました。 羽田:5月8日(月)10:55 → ワシントン:5月8日(月)10:35所要時間 12時間40分(時差13時間) 飛行機の中ではあまり寝られなかったので時差ボケが心配ですが、無事に定刻でワシントンへ到着。 入国審査の税関では疲れのせいか英語があまり聞き取れず何度も聞き返してしまったために係員がかなり不機嫌でした…(笑)が、印刷しておいた飛行機の予約やホテル情報を渡してなんとか無事通過できました。 ワシントンでの乗り換え時間は約2時間取っていましたが、入国がスムーズだったため余裕を持って乗り継ぎの時間に間に合いました。 空港に着いてふと気づいたのですが、アメリカではマスクをしている人はほとんどおらず、付近でマスクをしているのは日本人っぽい人たちだけ。日本とはマスクに対しての意識が全く違うなぁと感じました。 ここまでくれば目的地まであと少しです。オーランド行きの飛行機に搭乗します。 ワシントン:5月8日(月)12:44 → オーランド:5月8日(月)15:04所要時間 2時間20分 その後トラブル無く定刻でオーランド空港に到着!リゾート地なので空港の雰囲気がほかの空港とも全然違います。 滞在するホテルまでUberを使って20分ほどで到着し、ひとまず一安心です。 少し部屋で休憩をし、イベント会場で参加登録を行ってからイベント前日夕方から開催されているウェルカムレセプションへ。 日本時間では真夜中を過ぎそろそろ朝になる時間ですが、外が明るいので物凄く眠たいということはなく、他に日本から来ている方々とご挨拶させて頂き歓談を楽しみました。 その日の夜はぐっすり眠れる・・・わけもなく、まとまって眠れたのは3時間程度でした。。。 IBM Think 2023イベント さぁ、ここからがイベント本番です! Think 2023 の初日は IBM CEO である Arvindさんの基調講演からスタート。この講演の目玉は「watsonx」の発表でした。 既にメディア各社で基調講演の概要がまとめられているので詳細は割愛しますが、watsonx について一言でいうと、企業向けに ChatGPT のような機械学習モデルをカスタマイズして利用するためのプラットフォームです。 私自身 ChatGPT(3.5)を時々使っていますが、社内の情報は当然答えてくれないので聞けませんし、入力情報を学習に使われてしまうという情報漏洩のリスクがあり機密情報を入れてはいけないという会社のガイドラインもあるため、当たり障りのないことしか聞けません。 しかし、モデルを自社用にカスタマイズし動かす場所を自分で決められるようになればこのような懸念がなくなるので、仕事で使える場面がかなり増えそうだという期待を感じます。 watsonx は「watsonx.ai」「watsonx.data」「watsonx.governance」の3つの製品に分かれています。 watsonx.ai:AIモデルのトレーニングやチューニングを行います。 watsonx.data:AIモデルの学習に使うためのデータを整備します。 watsonx.governance:運用しているAIモデルをモニタリングし、モデルのライフサイクル管理や信頼性を管理しコンプライアンスを遵守しリスクを緩和します。 このように、watsonx を利用することで自社でAIモデルを開発し運用を効率的に実施できるようになります。 watsonx以外にもこれから出荷開始となる製品がセッション内で紹介されていたり展示会場内のブースがあったりしたので、出荷前にどんな製品なのかを知ることができました。 最近の IBM はまず SaaS でリリースした後にソフトウェア版を提供するという順番となることが多いです。一般的にも製品の初期バージョンは改良すべき点が多いため、メーカー側で製品を改善しやすいSaaSから提供開始となるのはユーザーにとってもいいことですね。 イベント開催に伴い展示会場もオープンになっています。 従来の展示会場と比べると控えめな大きさでしたが、基調講演で発表があったwatsonxの展示スペースは初日、たくさんのお客様で大盛況でした! レゴで作ったサーバーがあったりスケルトンのIBM z16があったりと、普段は見られないものが設置されているのもイベントならではです。 イベント期間中の朝食・昼食はセルフ形式なので、自分の体調やお腹の具合に応じて食べるものや量を調節できます。朝食にはこんなものが置いてあります↓ イベント最終日前日(5/10)の夜は、ユニバーサルスタジオのパークを1つ貸し切ってのパーティーです! ところどころにIBMのロゴがプロジェクションされ、貸し切りであることを実感できスケールの大きさに感動しました。 帰国 Think2023は5月11日の午前中で終わりなのですが、当日の帰りの飛行機が取れなかったため、帰国は翌日の5月12日になりました。 帰りはオーランドからシカゴ経由で羽田へ向かいます。 オーランド:5月12日(金)7:30 → シカゴ:5月12日(金)9:33所要時間 3時間3分(日本とは14時間の時差)※オーランドは東部時間ですが、シカゴは中部時間のため1時間の時差があります 飛行機の乗り継ぎ時間の確保のため早朝の便になってしまい、ホテルの出発時間は朝の5時…前日の夜にUberで予約ができるのは非常に便利で助かります! 朝早かったこともあるのか、空港内の人は少なめです。搭乗手続きもすんなり終えることができました。 これからの移動も長いので、オーランド空港で朝ごはんです。 シカゴ:5月12日(金)13:10 → 羽田:5月13日(土)15:55所要時間 12時間45分 シカゴ空港内で迷ったこと以外は特にトラブルも無く、ようやく帰国便への搭乗です。 帰国便は偏西風に乗れないので行きに比べて1時間ほど時間がかかりますが、ワシントンよりシカゴの方が日本に近いため所要時間はあまり変わりません。しかし、単純に移動時間が長いので長距離移動は疲れます… 無事に羽田空港へ到着し、帰宅のための電車に乗ることができました。 帰宅した後2時間ほど仮眠をとったのですが、起きたら真っすぐ歩けない状態!それほど疲れていたとは自分でも思っていなかったのでびっくりしました。 まとめ 今回のイベントの目玉は新しく発表があった「watsonx」です。出荷開始は7月とのことなので情報はこれから徐々に入ってくると思いますが、最近の流行りであるGenerative AIを企業向けに使いやすくするためのIBMらしいソリューションだなぁと感じました。また基調講演内でもメッセージがありましたが、これからどんどんAIを活用したソリューションが出てくるので、個人的には楽しみです。 watsonx以外にも、サステナビリティーソリューションである Envizi や XDR を含めたセキュリティソリューションスイートである QRadar Suite のような、今後の展開が楽しみな製品がありました。これら最新の IBMソリューションがどういう場合に使えるものなのかをしっかり理解して状況に応じて適切なものをご提案できるよう、引き続き情報収集していきます! 以上、「IBM Think 2023」参加レポートでした。最後までお読み頂きありがとうございました。 お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社技術支援本部E-Mail:nicp_support@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; }

2023年06月09日

【てくさぽBLOG】IBM Power10メモリの秘密

皆様こんにちは。エヌアイシー・パートナーズ てくさぽBLOGメンバーの佐藤です。 IBM Power10サーバー、大変好評をいただいております。今回は Power10 の重要な改良ポイントの一つであるメモリの技術について、DDRメモリの限界と問題点を交えながら深堀していきます。 目次 DDRメモリの限界 DDRメモリの課題 OMIのメリット -DDRメモリの課題を解決するには?- 最後に 関連ブログ・コラム・インタビュー お問い合わせ DDRメモリの限界 DDRメモリは業界標準のメモリです。スマートフォンから PC、サーバーまで広く採用されています。世代を重ねるごとに高速化されており、最新は DDR5メモリとなります。 Power9 でも DDR4メモリインターフェイスを採用していましたが、Power10 からは OpenMemoryInterface(以下 OMI)インターフェイスに変更されました。 DDR の問題点はメモリチップ自体というより、そのやり取りである "パラレル信号" にあります。 パラレル信号においてより高速なメモリアクセスをするためには、信号数を増やすかクロックを上げるほかありません。これ以上の信号数を増やすことは容易ではない為、世代ごとにクロックの高速化を行ってきました。しかしながら、クロックの高速化に伴って問題が発生しています。特にこの問題はサーバー製品において顕著で、限界に達しつつあります。 パラレル信号の等長性 パラレル信号は等長である必要があります。すべての信号が同時並列にメモリと CPU の間を行ったり来たりします。 メモリと CPU の端子の距離は端子やソケットの物理位置によって異なるため、マザーボード上のメモリ配線は蛇行し複雑なパターンを描いています。さらに世代を追うごとに配線長の制限も厳しく、CPUとメモリの間配線はできるだけ最短でかつ同じ長さである必要があります。 これによってマザーボードのレイアウト設計は非常に制限が多く、世代を追うごとに複雑さが増している状態です。 メモリチャンネル クロックを上げるほど配線はシビアになるため、クロックは簡単には上げられません。しかしながら1ソケットあたりの CPUコア数は増加の一途をたどっているため、メモリ帯域は必要です。 そのため、これまでは同時アクセス可能なメモリチャンネル数を増やし、2チャンネル、4チャンネル、6チャンネル、8チャンネルとチャンネル数を増やしてきました。 DDRメモリの課題 1. スペース&価格 メモリチャンネル数を増やすとマザーボード上の配線が増えます。 サーバー製品ですと障害時の交換を考慮するとラップトップパソコンのようにマザーボード上に直接メモリチップをマウントすることは難しく、結果として大量のメモリソケットがマザーボード上のスペースを占拠し、配線のための多層基板がマザーボード価格を押し上げています。 CPU とメモリソケットのレイアウトにも制限があり、一般的な19インチラックでは16チャンネルメモリ、2ソケット、32メモリソケット/ノードが限界になります。 2. 高速化が難しい PCIe と DDR の新しい世代はほぼ同時期のリリースで、最新は PCIeGen5 と DDR5 です。過去も含めて比較すると、基本的に同一世代の PCIe が DDRメモリの転送速度を上回っているということが分ります。この点が、DDRメモリが抱える課題のひとつと言えるでしょう。 ※出典:「転送速度」(ウィキペディア) OMIのメリット -DDRメモリの課題を解決するには?- ここから OMI の話に移ります。 優れた生産性がありながらも制限の厳しいパラレル転送方式の DDRメモリですが、シリアル化すれば、高速転送が可能となり非常に使い勝手がよくなります。具体的には、SoC を通した DDRメモリチップのシリアル変換です。 以下にそのメリットを紹介します。 1. 省スペース化 Power10 に採用されている OMIメモリは物理的に非常に小型です。これは、シリアル化によってピン数を減らすことができたためです。 DDR4 ではメモリ1枚あたり72本、DDR5 では80本もの配線が必要ですが、OMI ではディファレンシャル信号で 8Bitのため、たった16本の配線で済みます。 図1:Power10のOMIメモリ(一般的なDDRメモリと比較すると端子部分は非常に小さくメモリチップレイアウトの自由度が高い) 結果的に、Power10 E1080モデルでは標準的な19インチラックサイズにもかかわらず4ソケット構成で、かつそれぞれ16チャンネルメモリを実現しています。 図2:Power10 E1080モデルの内部構成(中央CPUソケット右がメモリソケット、32ソケットに見えるが、左右にソケットがある) 2. 高速化 メモリソケットの物理サイズが小型化し少ない配線で済むとなるとどうなるでしょうか? メモリチャンネル数の増加による高速化が可能になります。 他社の CPU では最新世代であっても8チャンネルメモリが限度で、DDR4 3200 の8チャンネルでは最大転送が約200GB/s、発表されたばかりの DDR5 4800 の8チャンネルですら最大転送は約300GB/sです。 Power10 は16チャンネルメモリのため、現時点で最大転送は約400GB/s、双方向では約 800GB/s にもなります。 図3:Power10 E1080モデツのブロック図(3272Gbps theoretiacal max bandwidth per socket, 16チャンネルメモリ×4ソケットというのは驚異的) 3. 高可用性 シリアル化した際のメリットとして、レーン転送があります。転送経路にエラーが発生した場合、縮退して動かすことができます。 OMIメモリは通常25Gbps×8レーンで動作しますが、縮退して×4レーンでの動作もサポートされています。 4. 暗号化 SoC を経由してデータを書き込むため、データの暗号化が可能です。 クラウドが増えてきた今、仮想化されたメモリ空間のとなりは攻撃者となりえます。サイドチャネル攻撃は直接的な該当区画への攻撃ではなく、攻撃者自身のメモリ空間に対し、特定パターンでの書き込みにより隣接したメモリ空間を予測する攻撃です。そのため、通常のセキュリティ対策では防ぐことができません。 パスワードは HDD や SSD上では暗号化されますが通常メモリ上では平文で展開されるため、メモリ暗号化はこのような攻撃に非常に有効な対策です。 5. 将来性 OMI のメリットはそれだけではありません。 現在は DDR4メモリのみですが、メモリーコントローラーチップが対応すれば DDR5 や GDDR といったより広帯域のメモリに対応することが可能です。現在の OMI の帯域は1レーンあたり25Gbpsのみですが、Power10自体は32Gbpsも対応しており、CPUとして最大で512GB/s、双方向では1024GB/sに対応しています。 将来の拡張にも対応可能なインターフェイスと言えます。 最後に 報道発表の通り、OMIメモリを推進していた OpenCAPI は Compute Express Link(CXL)に譲渡されました。今後 CXLメモリとして OMI と同様のメモリが登場する可能性はありますが、2023年現在、CXL に対応した CPU は登場していません。 OMIメモリは従来の DDRメモリの制限を開放し、省スペース化、高速化、高可用性、暗号化を実現しているメモリです。現在、この優れた性能を提供できるのは Power10 のみです。 ※出典:「CXL Consortium and OpenCAPI Consortium Sign Letter of Intent to Transfer OpenCAPI Specifications to CXL」(computeexpresslink.org) 関連ブログ・コラム・インタビュー IBM Power10 について、以下のブログやコラム、インタビュー記事でもご紹介しています。※画像をクリックするとコラムや記事へ遷移します。 お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社E-Mail:nicp_support@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; }

2023年05月23日

【早わかり】ILMT導入前の注意点

※この記事は2023年5月23日時点の情報をもとに作成しています *  *  *  *  *  * こんにちは。てくさぽBLOGメンバーの原田です。 IBMソフトウェア(Passport Advantage:以下 PA)ライセンス管理ツールである IBM License Metric Tool(以下 ILMT)を導入するにあたり、ILMT の具体的な構成と導入前の注意事項についてご説明いたします。 ILMT の必要性や基本的な利用ルールついては「【早わかり】仮想化環境でIBMソフトウェアを利用するには」で解説していますので、ぜひご覧ください。 目次 はじめに ILMT9.2管理サーバーの導入タイプ ILMT9.2でサポートされるオペレーティング・システム ILMTサーバー構成に関するよくある質問 さいごに お問い合わせ はじめに ILMT でのライセンス管理にあたっては、ILMT管理サーバーを用意し、ライセンス管理を必要とするサーバーに対して ILMTエージェントを導入する必要があります。 パスポートアドバンテージ契約が必要 ILMT は無償のツールですが、製品のダウンロードや技術サポート受けるにはパスポート・アドバンテージのご契約が必要です。このため、ゼロ円のライセンスの発注が必要な点にご注意ください。 ご契約が締結されていない場合は、製品のダウンロードや技術サポートを受けることができません。また、翌年以降もソフトウェア・サブスクリプション&サポート(以下 SS&S)をゼロ円で注文する必要があります。(※SS&S契約がないとバージョンアップができないため) ILMT管理サーバーは専用サーバー(区画)への導入が前提 ILMT は専用のサーバー機または仮想サーバーにインストールすることが前提とされています。 他のアプリケーションと共存させた場合、リソースやポートの競合が発生する可能性が考えられます。運用開始後に想定外の問題が発生することを避けるためにも、ILMTサーバー用に専用のサーバー機、または仮想サーバーをご用意ください。 ILMTは常に最新のバージョンをご利用ください サブキャパシティ・ライセンスのご契約条件上、ILMT は常に最新のバージョンをご利用いただくことが前提です。 最新バージョンをご利用でない場合は規約違反となり、監査上お客様に不利益が生じる可能性がありますのでご注意ください。 また、最新バージョンには様々な修正が含まれているため、問題の発生を事前に抑制するためにもバージョンアップをご実施ください。 現時点での ILMT最新バージョンは9.2となっています。9.2リリース後も「License Metric Tool -新機能-」(IBMサイト)に記載の通り随時修正がリリースされるため、常に最新化する必要があります。 ILMT9.2管理サーバーの導入タイプ ILMT の現時点最新バージョンは9.2です。ILMT 9.2 における管理サーバーの導入タイプとしては、以下の3種類が用意されています。 License Metric Tool Lite Ansibleを使用したLicense Metric Tool BigFixを使用したLicense Metric Tool 上記のうち1と2については、エージェント側で収集した情報を手動でサーバーに渡す仕組みを検討する必要があるため弊社では「3」のタイプでの導入を推奨しており、今回は「3」のパターンで ILMT管理サーバーを構成する場合についてご説明します。 各導入タイプの詳細については「License Metric Tool -インストール-」(IBMサイト)の資料をご参照ください。 BigFixを使用したLicense Metric Toolの構成概要図 以下図の通り、サブキャパシティー・ライセンス対象のシステム上に導入する BigFixクライアントにて収集したデータを ILMT/BigFixサーバーにアップロードし、ILMTサーバーにて監査レポートを作成します。 BigFixサーバーから最新のソフトウェアカタログを入手するため、インターネット接続が必要です(直接インターネットに接続できない構成の場合はAir-Gapped構成も可能) BigFix は HCL社の製品ですが、ILMT で利用する BigFix については IBMサポートの対象となります ILMT9.2でサポートされるオペレーティング システム 次に、「License Metric Tool -サポートされているオペレーティング システム-」(IBMサイト)を元に、ILMT を導入するサーバーのオペレーティング・システムの前提を確認する必要があります。ILMT管理サーバーとエージェントを導入するサーバーでは、サポートされるオペレーティング・システムが異なりますのでご注意ください。 弊社では、LESサーバーを利用した ILMT管理サーバーのサンプル構成(現在は以下に記載の2パターン)をご提供しています。 Windows構成 RHEL構成 特徴 1台のマシンにILMTサーバー、BigFixサーバー、BigFixコンソールを同居させる構成 1台のマシンにILMTサーバー、BigFixサーバーを同居させる構成 BigFixコンソール 別途用意は不要 別途PC等で用意が必要(Windowsのみサポート) ILMT管理サーバーのOS Microsoft Windows Server 2022 Standard Red Hat Enterprise Linux(RHEL)8.1 データベース MS SQL Server Standard Edition(コアライセンスモデル) Db2(ILMTサーバーライセンスとともに無償提供) ILMTサーバー構成に関するよくある質問 Windows構成の場合、データベースとして MS SQL Server Expressは利用できますか? IBM License Metric Tool と BigFix を同一コンピューターに導入するオールインワン構成の場合、SQL Server Express はご利用いただけません。また、BigFix は本番環境での SQL Server Express のご利用はサポートされておりません。従いまして、Windows にて IBM License Metric Tool を構築する場合は、有償版の SQL Server が必要となります。 RHEL構成の場合、データベースとして別途Db2ライセンスの購入が必要でしょうか? いいえ。Db2ライセンスはILMTライセンスとともに無償で提供されるため、別途購入は不要です。 RHEL構成の場合、BigFixコンソールは別途必要でしょうか? はい。BigFixコンソールは Windows のみがサポートされるため、別途PC等で BigFixコンソールをご用意いただく必要があります。「オプション A: Linux へのオールインワン・インストール(BigFixシナリオ)」もご参照ください。 さいごに 昨今のシステムでは仮想化やコンテナ化は当たり前になり、仮想化環境やコンテナ環境におけるソフトウェア製品のライセンス管理は必要不可欠となっています。コンテナ環境で IBM PAライセンスをご利用される場合には「IBM Container Licenses」(IBMサイト)をご確認ください。 IBMソフトウェア製品のライセンス管理ツールとして ILMT はおなじみの製品となりましたが、ILMT を取り巻く環境や制度は時代の流れと共に変化しています。ぜひ正しい理解のもとでご利用いただきますようお願いいたします。 また、IBM PAライセンスを管理するツールとして「Flexera One with IBM Observability」という SaaS製品もございます。弊社での導入検証結果を「【やってみた】IT資産管理ソリューション「Flexera One with IBM Observability」を使ってみる -Part1-」でご紹介していすので、ぜひご覧ください。 お問い合わせ この記事に関するご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社E-Mail:nicp_support@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; }

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の設定 2)VSIのセキュリティー・グループ設定 3)Proxyサーバの設定 4)AIXの設定 5)IBM COSへファイル転送 6)IBM COSの使用量確認 さいごに お問い合わせ 1)IBM COSの設定 ・作成したバケットにアクセス・ポリシーを設定します。作成したバケットをクリックします。 ・バケット・アクセス・ポリシーの設定画面でユーザをプルダウンして選択し「アクセス・ポリシーの作成」をクリックします。 ・アクセス・ポリシーが作成されました。 ・左側メニューから「サービス資格情報」を選択し「新規資格情報+」をクリックします。 ・「HMAC 資格情報を含める」を「オン」にして「追加」をクリックします。 ・サービス資格情報が作成されました。※AIXの設定で赤枠内のaccess_key_idとsecret_access_keyが必要なのでテキストなどにメモしておきましょう IBM COSの設定が完了しました。 2)VSIのセキュリティー・グループ設定 IBM COSへの通信はhttps (port443) を使用します。VSIのセキュリティー・グループ設定でインバウンド・ルールにport443の許可を設定をします。 ・ナビゲーションメニューから「VPCインフラストラクチャー」「セキュリティー・グループ」を選択、「ルール」タブを選択し、インバウンド・ルールの「作成+」をクリックします。 以下の設定で作成します。 プロトコル:TCP ポート最小値:443 ポート最大値:443 ソースタイプ:CIDRブロック IPの範囲:192.168.1.0/24 (PowerVSのセグメント) ・インバウンド・ルールにport443許可の設定ができました。 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 ・nginxのプロセス起動を確認します。 ・"/etc/nginx/nginx.conf" が作成されていました。次はnginx.confを編集します。 ・その前にファイルのバックアップを行います。 ・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 ・systemctlコマンドでnginxのサービスを再起動し、ステータスを確認します。 # systemctl restart nginx # systemctl status nginx これで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.gzupload: '/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からアップロードしたファイルを確認できました。 これでファイル転送は完了です。私の予想は5分以上かかると思っていましたが、予想よりも速かった印象です。 6)IBM COSの使用量確認 IBM COS は Liteプランの範囲で作業したため課金は発生しませんが、IBM Cloud の管理画面から使用量を確認できるので見てみましょう。 ・IBM Cloud画面上の「管理」⇒「請求および使用量」をクリックします。 ・「使用量」を選択し「Cloud Object Storage」をクリックします。以下の画面の様に各メトリックの使用量を確認できます。ClassA (PUT) は数量233となっており、予想以上に使用していたことがわかりました。※前述した通りLiteプランのためコストは$0となっています。 さいごに 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   .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; }  

1 2 3 4 5 6 15
back to top