KVM環境での仮想マシン・イメージのストレージの高速化とスケーリング
このリファレンス・アーキテクチャは、特にワークロードの急増時に、最適なデータ・アクセス・レイテンシと帯域幅が得られるように設計された、スケーラブルで高パフォーマンスのデータ・ストレージおよびデータ移動プラットフォームを示しています。
アーキテクチャ
このアーキテクチャでは、3つのフォルト・ドメインを持つ単一の可用性ドメインが使用されます。ソリューションのすべてのコンポーネントは、単一障害点なしで高可用性です。
各ノードでは、データはRAMとブロック・ボリュームの2つの場所に格納されます。RAMは、Linuxカーネル・ドライブ・ブロックRAMディスク(brd)を使用してローカル・ファイル・システムとしてマウントされます。RAMベースとブロック・ボリュームベースの両方の場所は、2つのファイル・システムで統合されます。各ファイル・システムは、パラレルでスケーラブルなファイル・システムであるGlusterFSを使用してノード間で共有されます。
- ノード内: 実際のVM数に関係なく、任意の数の仮想マシン(VM)がゼロ・レイテンシで起動されます。その結果、アーキテクチャにより、共有ストレージからVMイメージを読み取るボトルネックが解消され、ワークロードの急増によるサービスの遅延が回避されます。
- ノード間: 分散ボリュームにより、VMはノード間でシームレスに移動します。その結果、任意のVMイメージに任意のノードからいつでもアクセスできます。これにより、管理者はノードのプールが増える(またはノードのハードウェア障害が発生した場合に縮小される)ときに、ベア・メタル(BM)ノード全体でVMイメージのバランスをすばやく再調整できます。オプションで、2つの共有ストレージ・タイプ(RAMベースおよびブロック・ボリューム・ベースのストレージ)を単一の共有ストレージ・インスタンスに階層化できます。この場合、RAM層は頻繁にアクセスされる(ホット)ストレージに使用され、ブロック・ボリュームは長期(コールド)ストレージに使用されます。
次の図は、このリファレンス・アーキテクチャを示しています。
このアーキテクチャには、次のコンポーネントがあります。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、巨大な距離は(複数の国または大陸にわたって)分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各アベイラビリティ・ドメインの物理リソースは、他のアベイラビリティ・ドメインのリソースから分離されるため、フォルト・トレランスが提供されます。可用性ドメインは、電源や冷却、内部の可用性ドメイン・ネットワークなどのインフラストラクチャを共有しません。そのため、1つの可用性ドメインでの障害が、リージョン内の他の可用性ドメインに影響しない可能性があります。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメイン(独立した電源およびハードウェア)があります。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害に耐えることができます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNを使用してネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる重複しない複数のCIDRブロックを含めることができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCNの他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。パブリックまたはプライベートにできます。
- サイト間VPN
サイト間VPNは、オンプレミス・ネットワークとOracle Cloud InfrastructureのVCN間にIPSec VPN接続を提供します。IPSecプロトコル・スイートでは、パケットがソースから宛先に転送される前にIPトラフィックを暗号化し、到着時にトラフィックを復号化します。
- FastConnect
Oracle Cloud Infrastructure FastConnectは、データ・センターとOracle Cloud Infrastructureの間の専用プライベート接続を簡単に作成する方法を提供します。FastConnectは、インターネットベースの接続と比較すると、より高い帯域幅のオプションと、より信頼性の高いネットワーキング体験を提供します。
- 動的ルーティング・ゲートウェイ(DRG)
DRGは、同じリージョン内のVCNとリージョン外のネットワーク(別のOracle Cloud Infrastructureリージョン内のVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダ内のネットワークなど)の間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。
- ネットワーク・アドレス変換(NAT)ゲートウェイ
NATゲートウェイを使用すると、VCN内のプライベート・リソースは、受信インターネット接続にこれらのリソースを公開することなく、インターネット上のホストにアクセスできます。
- インターネット・ゲートウェイ
インターネット・ゲートウェイでは、VCN内のパブリック・サブネットとパブリック・インターネット間のトラフィックが許可されます。
- セキュリティ・リスト
サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- ルート表
仮想ルート表には、サブネットからVCN外の宛先(通常はゲートウェイを介)にトラフィックをルーティングするルールが含まれます。
- 要塞ホスト
要塞ホストは、クラウド外部からのトポロジへのセキュアで制御されたエントリ・ポイントとして機能するコンピュート・インスタンスです。要塞ホストは通常、非武装地帯(DMZ)にプロビジョニングされます。機密性の高いリソースをプライベート・ネットワークに配置することで、クラウドの外部から直接アクセスできないように保護できます。トポロジには、定期的にモニターおよび監査できる既知のエントリ・ポイントが1つあります。そのため、トポロジへのアクセスを損なうことなく、より機密性の高いコンポーネントを公開しないようにできます。
- ベア・メタル
Oracleのベア・メタル・サーバーは、専用のコンピュート・インスタンスを使用して、分離、可視性および制御を提供します。サーバーは、多くのコア数、大容量のメモリー、および高帯域幅を必要とするアプリケーションをサポートします。最大160コア(業界最大)、2TBのRAMおよび最大1PBのブロック・ストレージまでスケーリングできます。お客様は、Oracleのベア・メタル・サーバー上にクラウド環境を構築し、他のパブリック・クラウドやオンプレミスのデータ・センターより大幅なパフォーマンス向上を実現できます。
- ブロック・ボリューム
ブロック・ストレージ・ボリュームを使用すると、ストレージ・ボリュームを作成、アタッチ、接続および移動し、ボリューム・パフォーマンスを変更して、ストレージ、パフォーマンスおよびアプリケーションの要件を満たすことができます。ボリュームをインスタンスにアタッチおよび接続した後は、そのボリュームを通常のハード・ドライブのように使用できます。また、データを失うことなく、ボリュームを切断して別のインスタンスにアタッチすることもできます。
推奨事項
開始点として次の推奨事項を使用します。お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。
- VCN
VCNを作成する場合、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス空間のCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。
リージョナル・サブネットを使用します。
- クラウド・ガード
Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティを事前対策的にモニターおよびメンテナンスします。クラウド・ガードは、定義可能なディテクタ・レシピを使用して、セキュリティの弱点についてリソースを調べ、オペレータおよびユーザーにリスクのあるアクティビティを監視します。構成の誤りや安全でないアクティビティが検出されると、クラウド・ガードは修正アクションを推奨し、定義できるレスポンダ・レシピに基づいてそれらのアクションの実行を支援します。
Oracleによって提供されるデフォルト・レシピをクローニングおよびカスタマイズして、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピを使用すると、警告を生成するセキュリティ違反のタイプと、それらに対して実行できるアクションを指定できます。たとえば、可視性がパブリックに設定されているオブジェクト・ストレージ・バケットを検出できます。
クラウド・ガードをテナンシ・レベルで適用して、最も広い範囲をカバーし、複数の構成を保持する管理上の負担を軽減します。
管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。
- セキュリティ・ゾーン
最大限のセキュリティが必要なリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づいたセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新すると、Oracle Cloud Infrastructureでは、セキュリティ・ゾーン・レシピのポリシーに対して操作が検証され、いずれかのポリシーに違反する操作が拒否されます。
- ネットワーク・セキュリティ・グループ(NSG)
NSGを使用して、特定のVNICに適用されるイングレスおよびエグレス・ルールのセットを定義できます。NSGではVCNのサブネット・アーキテクチャをアプリケーションのセキュリティ要件から分離できるため、セキュリティ・リストではなくNSGを使用することをお薦めします。
- ハイパーバイザ・ノード
HPCベア・メタル・シェイプをデプロイして、完全なパフォーマンスを実現します。このアーキテクチャでは、BM.Standard.E4シェイプを使用します。
注意事項
このリファレンス・アーキテクチャをデプロイするときは、次の点を考慮してください。
- パフォーマンス
最適なパフォーマンスを得るには、適切な帯域幅を備えた正しいコンピュート・シェイプを選択します。
- 可用性
デプロイメント要件およびリージョンに基づいて、高可用性オプションの使用を検討します。オプションには、リージョンおよびフォルト・ドメインでの複数の可用性ドメインの使用が含まれます。
- 監視とアラート
ノードのCPUおよびメモリー使用量の監視およびアラートを設定して、必要に応じてシェイプをスケール・アップまたはスケール・ダウンできるようにします。
- コスト
ベア・メタルGPUインスタンスは、より高いコストに必要なCPU性能を提供します。要件を評価して、適切なコンピュート・シェイプを選択します。
実行中のジョブがない場合、クラスタを削除できます。
- 監視とアラート
- クラスタファイルシステム
複数のシナリオがあります。
- HPCシェイプに付属する最適化されたDenseIOシェイプ。
- マルチアタッチ・ブロック・ボリュームによって、最大2,680MB/sのIOスループットまたは700KのIOPSを実現できます。
- パフォーマンス要件に応じて、NVMe SSDストレージまたはブロック・ストレージのいずれかに独自のパラレル・ファイル・システムをインストールすることもできます。OCIは、スクラッチおよび永続的なNFSベース(NFS- HA、FSS)またはパラレル・ファイル・システム(weka.io、Spectrum Scale、BeeGFS、BeeOND、Lustre、GlusterFS、Quobyte)ソリューションを提供します。
デプロイ
Linux KVMのGlusterFSアプリケーションおよびTerraformコードは、Oracle Cloud Marketplaceで入手できます。
Oracle Linux KVMインスタンスを作成するためのTerraformスタックは、Oracle Cloud Marketplaceで入手できます。
- Oracle Cloud Marketplaceに移動します。
- 「アプリケーションの入手」をクリックします。
- 画面に表示されるプロンプトに従います。
GlusterFSアプリケーションは、Oracle Cloud Marketplaceで使用できます。各インスタンスにGlusterFSを手動でデプロイする必要があります。
- Oracle Cloud Marketplaceに移動します。
- 「アプリケーションの入手」をクリックします。
- 画面に表示されるプロンプトに従います。