要塞サービスを使用したプライベート・サブネットのリソースへのアクセス
Oracle Cloud Infrastructure Bastionは、パブリック・エンドポイントを持たないリソースへのプライベートな期限付きSSHアクセスを提供します。
要塞はゲートウェイまたはプロキシです。これらは、インターネットからアクセスできない、クラウド内のリソースに対する安全なアクセスを可能にする論理エンティティです。要塞はパブリック・サブネットにあり、ユーザーをプライベート・サブネット内のリソースに接続するために必要なネットワーク・インフラストラクチャを確立しています。OCI Bastionは、Oracle Cloud Infrastructure (OCI)で作成した要塞サーバーのかわりに利用できるインフラストラクチャ・サービスです。
Oracle Cloud Infrastructure Identity and Access Management (IAM)との統合により、要塞サービス内の要塞またはセッションを管理できるユーザーを制御できます。Oracle Cloud Infrastructure Auditとの統合により、要塞サービスおよび要塞セッションに関連する管理アクションを監視できます。
アーキテクチャ
このアーキテクチャは、プライベート・サブネットに接続する2つの方法を示しています。1つの方法は、中間ターゲット・サブネットを介して接続する方法と、もう1つの方法は、保護されたリソースを含むサブネットに直接接続する方法です。
OCI Bastionを使用すると、クラスレス・ドメイン間ルーティング(CIDR)ブロック許可リストおよび最大セッション存続時間(TTL)を指定できます。OCI Bastionは、リバース接続を介して要塞VCNと顧客VCNの間のネットワーク・パスを作成します。セッションは通常、ユーザーまたはオペレータによって作成されます。
次の図は、このリファレンス・アーキテクチャを示しています。

図architecture-use-bastion-service.pngの説明
アーキテクチャには次のコンポーネントがあります。
- OCIのリージョン
OCIリージョンとは、可用性ドメインをホストする1つ以上のデータ・センターを含む、ローカライズされた地理的領域のことです。リージョンは他のリージョンから独立しており、長距離の場合は複数の国または大陸にまたがる領域を分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害が、リージョン内の他の可用性ドメインに影響することはありません。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各可用性ドメインには、独立した電源とハードウェアを備えた3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
仮想クラウド・ネットワーク(VCN)は、ソフトウェアで定義されたカスタマイズ可能なネットワークであり、OCIリージョン内に設定します。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには、VCNの作成後に変更できる重複しない複数のクラスレス・ドメイン間ルーティング(CIDR)ブロックを複数含むことができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- OCI Bastion
Oracle Cloud Infrastructure Bastionは、パブリック・エンドポイントがなく、ベア・メタルや仮想マシン、Oracle MySQL Database Service、Autonomous Transaction Processing (ATP)、Oracle Cloud Infrastructure Kubernetes Engine (OKE)、およびSecure Shell Protocol (SSH)アクセスを許可するその他のリソースなど、厳密なリソース・アクセス制御を必要とするリソースへの制限された時間制限付きのセキュアなアクセスを提供します。OCI Bastionサービスを使用すると、ジャンプ・ホストをデプロイおよびメンテナンスすることなく、プライベート・ホストへのアクセスを有効にできます。さらに、アイデンティティベースの権限と一元化、監査および期限付きSSHセッションにより、セキュリティ・ポスチャが向上します。OCI Bastionは、要塞アクセスのためのパブリックIPの必要性を排除し、リモート・アクセスを提供する際の手間と潜在的な攻撃対象領域を排除します。
- 要塞サービス・バックエンド
Oracle Cloud Infrastructure Bastionバックエンドには、セッション構成と、ターゲット・システムへのアクセス権を付与するために使用されるSSH公開キーが格納されます。ターゲット・システムは、必要に応じて、サービス・ゲートウェイを使用してOCI要塞バックエンドにアクセスします。
- プライベート・エンドポイント
プライベート・エンドポイントは、OCI要塞をターゲット・サブネットに接続します。ターゲット・サブネットは、より詳細な制御を行うために別々のサブネットにすることも、アクセスするインスタンスの同じサブネットにすることもできます。
レコメンデーション
実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。次の推奨事項を開始点として使用します。
- VCN
VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを同じサブネットにアタッチします。このサブネットはセキュリティ境界として機能します。
リージョン・サブネットを使用します。
プロビジョニングされるすべての要塞は、ターゲット・サブネットから2つのIPアドレスを取得することに注意してください。特定のサブネットに対してプロビジョニングする要塞の数に基づいて、CIDRブロックを選択します。たとえば、/30 CIDRのサブネットがある場合、使用可能なアドレスが2つあり、そのCIDR内にターゲット・リソースがある場合、要塞をプロビジョニングするのに十分なアドレスがありません。この場合、要塞のプロビジョニングは失敗します。ターゲット・サブネットは/29より大きくすることをお薦めします。
- クラウド・ガード
Oracleが提供するデフォルト・レシピをクローニングおよびカスタマイズして、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピを使用すると、警告を生成するセキュリティ違反のタイプと、それらに対して実行できるアクションを指定できます。たとえば、可視性がパブリックに設定されているOCIオブジェクト・ストレージ・バケットを検出できます。
Oracle Cloud Guardをテナンシ・レベルで適用して、広範な範囲をカバーし、複数の構成を維持する管理上の負担を軽減します。
また、管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。
- セキュリティ・ゾーン
最大限のセキュリティを必要とするリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースには、パブリック・インターネットからアクセスできない必要があり、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新すると、OCIはレシピのポリシーに対して操作を検証し、いずれかのポリシーに違反する操作を防止します。
- OCI Bastion
要塞レベルで存続時間(TTL)を指定すると、その要塞のコンテキストで作成されたセッションのうち、要塞自体よりも長いTTLがないことが保証されます。TTLをユース・ケースの最小制限に設定します。最小値は30分、最大値は3時間です。TTLは、セッション・レベルでも構成できます。
許可リストに使用されるCIDRブロックは、シナリオに対して可能なかぎり狭くする必要があります。これにより、プライベート・ターゲット・リソースにアクセスできるSSH接続のIPアドレス範囲を制限できます。
OCI要塞に関連付けられたターゲット・サブネットのサイズと必要な要塞インスタンスの数を考慮します。各OCI Bastionインスタンスは、2つのIPアドレスを取ります。そのため、6つの使用可能なIPアドレスを持つように、/29の範囲(少なくとも)を使用することをお薦めします。/30には2つのIPアドレスがありますが、将来、要塞の2番目のインスタンスが同じサブネットを指すようにする場合は、作成できません。ターゲット・サブネットは、ターゲット・リソースが存在するサブネット、またはターゲットVCN内の他のサブネットのいずれかです。
セキュリティ・ポリシーの推奨事項:
- ターゲット・リソースを持つサブネットのイングレス・ルールでは、要塞のプライベート・エンドポイントIPである1つのIPアドレスからの受信TCPトラフィックを許可する必要があります。
- Linuxの場合は22、ウィンドウの場合は3389、MySqlの場合は33060など、宛先の正確なポートを指定します。ポートにALLを使用しないでください。
管理およびオペレータのシナリオには、特定のIAMポリシーを使用します。
考慮事項
- リージョン
Oracle Cloud Infrastructure Bastionは、リージョン別サービスです。たとえば、PHXリージョンのリソースにアクセスするには、PHXリージョンに要塞を作成する必要があります。あるリージョン内の要塞を使用して別のリージョンのリソースにアクセスすることはできません。
- パフォーマンス
OCI要塞の作成は、SLO (リクエスト作成の2分以内)内にする必要があります。セッションの作成/終了はSLO内にする必要があります。ポート転送は1分(緊急時の場合)で、管理対象SSHセッションは3分(通常の使用)です。
- セキュリティ
OCI要塞からのトラフィックは、サブネット上のプライベート・エンドポイントから発生します。要塞からのトラフィックを許可するには、このプライベート・エンドポイントから要塞を使用してアクセスする必要があるIPへのイングレスおよびエグレス・トラフィックを許可します。インスタンスのサブセットへのアクセスを制限する詳細なポリシーは、適切なレベルのアクセスを保証するのに役立ちます。
- 可用性
サービスは、(APIエラー率に基づいて)要塞およびセッションを作成/終了するための高可用性を提供する必要があります。ターゲットとなる可用性は99.9%です。
- コスト
OCI Bastionの使用にはコストがかかりません。テナンシごとにリージョンごとに最大5つの要塞を作成できます。各要塞は、VCN内のターゲット・リソースを処理します。
- 使用例
OCIネイティブ・イメージを実行しているプライベート・ターゲット・ホスト、またはLinuxベースでOCA v2エージェント(要塞プラグインが有効になっている)を実行しているプライベート・ターゲット・ホストにアクセスする場合は、管理対象SSHセッションを使用できます。エージェントが実行されていないプライベート・ターゲット・リソース、Windowsベース、またはデータベース(ATPまたはMySQL)へのアクセスが必要な場合、ポート転送SSHセッションを使用できます。