Oracle CloudでのAutonomous Transaction Processingを使用したOCI Kubernetes Engineのデプロイ

OCI Kubernetes Engine (OKE)をOracle Autonomous Transaction Processing (ATP)データベースとともにデプロイし、Oracle Cloud Infrastructure上のOracleデータベース・テクノロジを使用してクラウドネイティブ・アプリケーションを確実に構築、デプロイおよび管理します。

アーキテクチャ

Oracle Cloud Infrastructure Kubernetes Engine (OKE)をOracle Autonomous Transaction Processing (ATP)データベースとともにデプロイし、Oracle Cloud Infrastructure上のOracleデータベース・テクノロジを使用してクラウドネイティブ・アプリケーションを確実に構築、デプロイおよび管理します。

次のダイアグラムにアーキテクチャを示します。



デプロイ-oke-atp-oci-oracle.zip

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

  • リージョン

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

  • 可用性ドメイン

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

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、電源とハードウェアは独立しています。OCI Kubernetes Engineは、クラスタ内のノードを複数のフォルト・ドメインに分散します。したがって、コンテナ化されたアプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害から保護されます。

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

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

  • ロード・バランサ

    OCI Kubernetes Engine (OKE)によって提供されるロード・バランサは、単一のエントリ・ポイントからクラスタ内のリソースへの自動トラフィック分散を提供します。

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processingは、トランザクション処理ワークロード用に最適化された、自動運転、自己保護および自己修復が可能なデータベース・サービスです。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureは、データベースの作成に加え、データベースのバックアップ、パッチ適用、アップグレードおよびチューニングも処理します。

  • OCI Kubernetes Engine

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

レコメンデーション

次の推奨事項を開始点として使用します。お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。

  • VCN

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

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

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

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

    リージョナル・サブネットを使用します。

    シンプルにするために、このアーキテクチャでは、パブリック・サブネットを使用してOracle Cloud Infrastructure Kubernetes Engine(OKE)をホストします。プライベート・サブネットを使用することもできます。その場合は、NATゲートウェイを使用して、クラスタからパブリック・インターネットへのアクセスを許可します。

  • OCI Kubernetes Engine

    このアーキテクチャでは、Kubernetesクラスタのワーカー・ノードはVM.Standard2.1シェイプを使用し、Oracle Linuxで実行されます。1つのクラスタに最大1000個のノードを作成できます。

  • 自律型データベース

    このアーキテクチャでは、アプリケーションはOracle Autonomous Transaction Processingデータベースにリレーショナル・データを格納します。最新バージョンを使用することをお薦めします。

考慮事項

このアーキテクチャを実装するときは、次のパラメータの要件を考慮してください。

  • 自律型データベースのスケーラビリティ

    手動でデータベースのCPUコアのベース数を任意の時点でスケール・アップまたはダウンできます。Autonomous Transaction Processingの自動スケーリング機能を使用すると、データベースで、CPUの現在のベース数の3倍までいつでも使用できるようになります。要求が高まると、自動スケーリングによって、使用されるコア数が自動的に増加します。Autonomous Transaction Processingを使用すると、可用性やパフォーマンスに影響を与えることなく、いつでもデータベースのストレージ容量をスケーリングできます。

  • 自律型データベース・バックアップ

    Oracle Cloud Infrastructureは自律型データベースを自動的にバックアップし、これらのバックアップを60日間保持します。データベースはその保持期間内の任意の時点にリストアおよびリカバリできます。自動バックアップを補完するために手動バックアップを作成することもできます。手動バックアップは作成したOracle Cloud Infrastructure Object Storageバケットに格納され、60日間保持されます。

  • Kubernetesのスケーラビリティ

    負荷に応じてKubernetesクラスタ内のワーカー・ノードの数を更新することで、アプリケーションをスケール・アウトできます。同様に、クラスタ内のワーカー・ノードの数を減らすことでスケール・インできます。Kubernetesクラスタでサービスを作成すると、ロード・バランサを作成して、そのサービスに割り当てられているノード間でサービス・トラフィックを分散できます。

  • アプリケーションの可用性

    フォルト・ドメインは、1つのアベイラビリティ・ドメイン内で最高の自己回復性を実現します。複数の可用性ドメインで同じタスクを実行するインスタンスまたはノードをデプロイすることもできます。この設計により、冗長性が導入され、単一障害点が排除されます。

  • セキュリティ

    どのOracle Cloud Infrastructureリソースにアクセスできるユーザーとそのリソースへのアクセス方法を制限するポリシーを使用します。

    OCI Kubernetes Engineは、Oracle Cloud Infrastructure Identity and Access Management (IAM)と統合されています。IAMは、ネイティブOracle Cloud Infrastructureのアイデンティティ機能で簡単な認証を提供します。

デプロイ

このリファレンス・アーキテクチャのデプロイに必要なコードは、GitHubにあります。コードを1回のクリックでOracle Cloud Infrastructure Resource Managerにプルし、スタックを作成してデプロイできます。または、GitHubからコンピュータにコードをダウンロードし、コードをカスタマイズして、Terraformコマンドライン・インタフェースを使用してアーキテクチャをデプロイします。

  • Oracle Cloud Infrastructure Resource Managerを使用してデプロイします:
    1. をクリックしますOracle Cloudへのデプロイ

      まだサインインしていない場合は、テナンシおよびユーザー資格証明を入力します。

    2. 利用規定を確認して受諾します。
    3. スタックをデプロイするリージョンを選択します。
    4. 画面に表示されるプロンプトと手順に従ってスタックを作成します。
    5. スタックの作成後、「Terraformアクション」をクリックし、「プラン」を選択します。
    6. ジョブが完了するまで待機し、計画をレビューします。

      変更を行うには、「スタックの詳細」ページに戻り、「スタックの編集」をクリックして、必要な変更を行います。次に、「プラン」アクションを再実行します。

    7. これ以上の変更が必要ない場合は、「スタックの詳細」ページに戻り、「Terraformアクション」をクリックして、「適用」を選択します。
  • Terraformコマンドライン・インタフェースを使用してデプロイします。
    1. GitHubに移動します。
    2. コードをローカル・コンピュータにダウンロードまたはクローニングします。
    3. deploy/complete/README.mdの手順に従います。

変更ログ

このログには、重要な変更が一覧表示されます。