プライベート・エンドポイント管理を使用したOCIリソース・マネージャからのプライベート・リソースへのアクセス
プライベート・エンドポイント管理機能を使用すると、OCIリソース・マネージャからOracle Cloud Infrastructure (OCI)またはオンプレミス(OCIテナンシに接続)のプライベート・クラウド・リソースにアクセスできます。
リソース・マネージャは、Oracle Cloud Infrastructureリソースのプロビジョニング処理を自動化できるOCIサービスです。Terraformを使用する場合、リソース・マネージャでは、「infrastructure- as- code」モデルを使用してリソースをインストール、構成および管理できます。
- Terraformの一部として、コンピュートおよびDBインスタンスを含むリモート実行を介してプライベート・ネットワーク(VCN)内のプライベート・リソースに接続します。
- プライベート・ネットワーク(VCN)のGitHubやGitLabなどのプライベートGitサーバーに接続して、スタック・リソースの構成に必要なterraform構成を取得します。
たとえば、Terraformのリモートexec機能を使用してプライベート・コンピュート・インスタンスを構成し、プライベートGitHubサーバーのTerraform構成にアクセスできます。
- リソースをパブリック・インターネットに公開することなく、ジョブの実行中にリソース・マネージャからリモートでスクリプトを実行します。
アーキテクチャ
このリファレンス・アーキテクチャでは、OCIリソース・マネージャからのプライベート・エンドポイント・アクセスをデプロイおよび活用するための自動化について説明し、プライベート・サブネットでホストされているコンピュート・インスタンスで特定のコマンドを実行します。
このリファレンス・アーキテクチャは、必要なすべてのリソース(VCN、インスタンス、プライベート・エンドポイント)を作成し、リモート実行を使用してプライベート・エンドポイント接続を検証するTerraformベースのソリューションを提供します。
自動化は、OCI Terraformプロバイダに組み込まれています。コードによってVCNが作成されます。VCNでは、インスタンスをホストするプライベート・サブネットが作成されます。インスタンスが作成され、プライベート・サブネットで起動されます。一連のセキュリティ・ルールは、プライベート・エンドポイントを介したリモート実行コールを許可するようにサブネットに定義されます。
自動化によって、VCNプライベート・サブネット内にテナンシのプライベート・エンドポイント・リソースが作成されます。また、ユーザーをユーザー・グループに追加し、ユーザー・グループの上にポリシーを定義して、VCNおよびプライベート・エンドポイントに必要なアクセス権を提供します。
最後に、パブリック・ネットワークに公開されていないインスタンスでリモート実行を行い、結果を取得します。
次の図は、このリファレンス・アーキテクチャを示しています。
oci- orm- private- endpoint- arch- oracle.zip
アーキテクチャには次のコンポーネントがあります。
- リソース・マネージャ
リソース・マネージャは、リソース・マネージャ・リソースのプロビジョニング処理を自動化できるOracle Cloud Infrastructureサービスです。これは、Infrastructure as Codeモデルを使用したリソースのインストール、構成および管理に役立ちます。
- プライベート・エンドポイント
プライベート・エンドポイントは、リソース・マネージャからテナンシの非パブリック・クラウド・リソースにアクセスできるOCIリソース・マネージャ内の機能です。
- スタック・アクション
スタック・アクションは、apply/plan/destroyのようにスタック(Terraformコードのセット)に対して実行できる様々なアクションです。
- スタック定義
スタック定義は、一連のTerraformコードと、インフラストラクチャに関するスキーマ定義です。
- セキュリティ・リスト
サブネットごとに、サブネットの内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- ポリシー
Oracle Cloud Infrastructure Identity and Access Managementポリシーでは、誰がどのリソースにどのようにアクセスできるかを指定します。アクセス権はグループ・レベルおよびコンパートメント・レベルで付与されるため、特定のコンパートメント内またはテナンシへの特定のアクセスのタイプをグループに付与するポリシーを作成できます。
- 仮想クラウド・ネットワーク(VCN)とサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、CNはネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに指定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- プライベート・サブネット
プライベート・サブネットは、VCNで定義するサブディビジョンです(たとえば、10.0.0.0/24、10.0.1.0/24、2001: DB8: : /64)。サブネットには、インスタンスにアタッチされる仮想ネットワーク・インタフェース・カード(VNIC)が含まれます。プライベートは、サブネット内のVNICにパブリックIPv4アドレスを含めることはできず、IPv6エンドポイントとのインターネット通信は禁止されることを意味します。
推奨事項
- コンピュート・シェイプ
このアーキテクチャでは、E4フレックス・シェイプ(最小リソース)を持つOracle Linux OSイメージを使用してインスタンスをホストします。アプリケーションでより多くのメモリーまたはコアが必要な場合は、別のシェイプを選択できます。
- VCN
VCNを作成する際、VCNのサブネットにアタッチする予定のリソース数に基づいて、必要なCIDRブロックの数および各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
このアーキテクチャでは、VCNを使用してプライベート・サブネット内のOCI VMを、エグレス・ルールおよびイングレス・ルールのポート22のみを許可するセキュリティ・ルールとともにホストします。
注意事項
この参照アーキテクチャをデプロイするときは、次の点を考慮してください。
- 可用性
本番のユース・ケースでこのアーキテクチャを使用する際は、リソース全体で適切な自己回復性とロード・バランシングを実現します。
- コスト
OCIインスタンスのコストを確認し、それに応じて使用状況を管理します。
- セキュリティ
このソリューションでは、サブネットへのssh接続のみが許可されます。更新は要件に従って変更できます。
配置
このリファレンス・アーキテクチャのTerraformコードは、Oracle Cloud Infrastructure Resource Managerのサンプル・スタックとして使用できます。GitHubからコードをダウンロードし、特定の要件にあわせてカスタマイズすることもできます。
- Oracle Cloud Infrastructure Resource Managerのサンプル・スタックを使用してデプロイします:
をクリックします
まだサインインしていない場合は、テナンシおよびユーザー資格証明を入力します。
- スタックをデプロイするリージョンを選択します。
- 画面上のプロンプトと手順に従ってスタックを作成します。
- スタックの作成後、「Terraformアクション」をクリックし、「プラン」を選択します。
- ジョブが完了するまで待機し、プランをレビューします。
変更するには、「スタックの詳細」ページに戻り、「スタックの編集」をクリックして必要な変更を行います。次に、「プラン」アクションを再度実行します。
- これ以上の変更が必要ない場合は、「スタックの詳細」ページに戻り、「Terraformアクション」をクリックして「適用」を選択します。
- GitHubでTerraformコードを使用してデプロイします。
- GitHubにアクセスします。
- リポジトリをローカル・コンピュータにクローニングまたはダウンロードします。
README
ドキュメントの指示に従います。