この章では、Oracle Virtual Assembly Builderのアプライアンスおよびアセンブリの構造について説明します。内容は次のとおりです。
アプライアンスは、1つのコンポーネントの1つのインスタンスを実行するためのすべてのソフトウェアを含んだ自己完結型仮想ディスク・イメージ・セットです。アプライアンスには、アプライアンス構成、アプライアンス・バイナリおよびオペレーティング・システムが含まれます(図4-1)。
アプライアンス構成は、アプライアンスのイントロスペクション時に取得され、イントロスペクション・プロパティ、システム・プロパティ、ユーザー・プロパティ、ファイル・セットと、カスタマイズされたスクリプトおよびプロパティ・ファイル(オプション)が含まれます。
アプライアンス・バイナリは、アプライアンスに含まれるソフトウェア・バイナリです。これらには、コンテナ・バイナリと製品バイナリの他、構成済カスタム・アプリケーション・バイナリがあります。
アプライアンスをグループ化して、その関係をソフトウェア・アセンブリと呼ばれるアーティファクトに定義できます。アセンブリは、完全な複数層アプリケーション・トポロジを記述するブループリントを提供します。
アセンブリには、アプライアンスの他に、アセンブリには含めることができないデータベース、サーバーまたはセキュリティ・プロバイダなどのインフラストラクチャを表す外部システムへの参照が含まれます。
この項では、デプロイメントで使用できる構造について説明します。
次に、用語の定義をアルファベット順で示します。
アンチアフィニティ: ターゲットの異なる物理ホストにわたって、特定のアプライアンスの複数のインスタンスを配置すること。複数の物理マシンにわたってインスタンスを均等に分散します。
NIC: ネットワーク・インタフェース。1つのNICが接続できるVnetは、1つのみです。
共有ファイル・セット: アセンブリ内の個々のアプライアンスで共有されるファイル・セット。
Vnet: 仮想ネットワーク。1つ以上のNICまたはvNICがVnetに接続します。
vNIC: 仮想ネットワーク・インタフェース。1つのvNICが接続できるVnetは、1つのみです。
ゼロカウント・アプライアンス: 初めにアプライアンス・インスタンスがゼロでデプロイされるアプライアンス。
新しいアセンブリを作成すると、そのアセンブリに対して1つのVnetが自動的に作成されます。このVnetは、そのアセンブリのデフォルトの仮想ネットワークで、デプロイメント環境における実際のネットワークを表しています。追加のVnetを作成したり(デプロイメント環境に追加のネットワークがある場合)、作成済のVnetを削除したりできます。アセンブリの編集時に、アプライアンス上のネットワーク・インタフェースをVnetにバインドできます。
基礎となるインフラストラクチャ・プラットフォームでサポートされる場合、アセンブリ内の個々のアプライアンスで共有されるようにそのファイル・セットを指定できます。
初めにアプライアンス・インスタンスがゼロのアプライアンスをデプロイできます。しかし、後続のスケーリング操作では、アセンブリ構成の一部であるのに初めにインスタンス数がゼロで"デプロイされた"アプライアンスに、アプライアンス・インスタンスを追加できます。アセンブリ内の他のアプライアンスが参照しないアプライアンスのみ、インスタンス数をゼロにできます。つまり、他のアプライアンスはそのアプライアンスに依存しません。またはその入力に接続しません。
ターゲットの異なる物理ホストにわたって、特定のアプライアンスの複数のインスタンスを配置するための要件を指定できます。
各物理マシンにデプロイできるアプライアンス・インスタンスの最大数を設定できます。たとえば、アンチアフィニティを1に設定すると、各アプライアンス・インスタンスがそれぞれ別々の物理マシンにデプロイされます。アンチアフィニティを2に設定すると、1つの物理マシンには最大2つのアプライアンス・インスタンスをデプロイできます。つまりアプライアンスが6つある場合は物理サーバーが3台必要です。
物理サーバーごとに最大n個のアプライアンス・インスタンスという設定で、アプライアンス・インスタンスを配布するために十分な数の物理サーバーが必要になります。アンチアフィニティが2の場合は、6個のアプライアンス・インスタンスには3台以上の物理サーバーが必要だということになります(どのサーバーにも2つのアプライアンスをデプロイする必要があるわけではなく、これはあくまで最大数です)。アプライアンス・インスタンスが8個であれば、4台以上の物理サーバーが必要になるわけです。
この機能の利点は、失敗の発覚を制限できることです。1台の物理サーバーがダウンしても、アプライアンス全体を失ってアセンブリがダウンすることはありません。