ICM の概要
InterSystems IRIS リリース 2023.3 以降、InterSystems Cloud Manager (ICM) は非推奨になっています。今後のバージョンからは削除される予定です。
このドキュメントでは、InterSystems Cloud Manager (ICM) を使用して、パブリック・クラウドとプライベート・クラウド、および既存の物理クラスタと仮想クラスタに InterSystems IRIS® Data Platform 構成を導入する方法について説明します。
この章では、InterSystems Cloud Manager (ICM) の機能と仕組み、および ICM を使用してクラウド・インフラストラクチャ、仮想インフラストラクチャ、および物理インフラストラクチャに InterSystems IRIS Data Platform 構成を導入する方法について説明します。(実践演習を含む ICM の簡単な紹介については、"InterSystems IRIS デモ : InterSystems Cloud ManagerOpens in a new tab" を参照してください。)
残りの章および付録の内容は、次のとおりです。
-
ICM の概要では、ICM の目的、設計、使用方法、および利点の概要について説明します。
-
基本的な ICM の要素では、Docker イメージと Docker リポジトリ、プラットフォーム、構成ファイルなど、ICM の使用に関連する要素について説明します。
-
ICM の使用では、ICM を使用してインフラストラクチャをプロビジョニングし、サービスを導入するための詳細な手順について説明します。
-
ICM リファレンスでは、コマンド、オプション、および構成パラメータ、ノード・タイプとトポロジ、ライセンスとセキュリティ、マルチゾーン、マルチリージョン、およびプライベート・ネットワーク導入、モニタリング、トラブルシューティングなど、ICM のリファレンス情報を提供します。
-
コンテナレスの導入では、ICM を使用して、プロビジョニングしたインフラストラクチャにコンテナ化されていないサービスを導入する方法について説明します。
-
ICM 導入環境の共有では、ICM の分散管理モードについて説明します。このモードを使用すると、1 つの導入環境のインフラストラクチャとサービスを複数の ICM コンテナから管理できます。
-
ICM によるスクリプト作成では、スクリプトを使用して ICM でインフラストラクチャをプロビジョニングし、サービスを導入する方法について説明します。
-
カスタム・コンテナおよびサードパーティ・コンテナでの ICM の使用では、ICM を使用してカスタム・コンテナとサードパーティ・コンテナにサービスを導入するための手順について説明します。
-
既存のクラスタへの導入では、ICM を使用して既存の物理インフラストラクチャまたは仮想インフラストラクチャにサービスを導入するための手順について説明します。
InterSystems Cloud Manager の利点
InterSystems Cloud Manager (ICM) を使用して、クラウド・インフラストラクチャのプロビジョニングと、インフラストラクチャへのサービスの導入を簡単に直観的な方法で行うことができます。ICM は、Infrastructure as Code (IaC)、不変性を維持するインフラストラクチャ、および InterSystems IRIS をベースとしたアプリケーションのコンテナ化導入の利点を生かせるように設計されており、新しいテクノロジや要員トレーニングへの大規模な投資や、試行錯誤による構成と管理は必要ありません。
ICM により、Google Cloud Platform、Amazon Web Services、Microsoft Azure、Tencent Cloud などの Infrastructure as a Service (IaaS) パブリック・クラウド・プラットフォームで適切な InterSystems IRIS 構成のプロビジョニングと導入が簡単になります。プレーン・テキストの構成ファイルに必要な内容を定義し、簡単なコマンド行インタフェースを使用して ICM に指示を出せば、その他の処理は ICM が行います。例えば、クラウド・インフラストラクチャをプロビジョニングし、InterSystems IRIS ベースのアプリケーションを Docker コンテナ内で導入する処理が行われます。
ICM は、コードのようにチーム・メンバ間で共有し、編集、レビュー、およびバージョン管理を行うことができる宣言型構成ファイルに API を体系化します。ICM を使用すると、これらのファイルで指定された内容を実行することにより、プロダクション・インフラストラクチャを安全かつ予想どおりに作成し、継続的に変更を加えて、改善することができます。
ICM を使用すれば、大規模な開発や設備更新を必要とせずに、仮想/クラウド・コンピューティングとコンテナ化されたソフトウェアの提供する効率性、俊敏性、再現性を生かすことができます。ICM は、スタンドアロン・インスタンスから、データ・サーバに接続されたアプリケーション・サーバの分散キャッシュ・クラスタ、さらにデータおよび計算ノードのシャード・クラスタに至るまで、幅広い InterSystems IRIS 構成のプロビジョニングと導入に対応できます。ICM は、既存の仮想クラスタと物理クラスタ、およびプロビジョニングするインフラストラクチャで導入を行うことができます。
クラウド・インフラストラクチャまたはコンテナ、あるいはその両方をすでに使用している場合でも、ICM はユーザが提供する情報に基づいて多数の手動ステップを自動化するので、アプリケーションのプロビジョニングと導入に必要な時間と労力が大幅に節約されます。また、サードパーティ・ツールの使用と社内のスクリプト作成によって ICM の機能が簡単に拡張され、より高度な自動化と労力の削減が実現されます。
以下のように、ICM アプローチの要素にはそれぞれ固有の利点があり、互いに相乗効果を生み出します。
-
構成ファイル・テンプレートにより、ほとんどの設定についてインターシステムズ提供の既定値をそのまま使用し、必要な値のみをユーザ固有のニーズに合うようにカスタマイズできます。
-
コマンド行インタフェースを使用して、プロビジョニングと導入のプロセスの各フェーズを 1 つの単純なコマンドで開始でき、導入したコンテナをさまざまな方法で操作できます。
-
IaC により、複製、管理、および破棄が容易で一貫性と再現性のあるプラットフォームを迅速にプロビジョニングできます。
-
IaaS プロバイダを利用すれば、最も効率的な方法でインフラストラクチャを活用できます。例えば、クラウド構成が数時間のみ必要な場合は、数時間分のみの料金を支払うだけで済むと共に、再現性がサポートされ、ネットワーキングやセキュリティ、ロード・バランサ、ストレージ・ボリュームなど、ホスト・ノードの実行に必要なリソースがすべて提供されます。
-
コンテナ化されたアプリケーションの導入により、不変性を保ったソフトウェア・プロビジョニングによるインフラストラクチャで、シームレスに置換可能なアプリケーション環境が実現します。この環境では、コードがデータから分離されてインフラストラクチャ自体を更新するリスクとコストが回避されると共に、継続的統合/継続的導入 (CI/CD) と DevOps アプローチがサポートされます。
DevOps アプローチをサポートするコンテナ
これらの優れた機能を活用する ICM の利点は、以下のとおりです。
-
大規模でクラウド・ベースの InterSystems IRIS 構成のプロビジョニングと導入が自動化され、コマンド行での管理が実現されます。
-
既存の InterSystems IRIS および InterSystems IRIS ベースのアプリケーションが、企業の DevOps ツールチェーンと統合されます。
-
アプリケーションと実行環境の両方のバージョン管理が容易で、安定性と堅牢性がありリスクが最小化されます。
-
迅速な再プロビジョニングと再導入により、導入済みの InterSystems IRIS 構成を弾力的に拡張/縮小できます。
Docker コンテナを使用しない場合は、ICM を使用してクラウド・インフラストラクチャをプロビジョニングし、コンテナ化されていない InterSystems IRIS インスタンスをそのインフラストラクチャにインストールするか、InterSystems IRIS を既存のインフラストラクチャにインストールすることができます。ICM のコンテナレス・モードの使用の詳細は、付録 "コンテナレスの導入" を参照してください。
InterSystems Cloud Manager アプリケーションのライフサイクル
プロビジョニングと導入の 2 つの主なフェーズを含む、アプリケーション・ライフサイクルで ICM が担当するロールを以下の図に示します。
目標の定義
ICM の構成ファイルには、出荷時の状態で、必要な InterSystems IRIS 構成のプロビジョニングと導入のために必要な設定のほとんどすべてが含まれています。適切なファイルで目的の構成を定義すると共に、資格情報 (クラウド・サーバ・プロバイダ、SSH、TLS)、InterSystems IRIS ライセンス、必要なホスト・ノードのタイプとサイズなど、いくつかの詳細を指定すれば済みます。(詳細は、"導入の定義" を参照してください。)
このドキュメントでは、ホスト・ノードという用語は、クラウドでプロビジョニングされる仮想ホストを指します。クラウドは、サポートされるクラウド・サービス・プロバイダのパブリック・クラウド、または VMware vSphere を使用するプライベート・クラウドになります。
プロビジョニング
ICM は、4 つの主なプロビジョニング処理をサポートします。これらの処理は、クラウド環境内のホスト・ノードおよび関連リソースの作成 (プロビジョニング)、構成、変更、および破棄 (プロビジョニング解除) です。
ICM がプロビジョニング・タスクを実行する際には、HashiCorp の Terraform を呼び出します。Terraform は、インフラストラクチャの作成、変更、およびバージョン管理を安全、効率的に行うためのオープン・ソース・ツールで、既存のクラウド・サービス・プロバイダとカスタム・ソリューションの両方と互換性があります。構成ファイルは、プロビジョニングされるインフラストラクチャを記述します。(詳細は、"インフラストラクチャのプロビジョニング" を参照してください。)
すべてのタスクを個別の Terraform コマンドとして発行できますが、ICM によって Terraform ジョブを実行すると、Terraform を直接呼び出す場合と比べて以下の利点があります。
Terraform を直接実行する場合 | ICM によって Terraform を実行する場合 |
---|---|
プロビジョニング・タスクのみを実行し、プロビジョニングを導入や構成と統合することはできない | 弾力的な再プロビジョニングおよび再導入のフェーズも含め、すべてのフェーズを統合 (例えば、クラスタ・インフラストラクチャにノードを追加した後、各ノードで InterSystems IRIS を導入および構成して、それらをクラスタに組み込む) |
それぞれのタイプのノードを順次構成するので、長いプロビジョニング時間がかかる |
複数の Terraform ジョブを並列に実行してすべてのノード・タイプを同時に構成するので、プロビジョニングが迅速 |
プログラムによるアクセスは不可能 (API がない) |
Terraform へのプログラムによるアクセスが可能 |
専有の HashiCorp Configuration Language (HCL) で目的のインフラストラクチャを定義 |
汎用の JSON 形式で目的のインフラストラクチャを定義 |
また ICM は、SSH を同じ方法で使用してプロビジョニング後の構成タスクを実行します。つまり、複数のノードでコマンドを並列に実行して、実行を高速化します。
導入
ICM は、Docker コンテナに入った InterSystems IRIS イメージを、プロビジョニング対象のホスト・ノードに導入します。これらのコンテナは、プラットフォームから独立し、完全にポータブルなので、インストールは必要なく、調整は簡単です。ICM 自体は Docker コンテナ内で導入されます。コンテナ化されたアプリケーションは、ホスト・システムのカーネルでネイティブに実行されます。一方、アプリケーション実行に必要な要素と、必要な接続、サービス、およびインタフェースにアクセス可能にするために必要な要素 (実行時環境、コード、ライブラリ、環境変数、および構成ファイル) のみが、コンテナで提供されます。
導入タスクは、Docker を呼び出すことによって実行されます。すべてのタスクを個別の Docker コマンドとして発行できますが、ICM によって Docker コマンドを実行すると、Docker を直接呼び出す場合と比べて以下の利点があります。
-
ICM は Docker コマンドをすべてのマシンにわたって並列スレッドで実行するので、イメージのプル (ダウンロード) など、長時間かかるタスクを実行するための合計時間が短縮されます。
-
ICM は、アプリケーション固有の要件があるタスク (ローリング・アップグレードなど) を調整できます。
-
ICM は、最初の導入以降に変更された (コンテナのアップグレードや新しいコンテナの追加を含む) インフラストラクチャにサービスを再導入できます。
コマンド行で InterSystems IRIS コンテナをすばやく実行する方法は、"InterSystems IRIS の基礎 : InterSystems IRIS コンテナの実行" を参照してください。ICM 以外の方法を使用してコンテナに InterSystems IRIS および InterSystems IRIS ベースのアプリケーションを導入する方法は、"コンテナ内でのインターシステムズ製品の実行Opens in a new tab" を参照してください。
管理
ICM コマンドを使用して、インフラストラクチャとコンテナをさまざまな方法で操作および管理できます。例えば、クラウド・ホスト上またはコンテナ内でコマンドを実行したり、ホストまたはコンテナにファイルをコピーしたり、コンテナをアップグレードしたり、InterSystems IRIS を直接操作したりすることができます。
ICM サービスの導入と管理の詳細は、"サービスの導入と管理" を参照してください。
InterSystems IRIS のその他の自動導入方法
InterSystems IRIS データ・プラットフォームには、ICM のほかに、以下の自動導入方法が用意されています。
InterSystems Kubernetes Operator (IKO) を使用した自動導入
KubernetesOpens in a new tab は、コンテナ化されたワークロードとサービスの導入、拡張、および管理を自動化するためのオープンソースのオーケストレーション・エンジンです。導入するコンテナ化されたサービスと、そのサービスを管理するポリシーを定義すると、Kubernetes は、必要なリソースを可能な限り最も効率的な方法で透過的に提供します。また、導入が指定値から外れた場合は導入を修復またはリストアするほか、拡張を自動またはオンデマンドで行います。InterSystems Kubernetes Operator (IKO) は、IrisCluster カスタム・リソースで Kubernetes API を拡張します。このリソースは、InterSystems IRIS のシャード・クラスタ、分散キャッシュ・クラスタ、またはスタンドアロン・インスタンスとして、すべて任意でミラーリングした状態で、Kubernetes プラットフォームに導入できます。
Kubernetes で InterSystems IRIS を導入するのに IKO は必須ではありませんが、プロセスが大幅に簡易化され、InterSystems IRIS 固有のクラスタ管理機能が Kubernetes に追加され、クラスタにノードを追加するなどのタスクが可能になります。このようなタスクは、IKO を使わなければインスタンスを直接操作して手動で行わなければなりません。
IKO の使用法の詳細は、"InterSystems Kubernetes Operator の使用Opens in a new tab" を参照してください。
構成マージを使用した自動導入
Linux および UNIX® システムで利用可能な構成マージ機能を使用すると、宣言型構成マージ・ファイルを導入内の各インスタンスに適用するだけで、同じイメージから導入した InterSystems IRIS コンテナや、同じキットからインストールしたローカル・インスタンスの構成を変更することができます。
このマージ・ファイルは、既存のインスタンスを再起動したときに適用することもでき、インスタンスの構成パラメータ・ファイル (CPF) を更新します。CPF にはインスタンスのほとんどの構成設定が含まれており、これらの設定は、インスタンス導入後の最初の起動を含め、開始時に毎回、CPF から読み取られます。導入時に構成マージを適用すると、インスタンスと共に提供された既定の CPF が実質的に独自の更新バージョンに置き換えられます。
構成マージを使用すると、希望どおりの構成で、個々のインスタンスまたはインスタンスのグループを導入できます。複雑なアーキテクチャを導入する場合は、導入するインスタンスのタイプごとに、別個のマージ・ファイルを呼び出すことができます。例えば、シャード・クラスタを導入する場合は、データ・ノード 1、残りのデータ・ノード、計算ノード (オプション) の順に導入します。
“ICM リファレンス” の章の "カスタマイズされた InterSystems IRIS 構成を使用した導入" で説明しているように、UserCPF パラメータを使用して、ICM 導入フェーズ中に適用する構成マージ・ファイルを指定できます。前のセクションで説明したように、IKO にも構成マージ機能が組み込まれています。
一般的な構成マージの使用法および具体的なミラーの導入方法の詳細は、"構成マージを使用した InterSystems IRIS の自動構成Opens in a new tab" を参照してください。