セキュアな本番対応のOracle Autonomous DatabaseおよびOracle APEXアプリケーションのデプロイ

Oracle APEXを使用して、世界クラスの機能を備えたスケーラブルでセキュアなエンタープライズ・アプリケーションをどこにでもデプロイできます。Oracle APEXはローコード開発プラットフォームです。アプリケーションが起動して実行されると、Terraformを使用してOracle Cloud Infrastructure環境へのデプロイメントを自動化できます。

アーキテクチャ

このアーキテクチャでは、ロード・バランサを使用して、Oracle Autonomous Transaction Processingデータベースを別のプライベート・サブネットに分離します。Terraformによって自動化されるOracle Cloud Infrastructure (OCI)ランディング・ゾーンは、プライベート・エンドポイントによって公開された共有Oracle Autonomous Database上でOracle APEXアプリケーションを実行するためのセキュアなインフラストラクチャを提供します。

次の図は、このリファレンス・アーキテクチャを示しています。

apex- app- adb.pngの説明が続きます
図apex- app- adb.pngの説明

apex- app- adb- oracle.zip

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

  • テナント

    テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は1つのテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、1つのサブスクリプションには通常1つのテナンシのみが含まれます。

  • リージョン

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

  • コンパートメント

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のリージョン間論理パーティションです。コンパートメントを使用して、Oracle Cloudでリソースを編成し、リソースへのアクセスを制御して、使用割当て制限を設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、どのアクションを実行できるかを指定するポリシーを定義します。

  • 可用性ドメイン

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

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

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

  • ロード・バランサ

    Oracle Cloud Infrastructure Load Balancingサービスは、1つのエントリ・ポイントからバックエンド内の複数のサーバーへの自動トラフィック分散を提供します。

  • ネットワーク・セキュリティ・グループ(NSG)

    NSGは、クラウド・リソースの仮想ファイアウォールとして機能します。Oracle Cloud Infrastructureのゼロトラスト・セキュリティ・モデルでは、すべてのトラフィックが拒否され、VCN内のネットワーク・トラフィックを制御できます。NSGは、単一のVCN内の指定されたVNICのセットにのみ適用されるイングレスおよびエグレス・セキュリティ・ルールのセットで構成されます。

  • ネットワーク・アドレス変換(NAT)ゲートウェイ

    NATゲートウェイを使用すると、VCN内のプライベート・リソースは、着信インターネット接続にそれらのリソースを公開せずに、インターネット上のホストにアクセスできます。

  • サービス・ゲートウェイ

    The service gateway provides access from a VCN to other services, such as 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.

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

    インターネット・ゲートウェイを使用すると、VCN内のパブリック・サブネットとパブリック・インターネット間のトラフィックが許可されます。

  • 自律型データベース

    Oracle Cloud Infrastructureの自律型データベースは、トランザクション処理およびデータ・ウェアハウス・ワークロードに使用できる、完全に管理された事前構成済のデータベース環境です。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureでは、データベースの作成、およびデータベースのバックアップ、パッチ適用、アップグレードおよびチューニングが処理されます。

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processingは、トランザクション処理ワークロード用に最適化された、自動運転、自己保護、自動修復データベース・サービスです。

  • Bastionサービス

    Oracle Cloud Infrastructure Bastionでは、パブリック・エンドポイントがなく、ベア・メタルおよび仮想マシン、Oracle MySQL Database ServiceAutonomous Transaction Processing (ATP)、Oracle Container Engine for Kubernetes (OKE)、およびSecure Shell Protocol (SSH)アクセスを許可するその他のリソースへの制限された時間制限付きの安全なアクセスを提供します。Oracle Cloud Infrastructure Bastionサービスを使用すると、ジャンプ・ホストをデプロイおよび保守せずにプライベート・ホストへのアクセスを有効にできます。また、アイデンティティベースの権限と一元化された監査および時間制限のあるSSHセッションにより、セキュリティ状態が向上します。Oracle Cloud Infrastructureの要塞により、要塞アクセスのパブリックIPが不要になり、リモート・アクセスを提供するときに、手間や潜在的な攻撃対象領域がなくなります。

推奨

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

    VCNはterraformソリューションによってデプロイされますが、このソリューションはモジュール形式であり、既存のVCNを使用できます。

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

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

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

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

  • ネットワーク・セキュリティ・グループ(NSG)

    NSGを使用して、特定のVNICに適用されるイングレスおよびエグレス・ルールのセットを定義できます。NSGではVCNのサブネット・アーキテクチャをアプリケーションのセキュリティ要件から分離できるため、セキュリティ・リストではなくNSGを使用することをお薦めします。

  • クラウド・ガード

    Oracleが提供するデフォルトのレシピをクローニングおよびカスタマイズして、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピでは、警告を生成するセキュリティ違反のタイプと、それに対して実行できるアクションを指定できます。たとえば、可視性がpublicに設定されているオブジェクト・ストレージ・バケットを検出できます。

    クラウド・ガードをテナンシ・レベルで適用して、広範な範囲に対応し、複数の構成を維持する管理上の負担を軽減します。

    管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。

  • ロード・バランサの帯域幅

    ロード・バランサの作成時に、固定帯域幅を提供する事前定義済のシェイプを選択するか、帯域幅範囲を設定するカスタム(柔軟性のある)シェイプを指定して、トラフィック・パターンに基づいて帯域幅を自動的にスケーリングできます。どちらの方法でも、ロード・バランサの作成後にいつでもシェイプを変更できます。

注意事項

この参照アーキテクチャをデプロイするときは、次の点を考慮してください。

  • パフォーマンス

    Terraformソリューションは数分でプロビジョニングされ、Oracle APEXアプリケーションが新しい自律型データベースで稼働しています。

  • セキュリティ

    コンピュート・インスタンスと自律型データベースは、プライベート・サブネットに存在し、ネットワーク・セキュリティ・グループで保護されている必要があります。

  • 可用性

    コンピュート・インスタンスの高可用性を計画するために、検討すべき主な設計戦略は、次のとおりです。

    • アベイラビリティ・ドメインの3つのフォルト・ドメインを適切に活用するか、複数のアベイラビリティ・ドメインにインスタンスをデプロイすることで、単一障害点を排除します。
    • 浮動IPアドレスを使用します。
    • 設計により、コンピュート・インスタンスのデータの可用性と整合性の両方を保護します。

デプロイ

Oracle Autonomous Transaction Processing (ATP)デプロイメントのTerraformコードは、GitHubで使用できます。

  1. GitHubにアクセスします。
  2. リポジトリをローカル・コンピュータにクローニングまたはダウンロードします。
  3. Cloud FoundationライブラリのREADMEドキュメントの指示に従います。

詳細の参照

Oracle Cloud Infrastructureの詳細を参照してください。

次の追加リソースを確認します。

謝辞

Author: Corina Todea