4
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

検証によく使う Oracle Cloud Infrastructure(OCI) の 環境構成(VCN, Seculity List, 各種Gateway, Route Table, Subnet, Compute)まとめ

ワイが検証によく使う Oracle Cloud Infrastructure(OCI) の環境構成を整理してみますやで。
彡(゚)(゚)

1. 構成図

構成図です。まずはお絵かきから、お絵かき重要彡(゚)(゚)
01_NetworkingDesign.jpg

VCN Wizard で出てくる下記図を精緻化したものですやね。
b_VCN_Wizard.jpg

2. コンパートメント

リソース作成の初手はコンパートメントから。名前は何でもエエです。原則としてrootコンパートメントに各種リソースは作らないこと。
c_compartment.jpg

3. VCN

VCN は CIDR(IPアドレス範囲) を決めるだけ。10.0.0.0/16 で広めに作成。名前は何でもヨシ!
d_VCN.jpg

4. Security List

Security List は OCI VCN の 仮想ファイアウォール に相当するものです。Public用とPrivate用をそれぞれ作成

4-1. Public Subnet用 の Security List

基本は Ingress で絞る前提で Egress は全開、Ingress は ssh(22) だけを開けます。
e1_pub_seclst.jpg
e2_pub_ingress.jpg
e3_pub_egress.jpg

4-2. Private Subnet用 の Security List

Public用とほぼ同じですが、Ingress の ssh(22) は Source CIDR を Public Subnet の CIDR(10.0.0.0/24) に限定します。
f1_prv_seclst.jpg
f2_prv_ingress.jpg
f3_prv_egress.jpg

4-3. NSG(Network Security Group)について

Security List の 代わりに NSG(Network Security Group) でも OK です。NSG はリソース単位に適用可能なので、Subnet単位の Security List よりも細かく制御できます。
注意点は、OCI の場合は Security List と NSG のルールは OR条件、どちらかに記述しておけば有効 になるということ。

NSG を使う場合は、Seculity List のルールは全部削除しておきましょう。

5. 各種Gateway

5-1. Internet Gateway

外部(Internet)からの接続用に Internet Gateway を作成。これが無くちゃ始まらない。
g1_IGW.jpg

5-2. NAT Gateway

Private Compute から 外部(Internet) の接続用に NAT Gateway を作成。yum/wget/curl/Windows Update等の使用を想定。
g2_NATGW.jpg

5-3. Service Gateway

Private Compute から Object Storage や Autonomous Database、REST API(OCI CLI)等への接続用に Service Gateway を作成。
g3_SGW.jpg

6. Route Table

今回の構成の場合は Route Table は 各種Gateway と Subnet をリンクさせる役割を持ちます。やはり Public用とPrivate用をそれぞれ作成

6-1. Public Subnet用 の Route Table

Internet Gateway を Subnet にアタッチして、外(Internet)から接続できるようにします。
h1_pub_rttbl.jpg
h2_pub_rtrule.jpg

6-2. Private Subnet用 の Route Table

NAT Gateway と Service Gateway を Subnet にアタッチして、外(Internet) や Oracle Service(Object Storage等)にアクセスできるようにします。
h3_prv_rttbl.jpg
h4_prv_rtrule.jpg

7. Subnet

原則として AD(Availability Domain)跨り の Regional Subnet を採用します。
AD(Availability Domain)毎 に Subnet を作成する必要が無く、とても便利彡(^)(^)

7-1. Public Subnet

CIDR(IPアドレス範囲) は 構成図通りの 10.0.0.0/24、前もって作った Security List と Route Table をアタッチします。
i1_public_subnet.jpg

7-2. Private Subnet

CIDR(IPアドレス範囲) は 構成図通りの 10.0.1.0/24、やはり前もって作った Security List と Route Table をアタッチします。
i2_private_subnet.jpg

8. Compute

前もってSSHのキーペア、公開鍵(*.pub) と pem形式の秘密鍵(*.pem) を2セット(Public用, Private用)作成しておきます。併せて putty形式の秘密鍵(*.ppk) も作成しておきます。

OS Image は Oracle Linux の最新版、Shape は 1コア(1oCPU) の Intel(VM.Standard.2.1) か AMD(VM.Standard.E2.1) を選択します。AMD の方がちょっとお安い。なおつい最近AMDの新型(VM.Standard.E3)が出ました。
j1_compute1.jpg
j2_compute2.jpg
j3_compute3.jpg

9. ssh接続

クラックされた場合のリスクを考慮して、踏み台サーバーに鍵は置きません。下記記事のように、クライアント端末(PC)の秘密鍵を動的に転送して、Private Compute にアクセスします。

Pageantを使用した踏み台サーバー経由のssh
https://qiita.com/untitle_23/items/7af5e6b1d29f95c13f36

下記では Pageant + Tera Term を使用して、踏み台(Bastion)経由で Private Compute に ssh接続しています。

k1_pageant.jpg
k2_tera1.jpg
k3_tera2.jpg
k4_tera3.jpg

踏み台(Bastion)経由で Private Compute に接続できたで!彡(^)(^)

10. まとめ

この記事では手でペチペチと環境を構築していますが、もちろん Terraform や OCI Resource Manager(※Terraform互換の Managed な Service) でも環境構築は可能です。そのうち紹介するかも。

この記事やその他記事も参照して、OCI をどんどん活用して下さいね。
彡(^)(^)

11. 追記

Object Storage を作るの忘れてた……。まあ作るのも使うのも簡単なので、下記記事あたりをご参考にしつつ使ってみて下さい。

【総まとめ】Oracle Cloud Infrastructure オブジェクト・ストレージ・サービスの機能概要
https://qiita.com/ksonoda/items/dc12792c99a962f932f9

12. 参考マニュアル/リンク集

コンパートメントの管理
https://docs.oracle.com/cd/E97706_01/Content/Identity/Tasks/managingcompartments.htm

VCNとサブネット
https://docs.oracle.com/cd/E97706_01/Content/Network/Tasks/managingVCNs.htm

セキュリティ・ルール
https://docs.oracle.com/cd/E97706_01/Content/Network/Concepts/securityrules.htm

セキュリティ・リスト
https://docs.oracle.com/cd/E97706_01/Content/Network/Concepts/securitylists.htm

ルート表
https://docs.oracle.com/cd/E97706_01/Content/Network/Tasks/managingroutetables.htm

Linuxインスタンスでのキー・ペアの管理
https://docs.oracle.com/cd/E97706_01/Content/Compute/Tasks/managingkeypairs.htm

インスタンスの作成 - Linuxインスタンスを作成するには
https://docs.oracle.com/cd/E97706_01/Content/Compute/Tasks/launchinginstance.htm

Oracle Cloud Infrastructure 活用資料集
https://community.oracle.com/docs/DOC-1035494

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
4
Help us understand the problem. What are the problem?