レジリエンシの共同責任モデル
クラウドのレジリエンシは、ユーザーとOracleの共同責任です。Oracle Cloud Infrastructure (OCI)でレジリエントなワークロード・アーキテクチャを構築するには、高可用性とディザスタ・リカバリに関する要件および責任を理解する必要があります。
Oracleの責任: 「クラウドのレジリエンシ」
OCIは「クラウドのレジリエンシ」を担っています。OCIは、データ・センター、ネットワーク、物理ハードウェア、ソフトウェアからなる堅牢で可用性が高くレジリエントなグローバル・クラウド・インフラストラクチャを提供します。これは、ダウンタイムを最小限に抑え、障害が発生した場合でもアプリケーションのアクセスと機能性を維持できるように設計されています。OCIは、これらのサービスのパフォーマンス、可用性、管理性をカバーするエンドツーエンドのサービス・レベル契約(SLA)を提供しています。
OCIは、物理的に複数のリージョンにホストされています。リージョンは独立しており、国内、各国間または大陸間で地理的に分散しています。各リージョンは、1つまたは複数の可用性ドメイン(AD)(それぞれ単一ADまたは複数ADと呼ばれる)で構成されます。各ADは独立したデータ・センターであり、複数ADリージョンではそれぞれが分離されているため、他のADに影響を及ぼすことによる障害のリスクが軽減されます。
ADは、セキュアな低レイテンシの高帯域幅ネットワークによって接続されます。これにより、複数のAD(使用可能な場合)にまたがるレジリエントな高可用性ソリューションを構築できます。さらに、すべてのADに3つのフォルト・ドメイン(FD)が含まれています。各FDは、同じAD内の他のFDとは異なるハードウェアおよびインフラストラクチャのグループです。FDでは、1つのAD内の同じ物理ハードウェアに依存しないようにリソースを分散できます。その結果、1つのFDに影響するハードウェア障害またはメンテナンス・イベントは、他のFDのリソースに影響しません。
コンピュート、ストレージ、ネットワーキング、アイデンティティ、データベース・サービスなどのOCIコア・インフラストラクチャ・コンポーネントには、冗長性が組み込まれています。AD、FD、およびこれらのサービスを活用して、可用性の高いアプリケーションを構築できます。ただしOCIは、障害や部分的/完全なリージョン停止の発生時に、ユーザーのテナンシにプロビジョニングされたアプリケーション・リソースおよびデータを別のADまたはリージョンに自動的にレプリケート、デプロイ、またはフェイルオーバーしません。アプリケーション・リソースをADおよびリージョンにデプロイするのは、ユーザーの責任です。
たとえば、アプリケーションが1つのAD (たとえば、AD1)内のコンピュート・インスタンス(ブロック・ボリュームあり)にデプロイされている場合、OCIは、インスタンスに影響を及ぼす障害が発生しても、別のADまたはリージョンに新しいコンピュート・インスタンスを自動的にプロビジョニングしません。
ノート: ブロック・ストレージには冗長性が組み込まれています。
ユーザーの責任: 「クラウドにおけるレジリエンシ」
「クラウドにおけるレジリエンシ」を実現するために、ユーザーは最終的に、高可用性(HA)とディザスタ・リカバリ(DR)戦略、リスク評価、インシデント対応計画など、包括的なビジネス継続性計画の開発に責任を負います。ユーザーには、OCIのベスト・プラクティスとMaximum Availability Architecture (MAA)フレームワークを使用して、レジリエンシとフォルト・トレランスを実現するために複数のFD、AD、およびリージョンにアプリケーションとシステムをデプロイする責任もあります。アプリケーションの各コンポーネントは、稼働時間とアクセス可能性が最大になるように設計する必要があります。高可用性を実現するには、単一障害点を特定して排除し、コンポーネントに障害が発生してもアプリケーションの稼働状態と使用可能状態が維持されるようにする必要があります。
災害またはリージョン全体の停止が発生した場合、単一ADリージョンか複数ADリージョンかに関係なく、ディザスタ・リカバリ計画を実行する前に、フェイルオーバーADまたはリージョン内のテナンシにOCIリソースの可用性が割り当てられていることを確認するのはユーザーの責任です。
レジリエンシはOCIとユーザー間の共同責任
OCIの責任: クラウドのレジリエンシ
コンポーネント | 説明 |
---|---|
リージョン、可用性ドメイン、フォルト・ドメイン | Oracleは、信頼性の高いグローバル・クラウド・インフラストラクチャをプロビジョニング、管理、モニター、保護、運用します。 |
OCIストレージ・サービス | Oracleは、ストレージ・サービスをプロビジョニングおよび運用して、サービスの高可用性を提供し、可用性ドメイン内のデータを物理的に保護します。 |
OCI Core Networkingサービス | Oracleは、最適なアプリケーション接続とパフォーマンスを実現するグローバル・トラフィック・シェーピングにより、OCIコア・ネットワーキング・サービスおよび接続サービスに高可用性を提供します。 |
OCI Databaseサービス | Oracleは、データベース・サービスの作成と開始、ハードウェアのメンテナンスと拡張、ストレージ・サーバーの更新、サービス・ヘルスの監視を行います。 |
ユーザーの責任: クラウドにおけるレジリエンシ
コンポーネント | 説明 |
---|---|
HA、DR、およびフェイルオーバーの計画とテスト | HA、DR、およびフェイルオーバー・ソリューションを計画、構成、テスト、実行して、データとサービスのレジリエンシを確保し、ビジネスの継続性を実現します。 |
運用と管理 | クラウド・リソースの運用とモニタリング、サービスの中断を最小限に抑えるためのレジリエントなクラウド・アーキテクチャのベスト・プラクティスの実装はユーザーが担当します。 |
ワークロード・アーキテクチャ | エンタープライズ・アーキテクチャのベスト・プラクティスおよびMaximum Availability Architecture (MAA)フレームワークを使用して、信頼性が高く、安全で効率的な、コスト効果の高いクラウド・ワークロードを設計、構築、維持するのはユーザーの責任です。 |
レジリエンシ計画 | ユーザーは、HAおよびDR戦略、リスク評価、インシデント対応計画など、包括的なビジネス継続性計画の開発に責任を負います。 |
OCIがクラウド・レジリエンシを提供する方法
次の情報では、OCIがクラウド・レジリエンシを実現する方法を説明します。
サービスに対するOCIの責任
- レジリエンシを備えたOCIアーキテクチャが構築され、同じタスクを実行できる複数のコンポーネントをデプロイします。
- OCIは、OCIサービスのヘルスをモニターし、サービスが中断した場合の自動フェイルオーバーを管理します。
- OCIコア・プラットフォーム・サービス、サーバー、ストレージ、ネットワーキング、コアIdentity and Access Management (IAM)およびテレメトリ・サービスは、冗長的に設計およびデプロイされます。OCIはヘルスを継続的にモニターし、障害発生時には自動フェイルオーバー・プロセスを実行して継続性を提供します。
- OCIストレージ・サービスには、レジリエンシが組み込まれています。OCI Block Volumeは、AD内で永続的な高パフォーマンス・データ・ストレージを提供します。同様に、OCI Object Storageは、AD内で永続的かつ耐久性の高い高パフォーマンス・データ・ストレージを提供します。また、複数ADリージョンでは、オブジェクト・ストアによってAD間でデータが自動的にレプリケートされます。ファイル・ストレージでは、AD内の複数のフォルト・ドメインにレプリカが保持されます。
- Oracleは、OCI内で非常に堅牢でレジリエントなデータベース・サービスを提供し、ニーズに最適なHAおよびDR戦略を選択できるようにします。
- OCI DNSは、地理的に分散した複数のデータ・センターにホストされているため、可用性が高くなっています。また、低レイテンシ、基本的なレベルのロード・バランシング、およびレジリエンシを実現することで、ユーザーへの影響を最小限に抑えながら、停止や大量のトラフィックを処理できます。
レジリエンシの実現に対するユーザーの責任
次の情報は、ユーザーがレジリエンシの実現を担当する方法について説明しています。
プロセスの推奨
- これらのベスト・プラクティスに基づいて、高可用性計画を文書化します。可用性の向上により、コストが増加し、複雑さが増大することを考慮してください。
- リカバリ・ポイント目標(RPO)とリカバリ時間目標(RTO)を含むベスト・プラクティスに基づいて、ディザスタ・リカバリ計画を文書化します。
- ワークロードとアプリケーション・レベルでレジリエンシのニーズを文書化し、必要に応じて冗長性、モニタリング、フェイルオーバーを計画します。
- サービスの中断、計画メンテナンス、アプリケーション・レベルでのOracle Data GuardまたはOracle Real Application Clusters (RAC)の利用のシナリオなど、ビジネスに影響を与えるワークロードおよびアプリケーションのフェイルオーバー計画を整備します。
- クリティカルなワークロードには、フル・スタック・ディザスタ・リカバリをデプロイします。
アイデンティティ・ドメイン
- ディザスタ・リカバリおよびアイデンティティ・ドメインを計画します。
- アイデンティティ・ドメイン・レプリケーションは、「デフォルト」アイデンティティ・ドメインに対して常に有効になります。「デフォルト」アイデンティティ・ドメインは常に、テナントがサブスクライブされているすべてのリージョンにレプリケートされます。管理者が別のリージョンにサブスクライブすると、「デフォルト」アイデンティティ・ドメインがそのリージョンに自動的にレプリケートされます。
- 追加のアイデンティティ・ドメインは、作成時に指定された「ホーム・リージョン」に作成されます。レプリケーションが明示的に有効化されていないかぎり、これらは他のサブスクライブ済リージョンにレプリケートされません。
ネットワーキング
- ネットワーク・リソースの高可用性を計画し、ロード・バランサ・サービスを利用してトラフィックを分散します。
- ネットワーク接続を容易にするために、異なるリージョン内の仮想クラウド・ネットワーク(VCN)をピアリングします。
- OCIには、セカンダリDNSをプロビジョニングして、Web向けアプリケーションの冗長性を作成するオプションが用意されています。
コンピュート
- コンピュート・インスタンスの高可用性を計画し、各ADのFDに分散して、ロード・バランサの背後に配置します。
- ボリュームのポイントインタイム・スナップショットのバックアップを有効にします。
- ブロック・ボリューム、ブート・ボリュームおよびボリューム・グループのリージョン間レプリケーションを設定します。
- コンピュート・イメージをアクティブなリージョンとDRリージョンの両方で使用できるようにします。DRのリージョンで、ウォーム・スタンバイを保守するための最小限の設定をデプロイします。次に、容量予約を使用して、DRリージョンがプライマリになったときにすべてのVMを実行するために必要な残りの容量を予約します。
ストレージ
- ストレージの高可用性を計画します。
- DR目的で、オブジェクト・ストレージの自動バックアップおよびリージョン間のオブジェクト・ストレージ・レプリケーションを有効にします。
- ブロック・ボリュームのボリューム・クローニング機能を有効にし、ブロック・ボリューム・サービス・レプリケーション機能を利用して、異なるAD (同じリージョンまたは異なるリージョン)間の冗長性を確保します。
- ファイル・システムのスナップショットとクローンを有効にします。スナップショットのライフサイクルは、ポリシー・ベースのスナップショット機能を使用して自動的に管理できます。フェイルオーバーおよびフェイルバックのシナリオにOCI File Storageの非同期レプリケーションを活用します
- ボリュームおよびボリューム・グループを別のリージョンにレプリケートするようにブロック・ボリュームの非同期レプリケーションを構成します。バックアップ機能を有効にして、ボリュームおよびボリューム・グループに対してクラッシュ整合性のあるバックアップを生成します。別のリージョンへのコピーを有効にします。
- ファイル・ストレージでは、別の可用性ドメインおよびリージョンに非同期でレプリケートする組込みレプリケーションに加えて、ほぼ瞬時のRTOのためにファイル・ストレージのクローニング機能を使用できます。
データベース
-
Oracle Database: Maximum Availability Architecture (MAA)に基づいてデータベースの高可用性を計画します。より高いRPOおよびRTOメトリックでは、コストと複雑さが増大することを考慮してください。
- 高可用性のニーズに応じて、適切なDBエディションを定義します。
- Oracle Data Guardを活用して、Oracle DBノード間でデータをレプリケートします。
- Oracle Clusterware管理データベース・サービスを使用してアプリケーションを接続します。Oracle Data Guard環境では、ロール・ベースのサービスを使用します。
- タイムアウト、再試行および遅延が組み込まれた、推奨される接続文字列を使用します。
- 高速アプリケーション通知(FAN)を使用して接続を構成します。
- アプリケーション・コンティニュイティまたは透過的アプリケーション・コンティニュイティを利用して、障害後に、処理中の未コミット・トランザクションを透過的にリプレイします。
- 現在のバージョンのデータのレプリカを有効にします。
- OCIサービス(Recovery Manager(RMAN)、Refreshable Pluggable Database(PDB)、Oracle Data GuardとActive Data Guard、Autonomous Data Guard、およびOCI GoldenGate)を活用します。
-
MySQL: OCIは、Oracle MySQL Database Serviceの高可用性アーキテクチャおよびディザスタ・リカバリ構成を提供します。
OCI HA DRデシジョン・ツリー
詳細の参照
ドキュメント
- Oracle Cloud Infrastructureのベスト・プラクティス・フレームワーク
- 高可用性クラウド・トポロジの設計について学習
- OCI Full Stack Disaster Recovery (FSDR)のオーケストレーションおよび管理サービス
- OCI Disaster Recoveryのドキュメント
ソリューション・プレイブック
- 高可用性クラウド・トポロジの設計について学習
- 信頼性とレジリエンスのあるクラウド・トポロジ・プラクティスについて
- Oracle Enterprise Performance Managementをクラウドにデプロイするためのインフラストラクチャの設計(HAアーキテクチャ: 1つのリージョン、単一の可用性ドメイン)
リファレンス・アーキテクチャ
- 高可用性Webアプリケーションのデプロイ
- 高可用性を備えたOracle REST Data ServicesのOracle Cloud Infrastructureへのデプロイ
- 高可用性MySQL InnoDBクラスタのデプロイ
- 高可用性ASP.NetアプリケーションのOracle Cloud Infrastructureへのデプロイ
- 高可用性CockroachDBクラスタのデプロイ
- 高可用性ベア・メタル・データベースのデプロイ
- 高可用性Microsoft SQL Serverデータベースのデプロイ
- 高可用性Apache Cassandraクラスタのデプロイ
- Redisを使用した高可用性の分散キャッシュのデプロイ
- 高可用性セッション・ボーダー・コントローラのプロビジョニング