OCI DRGを使ったネットワーク構成

# 概要
[Oracle Cloud Infrastructure（OCI）](https://www.oracle.com/jp/cloud/)の[動的ルーティング・ゲートウェイ(DRG)](https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/managingDRGs.htm)を使って様々なネットワーク構成を検討しました

# DRGとは
DRGはVCNやIPSecVPN等を接続するための高機能な仮想ルーターです。
サポートされている接続は以下の通りです。
- VCN
　クラウド内のネットワークです
- リモート・ピアリング接続
　他リージョン間接続に使用します
- サイト間VPN IPSecトンネル
　オンプレミスとのIPSecVPN
- Oracle Cloud Infrastructure FastConnect 仮想回路
　オンプレミスとのFastconnect専用線
 
また、DRGは各接続にRoute Tableを持つことができるため、接続を分離したり特定の通信のみ許可することが可能で、より高度なネットワークを構成することができます。

https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/managingDRGs.htm

今回はオンプレミスからの接続する構成を様々な要件をもとに検討しました

# 想定ネットワーク構成
## 基本構成
シングルテナントの構成です。
特にアクセス制限のない場合はRoute Tableの細かい設定は不要でOCIにて自動作成されます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/586bf18e-14c6-4bd8-8a3e-a3f2321388cf.png">

## テナント毎に分離
マルチテナントでネットワーク分離が必要な場合の構成です。
OnPremise AはVCN Aのみ、OnPremise BはVCN Bのみ通信が可能にするよう各接続のRoute Tableを設定します。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/c399bf5f-0ea8-41d5-9199-fd96b5e0132a.png">

## DMZを配置
外部から直接アクセスせずDMZを経由する場合の構成です。
OnPremise AはVCN DMZのみ通信が可能にするよう各接続のRoute Tableを設定します。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/a6d94c76-1529-49ba-a882-b3872d51693e.png">

## 分離された運用ネットワークを配置
運用チームからのアクセスを考慮する場合の構成です。
OnPremise運用はVCN運用のみアクセス可能にするよう各接続のRoute Tableを設定します。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/a391cc36-052c-4a3b-bdd4-996681c3c8ec.png">

# テナント毎に分離するネットワークの設定例

テナント毎に分離するネットワークのOnPremise A～VCN Aを構成するための設定例です。
## ネットワーク図
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/33ec7e4b-a5e7-4c49-81df-a84b5450bbda.png">

## 設定画面
### DRG
OCIナビゲーションメニューからネットワーキング>>顧客接続性>>動的ルーティングゲートウェイに遷移して設定します
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/5699e908-4d52-435d-b52c-7d8a69beabdb.png">


- DRG
DRG本体
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/1d45191c-94cc-4cb2-9191-cea16f9860e3.png">

- VCN Attachment
DRG～VCN間のAttachment
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/848c7b31-9bd0-434b-a2b6-67a8ea81827e.png">

- DRG Route Table
VCN AttachmentのRoute Table
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/26b9edd1-65f9-43d1-a911-92324af9f1ee.png">

- Import Route Distribution
Route Tableに取り込むRoute情報を定義
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/8c7b136d-4626-4ee4-a5f8-c6dd3bfb9939.png">

- Route
Import Route Distributionや静的ルートルールによって作成されたRoute Table
VCNからはいったパケットがNext Hopを参照する
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/15651735-a614-4089-b876-28fe1106d315.png">

- DRG
DRG本体
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/074a07ea-3be5-471f-a614-ad14b1bc8a95.png">

- IPSec Tunnel Attachment
DRG～IPSec Tunnel間のAttachment
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/4ad175ec-aa01-4fa2-a029-d40b5241b1bc.png">

- Export Route Disribution
Route情報をExportする条件を定義
現時点ではすべての情報をExport
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/cf2bf6b5-113c-41fe-9b1a-b041cf8dbab7.png">

- DRG Route Table
IPSec Tunnel AttachmentのRoute Table
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/38b7208c-9510-41df-b618-f018085e8512.png">

- Import Route Distribution
Route Tableに取り込むRoute情報を定義
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/a0cf8c9f-72aa-4766-a2c5-fb71630231bb.png">

- Route
Import Route Distributionや静的ルートルールによって作成されたRoute Table
IPSec TunnelからはいったパケットがNext Hopを参照する
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/1cbf044d-fe03-49fa-b778-9b0d3ed84ca3.png">

### VCN A内Subnet Route Table
OCIナビゲーションメニューからネットワーキング>>仮想クラウドネットワーク>>対象VCN>>サブネット>>対象サブネットに遷移、ルート表を選択して設定します
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/981b5662-d2ed-4138-a94c-73c801517df3.png">

### Customer Premise Equipment
Customer Premise Equipmentのルート情報です
```
$ show ip route
B>* 10.105.1.0/24 [20/0] via [IPSecVPNのOCI側Interface], vti1, weight 1, 00:16:41
C * 10.107.2.0/24 is directly connected, eth1, 14w5d12h
:

```