OCIコア・ランディング・ゾーン
ランディング・ゾーンの使用は、一般的にクラウド導入のベスト・プラクティスとして認められています。組織が小規模であれ大規模であれ、Oracle Cloud Infrastructure (OCI)のリファレンス・アーキテクチャに基づくセキュアでスケーラブルな環境から始めることでメリットを得ることができます。
ランディング・ゾーンの目的は、組織がビジネスクリティカルなワークロードを成功かつ効率的に着陸できるようにすることです。アイデンティティ、ネットワーク、ストレージ、コンピュート、セキュリティなど、すべてのコア・テクノロジ・コンポーネントが網羅されています。実証済のInfrastructure as Code (IaC)設計はすべて、デプロイメント・プロセスに自動化されており、ワンクリックでプロビジョニングできます。
OCIコア・ランディング・ゾーンは、Oracle Enterprise Landing Zone (OELZ)とCenter for Internet Security (CIS)ランディング・ゾーンのイニシアチブを統合します。このランディング・ゾーンは、クラウド環境の俊敏性、スケーラビリティおよびセキュリティの向上に役立つリファレンス・アーキテクチャを提供します。これは、クラウド・インフラストラクチャを迅速かつ簡単に導入および拡張できるモジュラー・アーキテクチャに基づいて、OCIランディング・ゾーン・フレームワークから構築されています。また、セキュリティとコンプライアンスのベストプラクティスも含まれており、CIS OCI Foundations Benchmark v2.0を適用して、強力なセキュリティ体制を整え、コンプライアンス目標をサポートするのに役立ちます。
アーキテクチャ
ランディング・ゾーン・アーキテクチャは、適切な職務分掌を確保するためのグループおよびポリシーの作成に加えて、テナンシのコンパートメントの設計から始まります。すべてのコア・インフラストラクチャ・サービス用に、指定された親コンパートメント内のコンパートメントをプロビジョニングし、チームがOCIリソースをより効率的に管理できるようにします。各ランディング・ゾーン・コンパートメントには特定の管理グループが割り当てられます。このグループには、コンパートメント内のリソースを管理し、他のコンパートメントのリソースにアクセスするために必要な権限が付与されます。
この設計では、スタンドアロン・ネットワークとして、またはハブおよびスポーク・アーキテクチャのスポークとして、複数のVirtual Cloud Network (VCNs)のプロビジョニングもサポートされています。VCNsは、ハブVCN、最大3層ネットワークVCNトポロジをデプロイするように構成することも、Oracle Exadata Database ServiceやOracle Kubernetes Engine (OKE)デプロイメントのサポートなど、特定のユース・ケースに合せて調整することもできます。VCNsは、適切なルーティングとセキュアなインバウンドおよびアウトバウンド・インタフェースであらかじめ構成されています。
OCIコア・ランディング・ゾーンには、アーキテクチャ全体の一部としてデプロイおよび統合されるCIS OCIベンチマークをサポートする事前構成済のセキュリティ・サービスがいくつか含まれており、堅牢なセキュリティ体制を確保します。これらのOCIネイティブ・セキュリティ・サービスには、クラウド・ガード、フロー・ログ、コネクタ・ハブ、Vault、脆弱性スキャン・サービス、要塞およびセキュリティ・ゾーンが含まれます。管理者は、トピックおよびイベントを使用して通知を設定し、デプロイ済リソースの変更に関する最新情報を入手できます。
次の図は、OCIコア・ランディング・ゾーン・リファレンス・アーキテクチャを示しています。
OCIコア・ランディング・ゾーンは、CIS OCI Foundations Benchmarkの推奨事項と顧客のデプロイメントの調整に役立つ、柔軟で使いやすく設計された一連のモジュールで構成されています。
アイデンティティおよびアクセス管理
OCI Identity and Access Management (IAM)は、テナンシのクラウド・リソースへのアクセスの管理および制御に使用されます。ランディング・ゾーンでは、環境にプロビジョニングされたリソースへのアクセスを管理し、職務分掌およびロール・ベース・アクセス制御(RBAC)要件をサポートするためのIAMグループおよびポリシーが自動的に作成されます。さらに、組織のMicrosoft Active Directoryとフェデレートして、既存のサード・パーティ・アイデンティティ・プロバイダ(IdP)とシームレスに統合することもできます。コンパートメント、ポリシー、グループ、動的グループ、アイデンティティ・ドメインなど、いくつかのIAMモジュールがあります。詳細は、GitHubリポジトリのOCIランディング・ゾーンIAMモジュールを参照してください。
OCI IAMポリシーは、特定のリソースにアクセスできるユーザーと、そのリソースに付与されるアクセスのレベルを定義します。アクセスはグループ・レベルとコンパートメント・レベルで管理されるため、コンパートメント内またはテナンシ全体にわたってグループ固有の権限を割り当てるポリシーを作成できます。コンパートメントは、OCIテナンシ内の論理パーティションです。リソースの編成、アクセスの管理および使用割当ての強制に使用されます。コンパートメント内のリソースへのアクセスを制御するには、リソースにアクセスできるユーザーまたはグループ、および実行を許可されるアクションを指定するポリシーを作成します。このコンパートメントの設計は、一般的な組織構造に従い、ITの職責は通常、ネットワーキング、セキュリティ、アプリケーション開発およびデータベース管理の各チームに分割されます。
このランディング・ゾーン・テンプレート内のリソースは、次のコンパートメントにわたってプロビジョニングされます:
- 包含コンパートメント:下にリストされている他のすべてのコンパートメントを含む推奨親コンパートメント。
- ネットワーク・コンパートメント:必要なネットワーク・ゲートウェイ、ワークロードVCNs、ハブおよびスポーク・オプションを含むすべてのネットワーキング・リソースが含まれます。
- セキュリティ・コンパートメント:ロギング、キー管理、脆弱性スキャン、要塞および通知に関連するリソースを配置します。
- アプリケーション・コンパートメント: コンピュート、ストレージ、ファンクション、ストリーム、Kubernetesノード、APIゲートウェイなどのアプリケーション関連サービスが含まれます。
- データベース・コンパートメント:データベース・リソース専用。
- Exadataコンパートメント(オプション): Oracle Exadata Database Serviceインフラストラクチャをプロビジョニングするためのコンパートメント。
ネットワーキング
OCIコア・ランディング・ゾーンを構成して、次のネットワーク・リソースをデプロイできます:
-
VCN:従来のデータ・センター・ネットワークと同様に、ネットワーク環境を完全に制御できる、カスタマイズ可能なソフトウェア定義ネットワーク。VCNは、重複しない複数のCIDRブロックを持つことができ、作成後に変更できます。VCNをさらにサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットには、同じVCN内の他のサブネットと重複しない連続したIPアドレスの範囲があります。サブネットのサイズは作成後に調整でき、サブネットはパブリックまたはプライベートのいずれかになります。
OCIコア・ランディング・ゾーンは、最大10のVCNsをデプロイするように構成できます:
- 3層VCNs
- 3 Exadataクラウド・インフラストラクチャVCNs
- 3 OKE VCNs
- 1つのハブVCN
これらのVCNsは、スタンドアロンまたはピアリングされたネットワークとしてデプロイできます。デフォルトでは、選択されないかぎり、VCNsはプロビジョニングされません。
-
インターネット・ゲートウェイ: VCN内のパブリック・サブネットとパブリック・インターネット間のトラフィックを有効にします。
- Dynamic Routing Gateway (DRG):オンプレミス・ネットワークとVCNs間のプライベート・ネットワーク・トラフィックを容易にする仮想ルーター。また、同じリージョン内のVCNs間または異なるリージョン間でトラフィックをルーティングすることもできます。
- NAT Gateway: VCN内のプライベート・リソースが、受信インターネット・トラフィックにリソースを公開することなく、インターネットへのアウトバウンド接続を開始できます。
- サービス・ゲートウェイ: VCNからOCIサービス(オブジェクト・ストレージなど)へのアクセスを提供します。VCNからこれらのサービスへのトラフィックは、Oracleのネットワーク・ファブリックを経由してパブリック・インターネットを回避します。
- Oracle Services Network (OSN): Oracleサービス用のOCI内の専用ネットワーク。インターネットを介してアクセス可能なパブリックIPアドレスがあります。OCI以外のホストは、OCI FastConnectまたはVPN接続を介してOSNにプライベートにアクセスできます。VCN内のホストは、サービス・ゲートウェイを介してOSNにプライベートに到達できます。
- ネットワーク・セキュリティ・グループ(NSG):クラウド・リソースの仮想ファイアウォールとして機能します。OCIのゼロトラスト・セキュリティ・モデルの後、すべてのトラフィックがデフォルトで拒否され、VCN内のトラフィック・フローを制御できます。NSGは、VCN内の特定の仮想ネットワーク・インタフェース・カード(VNIC)のセットに適用されるイングレスおよびエグレス・ルールのセットで構成されます。
- Zero Trust Packet Routing (ZPR):ネットワーク・アーキテクチャとは別にネットワーク・セキュリティ・ポリシーを管理することで、不正なデータ・アクセスを防止します。ZPRは、ユーザーフレンドリなインテントベースのポリシー言語を使用して、データの許可されたアクセス経路を定義します。ポリシーによって明示的に定義されていないトラフィック・パターンはネットワークを横断できません。これにより、データ保護が簡素化され、データ漏洩が防止されます。デフォルトでは、ZPRは有効化されておらず、構成が必要です。
セキュリティ
デフォルトでは、OCIコア・ランディング・ゾーンは、CIS OCIベンチマークをサポートし、堅牢なセキュリティ体制を提供するために、次のクラウド・ネイティブ・セキュリティ・サービスをデプロイするように構成されています。
- クラウド・ガード: Oracle Cloudでの強力なセキュリティ状態をモニター、識別および維持するのに役立つように設計されたクラウドネイティブ・サービス。このサービスでは、OCIリソースで構成に関連するセキュリティの弱点を継続的に調査し、オペレータとユーザーにリスクのあるアクティビティを監視します。クラウド・ガードは、カスタマイズ可能なディテクタ・レシピを使用して、構成ミスや潜在的なセキュリティの脅威を特定し、検出されると、修正アクションを推奨したり、事前定義済のレスポンダ・レシピを通じてそれらの実装を支援できます。これにより、リソースのセキュリティを積極的に管理し、ベスト・プラクティスへのコンプライアンスを維持できます。
- セキュリティ・ゾーン: 1つ以上のコンパートメントおよびセキュリティ・ゾーン・レシピに関連付けられます。リソースがセキュリティ・ゾーン内で作成または変更されると、OCIはゾーン・レシピで定義されたセキュリティ・ポリシーに対して操作を検証します。ポリシーに違反している場合、操作は拒否されます。セキュリティ・ゾーンは、OCIリソースが、コンピュート、ネットワーキング、オブジェクト・ストレージ、ブロック・ボリューム、データベースなどのサービス全体の組織のセキュリティ要件に準拠していることを確認するのに役立ちます。
- 脆弱性スキャン・サービス:ポートおよびホストで脆弱性を定期的にスキャンすることで、セキュリティを強化できます。このサービスは、特定された脆弱性に関するメトリックやインサイトなど、詳細なレポートを生成し、セキュリティ・リスクに積極的に対処するのに役立ちます。
- Vault:クラウド・リソースへのアクセスを保護するために使用されるシークレット資格証明に加えて、データを保護する暗号化キーを一元的に管理できます。Vaultサービスを使用すると、ボールト、暗号化キーおよびシークレットを作成および管理できます。
- 要塞:パブリック・エンドポイントのないOCIリソースへのセキュアで制御されたアクセスを提供します。特定のIPアドレス制限および期限付きアクセスを使用して、アイデンティティに基づくSSHセッションを許可します。すべてのアクティビティが監査され、重要なリソースへのセキュアでトレース可能なリモート・アクセスが保証されます。
可観測性
OCIコア・ランディング・ゾーンは、可観測性のために次のOCIサービスを使用するように構成されています。
- ロギング:クラウド・リソースからのログへのアクセスを提供する、スケーラビリティに優れたフルマネージド・サービス。これにより、リソース・パフォーマンスおよびアクセスに関する重要な診断情報など、テナンシ全体のログを表示、管理および分析できます。このサービスでは、次のタイプのログがサポートされます。
- 監査ログ: OCI監査サービスによって発行されたイベントのレコード。
- サービス・ログ: OCIネイティブ・サービス(APIゲートウェイ、イベント、ファンクション、ロード・バランサ、オブジェクト・ストレージ、VCNフロー・ログなど)によって生成されたログ。
- カスタム・ログ:カスタム・アプリケーション、サードパーティ・クラウド・プロバイダまたはオンプレミス環境からのログで、追加の診断詳細を提供します。
- イベント:リソースの変更を説明するOCIサービスによって生成される構造化メッセージ。これらのイベントは、作成、読取り、更新または削除(CRUD)操作、リソース・ライフサイクル状態の変更、またはクラウド・リソースに影響するシステム・イベントに対応できます。
- 通知:パブリッシュ/サブスクライブ・パターンを使用して、セキュアで信頼性が高く、レイテンシが低く、永続的なメッセージを分散コンポーネントにブロードキャストします。OCIおよび外部でホストされているアプリケーションにメッセージを配信し、アラーム、サービス・コネクタまたはイベント・ルールがトリガーされたときに通知するために使用できます。
- コネクタ・ハブ:クラウド内のサービス間のデータ移動を調整するクラウドベースのメッセージ・バス・プラットフォーム。データ転送を定義、実行および監視するための単一のペインが提供されるため、データをソース・サービスからターゲット・サービスに移動できます。また、Connector Hubでは、ファンクションの起動などのタスクを指定して、ターゲット・サービスに配信する前にデータを処理できます。これにより、セキュリティ情報およびイベント監視(SIEM)システムのロギング集計フレームワークを簡単に構築できます。
- オブジェクト・ストレージ:コンテナ内のオブジェクトとしてデータを管理できるため、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・メディアなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。パフォーマンスや信頼性を損なうことなくストレージを拡張できるため、インターネットとクラウド・プラットフォームの両方でデータを安全に保管および取得できます。迅速で即時取得が必要な頻繁にアクセスされるホット・データには標準ストレージを使用し、長期ストレージにはほとんどアクセスされないが保持されるコールド・データにはアーカイブ・ストレージを使用します。
推奨事項
OCIコア・ランディング・ゾーンのデプロイ方法
クラウド環境のセキュリティを設計および構成するための基盤として、次のガイドラインを使用します。固有の要件が、ここで説明するアーキテクチャとは異なる場合があります。
- ネットワーク構成: VCNのCIDRブロックを選択する場合は、プライベート接続を確立する予定の他のネットワーク(OCI、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないようにします。
- セキュリティのモニタリング:クラウド・ガードを使用して、OCI内のリソースのセキュリティを監視および維持します。クラウド・ガードでは、カスタマイズ可能なディテクタ・レシピを使用して、リソース内のセキュリティの弱点を識別し、オペレータおよびユーザーによるリスクのあるアクティビティを追跡します。構成の誤りまたはセキュリティの問題が検出されると、クラウド・ガードは修正処理の推奨事項を提供し、事前定義済のレスポンダ・レシピを使用した実装を支援できます。
- セキュアなリソース・プロビジョニング:最高レベルのセキュリティを必要とするリソースには、セキュリティ・ゾーンを使用します。セキュリティ・ゾーンは、セキュリティのベスト・プラクティスに基づいてOracle定義のポリシー・セットに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーで暗号化されている必要があります。OCIは、セキュリティ・ゾーン内のリソースの作成と更新をこれらのポリシーに対して検証し、それらに違反する操作を自動的に拒否します。
考慮事項
OCIコア・ランディング・ゾーンを実装する場合は、次の情報を考慮してください。
- アクセス権限:初期プロビジョニング時に、ランディング・ゾーンはテナンシ管理者権限を持つリソースを作成できます。これには、初期設定後に個別の管理者グループが各コンパートメントを管理できるようにする事前構成済のポリシーが含まれています。ただし、これらのポリシーはテンプレートによってデプロイされるリソースに限定され、すべての潜在的なクラウド・リソースをカバーするわけではありません。Terraformテンプレートに新しいリソースを追加する場合は、追加のポリシー・ステートメントを定義して、必要なアクセス権限を付与する必要があります。
- ネットワーク構成:ランディング・ゾーン・ネットワークは、1対複数のスタンドアロンVCNsまたはハブとスポーク・アーキテクチャで、様々な方法でデプロイできます。インターネット接続なしでネットワークを構成することもできます。
- デプロイメント・ガイド: GitHubのOCIコア・ランディング・ゾーン・デプロイメント・ガイドには、OCIコア・ランディング・ゾーンの構成方法に関する詳細なガイダンスが用意されています。これには、デプロイメント・シナリオと、ランディング・ゾーンのカスタマイズ方法に関するステップが含まれます。
デプロイメント
このソリューションのTerraformコードは、GitHubにあります。コードをOCI Resource Managerにインポートするには、ワンクリックでスタックを作成し、ランディング・ゾーンをデプロイします。または、ローカル・マシンにコードをダウンロードしてカスタマイズし、Terraform CLIを使用してアーキテクチャをデプロイできます。
リソース・マネージャでのサンプル・スタックを使用したデプロイ
を選択して、OCIコンソールでリソース・マネージャを開き、スタックを作成します。
まだコンソールにサインインしていない場合は、テナンシおよびユーザー資格証明を入力します。
- スタックをデプロイするリージョンを選択します。
- 画面に表示されるプロンプトと手順に従ってスタックを作成します。
- スタックの作成後、「Terraformアクション」をクリックし、「プラン」を選択します。
- ジョブが完了するのを待ってから、計画をレビューします。
- 変更を行うには、「スタックの詳細」ページに戻り、「スタックの編集」をクリックして、必要な変更を行います。次に、「プラン」アクションを再度実行します。
- これ以上の変更が必要ない場合は、「スタックの詳細」ページに戻り、「Terraformアクション」をクリックして、「適用」を選択します。
GitHubのTerraformコードを使用したデプロイ
- GitHubに移動します。
- コードをローカル・コンピュータにダウンロードまたはクローニングします。
- READMEの指示に従います。
ノート: OCIは、すべてのパブリック・クラウド・リージョンと専用クラウド・リージョンにクラウド・サービスを提供しています。ただし、特定の専門サービスまたは新興サービスは、選択したリージョンでのみ使用できます。詳細は、サービス可用性を参照してください。