Oracle Autonomous Database上のMySQLおよびMongoDB AtlasのAWS RDSの最新化および統合
ある顧客が、MySQLおよびMongoDB Atlasを使用したAmazon Web Service (AWS)上の複雑な複数データベース・アーキテクチャを単一のコンバージドAutonomous Databaseに置き換えた方法をご覧ください。
データベースの移行は、Oracle Cloud Infrastructure GoldenGateを使用して行われました。Oracle Cloud Infrastructure GoldenGateは、データをリアルタイムで大規模に移動するフルマネージド型のネイティブ・クラウド・サービスです。また、移行では、Oracle Database API for MongoDBを使用して、アプリケーション・コードの大部分を保持しています。
AWSに導入されたレガシー・アーキテクチャは、データの一貫性と正確性を確保しながら、柔軟なJSON形式で情報を顧客に提供するために、管理されたAWS RDS MySQL DatabaseとMongoDB Atlasで構成される複雑なデータ処理ワークフローでした。
次の図は、レガシー・データ・フローを示しています。
aws-rds-oci-adw-flow1-oracle.zip
複数の断片化されたシステムが結合され、データのロード、変換および同期の複雑さが増しました。レガシー・アーキテクチャは複雑であるだけでなく、リソースを浪費し、エラーが発生しやすくなりました。システムの複雑さ:
- データ処理エラーの可能性が高まり、データ品質が低下し、精度が100%未満になる
- 処理時間を短縮し、生産までの時間を最適に短縮
- 運用オーバーヘッドの増加、問題解決とデバッグにかかる時間とリソースの浪費
アーキテクチャ
本番データベースは、AWSのMySQLおよびMongoDB AtlasのAmazon RDSから、同じリージョンおよび仮想クラウド・ネットワーク(VCN)にプロビジョニングされたOCI GoldenGateを使用して、Oracle Cloud Infrastructure (OCI) US-East (Ashburn)リージョンにデプロイされたOracle Autonomous Databaseに移行されます。
2つのクラウド間の単方向レプリケーションは、移行にのみ使用されます。
アプリケーションはAWS US-East (Ashburn)にデプロイされます。移行後、アプリケーション層もOCIコンピュート・インスタンスに移行されます。専用接続は、AWSで実行されているデータベースをOCI GoldenGateに接続するために、Oracle Cloud Infrastructure FastConnectおよびOCI FastConnectパートナによって提供されます。リージョン別のOCI FastConnectパートナのリストへのリンクは、「詳細」の項を参照してください。
高度な移行および統合ステップは次のとおりです。
- OCI GoldenGateを使用して、レプリケーション用にMySQLおよびMongoDBデータベースを準備します。
- Extractを実行するための2つのOCI GoldenGateデプロイメント(MySQLデータベースの場合はMySQLデプロイメント、MongoDBの場合はビッグ・データ・デプロイメント)をプロビジョニングします。
- OCI GoldenGateからMySQLおよびMongoDBへの接続を作成します。
- ターゲットOracleデプロイメントで、OCI GoldenGateデプロイメントを作成して、データをOracle Autonomous Databaseにレプリケートします。
- OCI GoldenGateからOracle Autonomous Databaseへの接続を作成します。
- 各デプロイメントへの接続を割り当てます。
- MySQLデプロイメントとMongoDBデプロイメントの両方に対して初期ロードExtractを作成します。
- ソースのMySQLおよびMongoDBデプロイメントからターゲットOracleデプロイメントにデータを送信する分散サービス・プロセスを作成します。
- ターゲットOracleデプロイメントにレプリケート・プロセスを作成して、初期ロード・データをレプリケートします。
- MySQLデプロイメントとMongoDBデプロイメントの両方のチェンジ・データ・キャプチャ抽出を作成します。
- ターゲットOracleデプロイメントにチェンジ・データ・キャプチャのレプリケート・プロセスを作成して、データをレプリケートします。
- アプリケーションをAWS EC2からOCI VMにレプリケートします。
- OCIのアプリケーションをOracle Autonomous Databaseに接続します。
- AWS上のアプリケーションおよびデータベースを切断および廃止します。
単一のデータベース内でリレーショナルおよびドキュメントストアの要件をサポートするコンバージド・データベース機能により、OCIで実行されるOracle Autonomous Databaseは、お客様の目標を達成するためのコア・プラットフォームを提供します。Oracle Autonomous Databaseでは、ロー・データをそのままリレーショナル形式で格納し、データ整合性を強化できます。エンドユーザー・アプリケーションのデータは、必要なJSON形式でミリ秒単位で返されます。データは、SQLおよびJSONを介して、およびOracle Database API for MongoDBを介して、それ以上の処理を行わずにすぐに使用できます。
次のダイアグラムにアーキテクチャを示します。
aws-rds-oci-adw-arch-oracle.zip
このアーキテクチャでは、OCI GoldenGateおよびOracle Autonomous DatabaseがOCIにプロビジョニングされ、MySQLのAWS RDSからの単方向レプリケーションが容易になります。
OCI GoldenGateを使用することで、コンピュート環境の割当てや管理を必要とせずに、データ・レプリケーションおよびストリーミング分析タスクを設計、実行、調整およびモニターすることもできます。OCI GoldenGateは、移行の完了後にアプリケーションおよびデータベースを実行する必要はありません。削除できます。
以前のデータベース・アーキテクチャをOCIで実行されている単一のOracle Autonomous Databaseに統合することで、複数の単一目的データベースと、これら2つのデータベース間の複雑な同期抽出、変換およびロード(ETL)プロセスを持つ複雑なアーキテクチャを操作する必要がなくなり、データの品質と精度を向上させながら処理時間を短縮できます。
次の図は、現在のデータ・フローを示しています。
aws-rds-oci-adw-flow2-oracle.zip
お客様は、次の即時のビジネス上のメリットを実現しました。
- プロジェクトの生産時間を15%短縮し、品質を向上して顧客満足度を向上
- よりシンプルなアーキテクチャとOracle Autonomous Database機能によるアプリケーション・パフォーマンスの向上
- 少ないインフラストラクチャで運用コストを10%削減し、アプリケーションとデータベースの管理を削減
- 開発者の生産性を向上させ、問題の修正ではなくイノベーションに集中
このアーキテクチャには次のコンポーネントがあります。
- テナント
テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracle Cloud内でOracleによって設定される、安全で分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。
- リージョン
Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、長距離では(国や大陸をまたがって)それらを分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響を及ぼすことはほとんどありません。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、ソフトウェアで定義されたカスタマイズ可能なネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- ルート表
仮想ルート表には、サブネットからVCN外の宛先(通常はゲートウェイ経由)にトラフィックをルーティングするルールが含まれます。
- セキュリティ・リスト
サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- FastConnect
Oracle Cloud Infrastructure FastConnectは、データ・センターとOracle Cloud Infrastructureとの間に専用のプライベート接続を簡単に作成する方法を提供します。FastConnectは、インターネット・ベースの接続と比較して、高帯域幅オプションと、より信頼性の高いネットワーキング・エクスペリエンスを提供します。
- 動的ルーティング・ゲートウェイ(DRG)
DRGは、同じリージョン内のVCN間、VCNとリージョン外のネットワーク(別のOracle Cloud Infrastructureリージョン内のVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダのネットワークなど)間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。
- サービス・ゲートウェイ
サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.
- Bastionサービス
Oracle Cloud Infrastructure Bastionは、パブリック・エンドポイントがなく、ベア・メタルや仮想マシン、Oracle MySQL Database Service、Autonomous Transaction Processing (ATP)、Oracle Container Engine for Kubernetes (OKE)、およびSecure Shell Protocol (SSH)アクセスを許可するその他のリソースなど、厳格なリソース・アクセス制御を必要とするリソースへの制限付きで時間制限付きのセキュア・アクセスを提供します。Oracle Cloud Infrastructure Bastionサービスを使用すると、ジャンプ・ホストをデプロイおよび保守せずにプライベート・ホストへのアクセスを有効にできます。また、アイデンティティ・ベースの権限と一元化された監査済および期限付きのSSHセッションにより、セキュリティ・ポスチャが向上します。Oracle Cloud Infrastructure Bastionにより、要塞アクセス用のパブリックIPが不要になり、リモート・アクセスを提供する際の手間や潜在的な攻撃対象領域がなくなります。
- コンピュート
Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプでコンピュート・インスタンスを起動できます。コンピュート・インスタンスの作成後は、セキュアにアクセスし、再起動、ボリュームのアタッチとデタッチを行い、不要になったときにインスタンスを終了できます。
- オブジェクト・ストレージ
オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を低下させることなく、シームレスにストレージを拡張できます。迅速、即時、頻繁にアクセスする必要がある「ホット」ストレージに標準ストレージを使用します。長期間保持し、ほとんどまたはめったにアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。
- アイデンティティおよびアクセス管理(IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM)は、Oracle Cloud Infrastructure (OCI)およびOracle Cloud Applicationsのアクセス制御プレーンです。IAM APIおよびユーザー・インタフェースを使用すると、アイデンティティ・ドメインおよびアイデンティティ・ドメイン内のリソースを管理できます。各OCI IAMアイデンティティ・ドメインは、スタンドアロンのアイデンティティおよびアクセス管理ソリューションまたは異なるユーザー移入を表します。
- ロギングLoggingは、クラウド内のリソースから次のタイプのログへのアクセスを提供する、高度にスケーラブルな完全管理型のサービスです:
- 監査ログ: 監査サービスによって発行されたイベントに関連するログ。
- サービス・ログ: APIゲートウェイ、イベント、ファンクション、ロード・バランシング、オブジェクト・ストレージ、VCNフロー・ログなどの個々のサービスによって発行されたログ。
- カスタム・ログ: カスタム・アプリケーション、他のクラウド・プロバイダまたはオンプレミス環境からの診断情報を含むログ。
- モニタリング
Oracle Cloud Infrastructure Monitoringサービスは、メトリックを使用してクラウド・リソースをアクティブおよびパッシブにモニターし、リソースおよびアラームをモニターして、これらのメトリックがアラーム指定のトリガーを満たしたときに通知します。
- クラウド・ガード
Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティをモニターおよびメンテナンスできます。クラウド・ガードはディテクタ・レシピを使用します。このレシピを定義すると、セキュリティの弱点についてリソースを調べたり、リスクのあるアクティビティについてオペレータとユーザーをモニターしたりできます。構成の誤りまたは安全でないアクティビティが検出された場合、クラウド・ガードは、ユーザーが定義できるレスポンダ・レシピに基づいて、修正アクションを推奨し、それらのアクションの実行を支援します。
- データ統合
Oracle Cloud Infrastructure GoldenGateは、オンプレミスまたは任意のクラウドに存在するソースからのデータ取り込みを可能にするフルマネージド・サービスであり、GoldenGate CDCテクノロジを活用して、リアルタイムおよび大規模にOracle Autonomous Data Warehouseへのデータおよび配信を非侵入的かつ効率的に取得し、関連情報を可能なかぎり迅速に利用できるようにします。
- MySQLのAWS RDS
Relational Database Service (RDS) for MySQLは、Amazon Web Services (AWS)の完全管理型のMySQLサービスです。
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processingは、トランザクション処理ワークロード用に最適化された、自動運転、自己保護および自己修復のデータベース・サービスです。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureは、データベースの作成に加え、データベースのバックアップ、パッチ適用、アップグレードおよびチューニングも処理します。
レコメンデーション
次の推奨事項を開始点として使用します。お客様の要件は、ここで説明するアーキテクチャと異なる場合があります。
- 相互接続の場所の選択
このアーキテクチャでは、そのコンポーネントに1つ以上の地理的な場所(OCIリージョンと関連付けられたOCI FastConnectエッジ・ノード、AWSリージョンおよび関連付けられたAWS Direct Connectエッジ・ノード)が必要です。最適なエンドツーエンドのレイテンシを実現するには、これらの各アーキテクチャ要素が近接している場所を選択することをお薦めします。
- プロビジョニング
プライベート・エンドポイントのOracle Databaseの場合、指定したVCNからのトラフィックのみを許可するようにVCNを構成します。これにより、すべてのパブリックIPまたはVCNからのデータベースへのアクセスがブロックされます。プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
- アプリケーション設計
アクティブ/アクティブ型レプリケーションを使用する場合は、タイムゾーンを両方のデータベース・システムで同じにする必要があるため、タイムスタンプベースの競合解決および検出を効果的に実行できます。
- データの一意性
アクティブ/アクティブ・レプリケーションを使用する場合は、競合を回避するために識別しやすいように、一意の範囲を順序で設定します。アクティブ/アクティブ構成では、競合解決手順をすべてのシステムに実装する必要があります。紛争はすぐに特定され、できるだけ多くの自動化で処理する必要があります。
考慮事項
スプリットスタック・デプロイメントを実装する場合は、次のオプションを考慮してください。
- ネットワーク
マルチクラウド・ソリューションでは、ネットワークはシステム全体のパフォーマンスの重要な決定要因です。クラウドとクラウド間のネットワーク(帯域幅とレイテンシ)を完全にテストし、アプリケーションのパフォーマンスが定義されたビジネス要件を満たしていることを確認するのは、お客様の責任です。
- コスト
Oracle CPUsを自動スケーリングすると、ワークロードの要求に基づいてコンピュート・リソース(CPUおよびメモリー)を自動的に調整できます。ワークロードのピーク時には、Oracle Autonomous Transaction Processing (ATP)は、最適なパフォーマンスを確保するためにより多くのリソースを割り当て、需要の低い期間にスケール・ダウンしてコストを節約できます。この弾力性は、変動するワークロードを効率的かつコスト効率よく処理する場合に特に役立ちます。
- 競合解決戦略
アプリケーションで明確な競合解決戦略を定義します。競合する変更が検出された場合は、事前定義済ルールに基づいて処理するようにアプリケーションをプログラミングする必要があります。これらのルールは、あるソースからの変更を別のソースより優先したり、特定の基準に基づいて競合する変更をマージできます。