OCI 各種GWのまとめ

本ブログは、[オラクル・クラウドの個人ブログ](https://qiita.com/letian/items/10152a4fec813c1b7d98)の1つです。

# 初めに
このブログは、Oracle Cloud Infrastructure (OCI) の各種ゲートウェイ（GW）に関する概要とその用途についてまとめたものです。OCIが提供するゲートウェイには、ネットワーク、ストレージ、開発者向けなどのカテゴリがあり、それぞれの利用シナリオや注意点を分かりやすくまとめました。

※、クラウドアーキテクト（CA）にとって<strong>必須</strong>の知識ですので、各ゲートウェイの適切な使い分けをしっかりと理解してください。

# 各種GWの一覧

|分類|名前|用途|注意事項| 
|--|--|--|--| 
|ネットワーク| [Internet GW](#1-internet-gw-vs-nat-gw-vs-service-gw)  | <strong>Public</strong> Subnetの中から外部へ<br>外部から<strong>Public</strong> Subnetの中へ|   | 
|| NAT GW | <strong>Private</strong> Subnetの中から外部へ<br>（<font color="blue">一方向の通信</font>で、外部からPrivate Subnetの中へアクセスできない）| | 
|| Service GW| Public/Private Subnetから、<strong>インターネットを経由せず</strong>、OCIのObject Storageなどのサービスを利用。|                                       | 
|| [Local Peering GW](#2-local-peering-gateway-lpg)   | 同一リージョンの中、VCN同士の接続を立てる。（テナンシーが違っても、同一リージョンであれば、VCN同士も接続可能。） |前提条件：２つのVCNのCIDR Blockが<strong>重複しない</strong>| 
|| [Dynamic Routing GW](#3-dynamic-routing-gateway-drg) | １．On-PからOCIへの接続を立てる。(IPSec VPN, FastConnect)<br>２．リージョンを跨ぎVCN同士の接続を立てる。         | 前提条件：接続元と接続先のCIDR Blockが<strong>重複しない</strong>| 
|ストレージ| [Storage GW<br>](#4-storage-gateway) | OCI Object Storageへのデータ転送。(※、<strong>End of life</strong>) | ソフトウェアをインストールする必要があり、<font color="blue">Linux OSのみ</font>をサポート。| 
|開発| [API GW](#5-api-gateway) | OCI内部のサービスのREST APIエンドポイントを外部に提供する。<br>(サービス：Functions,OKE,Computeなど) || 

# 1. Internet GW vs NAT GW vs Service GW
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/f281cf62-f5be-f5d8-49a9-a7f7cb819741.png)

__注意点__
1つのルート表内で「Internet Gateway + NAT Gateway」や「Internet Gateway + Service Gateway」といった混在構成はできません。ただし、「NAT Gateway + Service Gateway」の組み合わせは可能です。

# 2. Local Peering Gateway (LPG)
## 2-1. LPGの利用場面-1 (リージョン内)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/f48c024e-9129-bda0-649e-d7ebfa59e3f1.png)
VCN1とVCN2がLPGで接続済み、かつVCN2とVCN3もLPGで接続済みであっても、VCN1とVCN3の間で通信を行いたい場合は、別途VCN1とVCN3間のペアリングが必要です。

## 2-2. LPGの利用場面-2 (Transit Routing)
オンプレミス環境からIPSec VPNまたはFastConnectを使用してOCIに接続している場合、Hub VCNを経由してSpoke VCNに接続することが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/71e191a2-befa-851d-d679-a5accefd62d8.png)

# 3. Dynamic Routing Gateway (DRG)
## 3-1. DRGの利用場面-1 (IPSec VPN)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/2a295e50-89c9-d476-e80b-2a6f16324986.png)

## 3-2. DRGの利用場面-2 (FastConnect)
Public Virtual Circuit を使用する場合、DRGを経由しません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/45a5a07e-22e6-f7c9-3f37-45b49be6f6d8.png)

## 3-3. DRGの利用場面-3 (リージョンを跨ぐ)
リージョンにまたがるDR（障害復旧）構成を構築する場合、DRGを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/4646fb2f-2fdf-5ebb-10f6-6c725ed4cb45.png)

## 3-4. DRGのエンハンスメント
2021年5月末、DRGの大きな機能エンハンスメントがリリースされました。主な内容は以下の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/56f37bc3-fb79-ea7f-3ade-1cab11b4005a.png)
__1:Nの関係__
- 従来、DRGとVCNの関係は1:1でしたが、現在は1:Nの接続が可能となっています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/ff44a636-886b-5521-846a-10981c5e1a44.png", width="350">
- これにより、1つのDRGに最大300個のVCNをアタッチして相互接続することができます。
- VCN間接続については従来通りLPGも使用可能ですが、LPGの作成数には1つのVCNにつき最大10個という上限があります。DRGを利用することで、より多くのVCN間接続が可能になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/aae1b6ef-0c68-b085-6513-523b0f979bdc.png)

__RPC (Remote Peering Connection)__
Remote Peering Connection（リモート・ピアリング接続）を利用することで、OCIのバックボーンネットワークを介して、オンプレミスからリモートリージョンへの接続も実現可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/d2e7e2c4-eef2-f193-4f05-d32e70f162ae.png)

テナンシを跨ぎDRGでの接続も可能です。

# 4. Storage Gateway
:::note
2024年3月追記
Storage Gatewayは、2024/2/28より<strong>End of Life</strong>になることがアナウンスされました。代替手段として、<strong>OCI-CLI</strong>や<strong>Rclone</strong>が推奨されています。アナウンスの詳細は、[こちら](https://docs.oracle.com/en-us/iaas/releasenotes/changes/d67506ea-eb9b-4eeb-8c2b-e05e2dea70a4/)を参照ください。
:::

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/939046b6-b9a0-dfe9-bcf9-f368c1fc3ecd.png", width="850">
紹介と利用方法について、以下の記事をご参考ください（ステップ・バイ・ステップの設定手順を含めています）。
[OCI Storage Gatewayの利用方法](https://qiita.com/liu-wei/items/a9d3fc0c4a2c25881a4e)

# 5. API Gateway
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/38bfae82-277a-ddb5-4115-512f279763c8.png)

OCI Functionsの呼出方法について、以下の記事をご参考ください。
[API GWでOCI Functionsの呼び出し](https://qiita.com/liu-wei/items/37be0b66db040537448b)

__料金__
- 上記のゲートウェイのうち、API Gatewayを除いて、基本的に<font color="blue">無料</font>で利用できます（ただし、関連するサービス利用料やアウトバウンド通信費は別途発生します）。
- API Gatewayについては、APIコール数に応じた従量課金制となっており、利用しなければ料金はかかりません。

以上です。

----
__関連記事__
[オラクル・クラウドの個人ブログ一覧](https://qiita.com/letian/items/10152a4fec813c1b7d98)

# オフィシャル・ドキュメント
[Oracleサービスへのアクセス: サービス・ゲートウェイ](https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/servicegateway.htm)
[Storage Gatewayに関するよくある質問](https://www.oracle.com/jp/cloud/storage/storage-gateway/faq/)
[OCI API ゲートウェイ](https://docs.oracle.com/ja-jp/iaas/Content/APIGateway/home.htm)
[Introducing global connectivity and enhanced cloud networking with the dynamic routing gateway](https://blogs.oracle.com/cloud-infrastructure/post/introducing-global-connectivity-and-enhanced-cloud-networking-with-the-dynamic-routing-gateway)