セキュリティ・ゾーンを使用したクラウド内のワークロードの保護

コンピュート、ネットワーキングおよびストレージ・リソースをOracle Cloud Infrastructureセキュリティ・ゾーンに配置して、クラウド内のセキュリティを最大化します。

Oracle Cloud Infrastructure (OCI)は、エンタープライズ・クラウド・サービスを保護するために、クラス最高のセキュリティ・テクノロジおよび操作プロセスを提供します。お客様は、ワークロードを保護し、コンプライアンス義務を果たすためにサービスやアプリケーションを安全に構成する責任を負います。Oracle Security Zonesは、クラウド・セキュリティ共有責任モデルを次の方法で支援できます。

  • データベースやオブジェクト・ストレージ・バケットなどのOracle Cloud Infrastructureリソースへのパブリック・アクセスを拒否します
  • デタッチされたストレージ・リソースをコンピュート・インスタンスと同じセキュア・コンパートメントに配置する必要があるポリシーを適用します
  • ブロック・ボリューム、オブジェクト・ストレージ・バケット、データベースなどのストレージ・リソースを顧客管理キーで暗号化

アーキテクチャ

このリファレンス・アーキテクチャは、eコマース・アプリケーションなどのアプリケーションを安全に実行するために使用できる一般的な3層アーキテクチャを示しています。データ永続性は、Oracle Autonomous Transaction Processingデータベースを使用して実現されます。アプリケーションのメディアおよびイメージ・ファイルは、Oracle Cloud Infrastructure Object Storageに格納されます。

次の図に、基本的なコンパートメントのアーキテクチャを示します。



msz-01-oracle.zip

アーキテクチャには、次のセキュリティ制限があります。

  • オブジェクト・ストレージ: 暗号化されていないオブジェクト・ストレージはインターネットに直接公開されます。
  • データベース: データベースは顧客管理キーで暗号化されず、単一の構成変更(パブリックIPアドレス)でインターネットに公開できます。
  • コンパートメント: コンパートメントは、環境内または環境外のデータ、アセット、ボリュームの移動を制限しません。
  • 仮想マシン: VMは暗号化されたブート・ボリュームまたはストレージを使用しません。
  • インターネット: Webアプリケーション・ファイアウォール(WAF)の保護は提供されません。
  • ネットワーク: すべてのリソースは単一のプレーン上にあり、分離が不十分です。

次の図は、複数のスポーク・ネットワーク(それぞれがWeb、アプリケーション、データベースなどのアプリケーション層を表す)を分離する非常にセキュアな環境を提供することで、これらの問題に対処するアーキテクチャを示しています。このアーキテクチャは、本番、テスト、開発環境などの特定の環境、およびクラウド・リージョン、オンプレミス・データ・センター、マルチクラウド・インフラストラクチャなどの様々なインフラストラクチャで動作します。



msz-02-oracle.zip

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

  • リージョン

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

  • 可用性ドメイン

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

  • フォルト・ドメイン

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

  • コンパートメント

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のリージョン間論理パーティションです。Oracle Cloudリソースの使用割当てを編成、制御および設定するには、コンパートメントを使用します。特定のコンパートメントでは、アクセスを制御し、リソースの権限を設定するポリシーを定義します。

  • セキュリティ・ゾーン

    セキュリティ・ゾーンは、データの暗号化やコンパートメント全体のネットワークへのパブリック・アクセスの防止などのポリシーを適用することで、Oracleのセキュリティのベスト・プラクティスを最初から保証します。セキュリティ・ゾーンは、同じ名前のコンパートメントに関連付けられ、コンパートメントとそのサブコンパートメントに適用されるセキュリティ・ゾーン・ポリシーまたは「レシピ」が含まれます。セキュリティ・ゾーン・コンパートメントに標準コンパートメントを追加または移動することはできません。

    このユースケースでは、セキュリティ・ゾーンによって次のポリシーが適用されます。

    • コンピュート・インスタンスおよびオブジェクト・ストレージ・バケットのブート・ボリュームを暗号化します
    • コンピュート・リソースがパブリック・インターネットからアクセスされないようにします
    • 顧客管理キーを使用したリソースの暗号化
    • すべてのリソースを定期的に自動的にバックアップ
  • 仮想クラウド・ネットワーク(VCN)およびサブネット

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

  • セキュリティ・リスト

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

  • ロード・バランサ

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

    このアーキテクチャでは、管理者のアプリケーションとセルフサービス・アプリケーションに個別のロード・バランサを使用して、セキュリティとトラフィックの分離を強化します。必要に応じて、ロード・バランサ・シェイプをアップグレードできます。

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

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

  • ローカル・ピアリング・ゲートウェイ(LPG)

    LPGを使用すると、1つのVCNを同じリージョン内の別のVCNとピア接続できます。ピアリングとは、インターネットを横断するトラフィックやオンプレミス・ネットワークを介したルーティングなしで、VCNsがプライベートIPアドレスを使用して通信することを意味します。

  • オブジェクト・ストレージ

    Oracle Cloud Infrastructure Object Storageでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を低下させることなく、ストレージを拡張できます。迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。

  • コンピュート

    Oracle Cloud Infrastructure Computeを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプを使用してコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成した後は、セキュアにアクセスし、再起動、ボリュームのアタッチおよびデタッチを行い、不要になったらそれを終了します。

  • Webアプリケーション・ファイアウォール

    Oracle Cloud Infrastructure Web Application Firewall (WAF)は、クラウドベースの支払カード業界(PCI)に準拠したグローバル・セキュリティ・サービスであり、悪意のある望ましくないインターネット・トラフィックからアプリケーションを保護します。WAFは、インターネットに面したエンドポイントを保護することで、顧客のアプリケーションに対する一貫性のあるルール適用を実現できます。

レコメンデーション

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

  • VCN

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

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

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

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

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

  • セキュリティ・ゾーン

    最大限のセキュリティーを必要とするリソースの場合、Oracleではセキュリティーゾーンを使用することをお勧めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新すると、Oracle Cloud Infrastructureでは、その操作がセキュリティ・ゾーン・レシピのポリシーに対して検証され、ポリシーに違反する操作が拒否されます。

  • オブジェクト・ストレージ

    Oracle Cloud Infrastructure Object Storageを使用して、データベースおよびその他のデータのバックアップを格納します。

    セキュリティ・ゾーンが有効なコンパートメントにオブジェクト・ストレージを作成し、その可視性をプライベートのみに設定します。この構成により、オブジェクト・ストレージ・バケットがセキュリティ・ゾーンの厳密なセキュリティ・ポリシーに準拠することが保証されます。

考慮事項

  • 可用性

    一部のリージョンでは、複数の可用性ドメインが提供されるため、より高い冗長性で高可用性を実現できます。この冗長性を活用するために、複数の可用性ドメインにeコマース・ソリューションをデプロイすることを検討してください。また、適切な冗長性を持つ別のリージョンにディザスタ・リカバリ計画を作成することも検討してください。

  • コスト

    フレキシブル・シェイプを使用すると、インスタンスで実行するワークロードに必要なCPUの数とメモリー量を選択できます。この柔軟性により、ワークロードに一致するVMを構築できるため、パフォーマンスを最適化し、コストを最小化できます。

  • モニタリングとロギング

    ノードのCPUおよびメモリー使用量に関するロギング・サービス、監視およびアラートを設定して、必要に応じてシェイプをスケール・アップまたはスケール・ダウンできるようにします。

デプロイ

セキュリティ・ゾーンを使用してOracle Cloud InfrastructureにMuShop基本サンプル・アプリケーションをデプロイするためのTerraformコードは、GitHubにあります。

  1. GitHubに移動します。
  2. リポジトリをローカル・コンピュータにクローニングまたはダウンロードします。
  3. README_MSZ.mdドキュメントの指示に従います。

変更ログ

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