Oracle MySQL Database Serviceを使用するCloudネイティブ・アプリケーションのクラウドへのデプロイ

クラウドにトポロジを設定し、コンテナ化されたクラウド・ネイティブ・アプリケーションをデプロイし、Oracle Cloudの組込みの冗長性およびレジリエンシ機能を備えた管理対象のスケーラブルなサービスを利用します。

次のサービスを使用して、クラウド・ネイティブ・アプリケーションを開発およびデプロイし、レガシー・アプリケーションをクラウドに移行できます。

  • OKEと省略されることもあるOracle Container Engine for Kubernetesは、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できる、完全に管理されたスケーラブルで可用性の高いサービスです。OKEは、開発チームがクラウド・ネイティブ・アプリケーションを確実に構築、デプロイおよび管理する場合に使用します。

  • Oracle Cloud Infrastructure Registryでは、Docker V2 APIおよび標準のDockerコマンドライン・インタフェース(CLI)を使用して、プライベートDockerレジストリを内部使用のために使用し、レジストリとの間でDockerイメージをプッシュおよびプルできます。

  • Oracle MySQL Database Serviceは、組織が世界で最も人気のあるオープン・ソース・データベースを使用してクラウド・ネイティブ・アプリケーションをデプロイできるようにする、完全管理型のデータベース・サービスです。MySQLチームによって100%開発、管理およびサポートされています。

アーキテクチャ

この参照アーキテクチャには、開発およびデプロイ可能なクラウド・ネイティブ・アプリケーションに対応するためのOracle Container Engine for Kubernetesクラスタ(OKEクラスタ、Oracle MySQL Database ServiceおよびOracle Cloud Infrastructure Registryとも呼ばれる)があります。

次の図は、この参照アーキテクチャを示しています。

deploy-cloud-native-apps.pngの説明が続きます
図deploy-cloud-native-apps.pngの説明

アーキテクチャには、次のコンポーネントがあります。

  • 要塞ホスト

    要塞ホストは、クラウド外部からトポロジへのセキュアで制御されたエントリ・ポイントとして機能するコンピュート・インスタンスです。要塞ホストは通常、非武装地帯(DMZ)でプロビジョニングされます。これにより、クラウドの外部から直接アクセスできないプライベート・ネットワークに機密リソースを配置することで、機密リソースを保護できます。トポロジには、定期的に監視および監査できる単一の既知のエントリ・ポイントがあります。したがって、トポロジのより機密性の高いコンポーネントへのアクセスを損なうことなく、公開を回避できます。

    このアーキテクチャの要塞ホストは、OKEクラスタ内のノードへのアクセスに使用されます。

  • Container Engine for Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetesは、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できる、完全に管理されたスケーラブルで可用性の高いサービスです。アプリケーションに必要なコンピュート・リソースを指定すると、Container Engine for Kubernetesによって既存のテナンシのOracle Cloud Infrastructureにプロビジョニングされます。Container Engine for Kubernetesは、Kubernetesを使用して、ホストのクラスタ間でコンテナ化されたアプリケーションのデプロイメント、スケーリングおよび管理を自動化します。

  • MySQL Databaseサービス

    この参照アーキテクチャでは、Oracle MySQL Database Serviceはアプリケーション・データを格納します。

  • レジストリ

    Oracle Cloud Infrastructure Registryは、開発から本番へのワークフローを簡略化できるOracle管理レジストリです。レジストリでは、Dockerイメージなどの開発アーティファクトを簡単に格納、共有および管理できます。Oracle Cloud Infrastructureの高可用性およびスケーラブルなアーキテクチャにより、アプリケーションを確実にデプロイおよび管理できます。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広範囲の距離を(国間または大陸間で)分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内のスタンドアロンの独立したデータ・センターです。各可用性ドメイン内の物理リソースは、フォルト・トレランスを提供する他の可用性ドメイン内のリソースから分離されます。可用性ドメインは、電源や冷却などのインフラストラクチャや内部可用性ドメイン・ネットワークを共有しません。したがって、ある可用性ドメインで障害が発生しても、リージョン内の他の可用性ドメインに影響を与える可能性はほとんどありません。

  • フォルト・ドメイン

    フォルト・ドメインは、アベイラビリティ・ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインには、独立した電源およびハードウェアを持つ3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションはフォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定するカスタマイズ可能なソフトウェア定義ネットワークです。従来のデータ・センター・ネットワークと同様に、VCNを使用すると、ネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNは、リージョンまたはアベイラビリティ・ドメインにスコープ指定できるサブネットにセグメント化できます。各サブネットは、VCN内の他のサブネットと重複しない連続したアドレス範囲で構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックまたはプライベートにできます。

  • セキュリティ・リスト

    サブネットごとに、サブネット内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • 動的ルーティング・ゲートウェイ(DRG)

    DRGは、VCNとリージョン外のネットワーク(別のOracle Cloud InfrastructureリージョンのVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダのネットワークなど)との間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。

  • VPN接続

    VPN接続は、オンプレミス・ネットワークとOracle Cloud Infrastructure内のVCN間のサイト間IPSec VPN接続を提供します。IPSecプロトコル・スイートは、ソースから宛先にパケットが転送される前にIPトラフィックを暗号化し、受信時にトラフィックを復号化します。

  • FastConnect

    Oracle Cloud Infrastructure FastConnectでは、データ・センターとOracle Cloud Infrastructure間に専用のプライベート接続を簡単に作成できます。FastConnectは、高帯域幅オプションを備えており、インターネットベースの接続と比較してより信頼性の高いネットワーキング・エクスペリエンスを提供します。

  • SERVICE GATEWAY

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。VCNからOracleサービスへのトラフィックは、Oracleネットワーク・ファブリックを経由し、インターネットを通過しません。

  • インターネット・ゲートウェイ

    インターネット・ゲートウェイは、VCNのパブリック・サブネットとパブリック・インターネット間のトラフィックを許可します。

推奨事項

Oracle MySQL Database Serviceを使用しているクラウド・ネイティブ・アプリケーションをデプロイするための開始点として、次の推奨事項を使用します。実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。
  • 要塞ホスト

    最新のOracle Linuxオペレーティング・システムでVM.Standard1.1シェイプを使用します。

  • OKEクラスタ

    デプロイメント用のVCNおよびサブネットを指定できるように、コンソールから「カスタム作成」オプションを使用します。3ノード・クラスタを作成し、開始するシェイプとしてVM.Standard2.2を選択します。大規模なデプロイメントでは、コンピュート・シェイプが大きいほど大きいクラスタ・サイズを使用できます。

  • コンテナ・レジストリ

    Oracleによってレジストリが管理されるため、サイズやその他のオプションを選択する必要はありません。セキュリティのベスト・プラクティスのためにプライベート・レジストリを作成することをお薦めします。

  • VCN

    VCNを作成する場合、VCNのサブネットにアタッチする予定のリソースの数に基づいて、必要なCIDRブロックの数と各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

    プライベート接続を設定する予定の他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ内)と重複しないCIDRブロックを選択します。

    VCNを作成した後、CIDRブロックを変更、追加および削除できます。

    サブネットを設計する際には、トラフィック・フローとセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

  • セキュリティ・リスト

    セキュリティ・リストを使用して、サブネット全体に適用されるイングレス・ルールおよびエグレス・ルールを定義します。

    Oracle MySQL Database Serviceサブネットにアタッチされたセキュリティ・リストに、TCPポート3306 (MySQLポート)および33060 (MySQL Xプロトコル・ポート)のイングレス・ルールを追加します。OKEクラスタにアタッチされたセキュリティ・リストにイングレス・ルールを追加して、OKEクラスタにデプロイされたアプリケーションに関連するポートを開きます。アウトバウンド・トラフィックを許可するための両方のセキュリティ・リストへのエグレス・ルールとして。

注意事項

Oracle MySQL Database Serviceを使用してクラウド・ネイティブ・アプリケーションをデプロイする場合は、コストを考慮します。

Oracle MySQL Database Serviceに必要なコア、メモリーおよびネットワーク帯域幅に基づいてVMシェイプを選択します。1つのコアシェイプから始めることができます。データベース・サービスのパフォーマンス、メモリーまたはネットワーク帯域幅を増やす必要がある場合は、より大きなシェイプでMySQL Databaseサーバーを作成し、バックアップからデータベースをリストアできます。

OKEクラスタ内のVMノードのコアは、より大きなVMシェイプに変更することでスケール・アップすることもできます。

まとめの問題

Oracle MySQL Database Serviceを使用するクラウド・ネイティブ・アプリケーションのクラウドへのデプロイの詳細を参照してください。

次の追加リソースを確認してください。