1.Oracle Cloud Infrastructureとは
Oracle Cloud Infrastructure(以下OCI)とは、Oracle社が提供するパブリッククラウドサービスのことである。
ネットワークやコンピュート、メモリ、ストレージ、データベースなどのITインフラ環境(Iaas)とハードウェアやOS、ミドルウェア、ランタイムなどのサービス(Paas)を提供しています。
2.基本用語
リージョン
リージョンとは、Oracle社がデータセンターを設置している地理的領域のことである。
世界に23か国に46個のリージョンを設置されており、日本には東京リージョンと大阪リージョンの2つがあります。
アベイラビリティドメイン
アベイラビリティドメイン(Availability Domains/AD)とは、各々のリージョンに設置されたデータセンターのことである。
1つのリージョンは、1個または3個のアベイラビリティドメインで構成されています。
同一リージョン内のアベイラビリティドメイン同士は、低レイテンシーかつ広帯域のネットワークで相互接続されます。
アベイラビリティドメインは可用性ドメインとも呼ばれます。
フォルトドメイン
アベイラビリティドメイン内のハードウェアおよびインフラストラクチャのグループのことである。
同時にハードウェア障害やインスタンス停止が発生する可能性があるグループとも言えます。
アベイラビリティドメインごとに3つのフォルトドメインが含まれています。
3つのフォルトドメイン同士はハードウェア障害やインスタンス停止などが互いに影響しないようになっています。
フォルトドメインは障害ドメインとも呼ばれます。
レルム
レルムとは、リージョンの論理的な集合体のことです。
相互に隔離され、データを共有しません。
テナンシ
テナンシとはクラウドアカウントのことです。
クラウド・リソースを作成、編成および管理できるOracle Cloud Infrastructure内のセキュアで分離されたパーティションとも言えます。
テナンシは単一のレルムに存在し、そのレルムに属するリージョンにアクセスすることが出来ます。
コンパートメント
コンパートメントとはOCI特有の概念であり、管理者によって権限が付与された特定のグループのみがアクセスできる関連リソース群のことである。
1つのテナンシ内に複数のコンパートメントを作成することで、複数のシステムの運用管理を簡単に行うことが出来ます。
コンパートメントは、物理コンテナではなく論理グループです。
グループ
ユーザーをまとめる単位のことです。
ポリシー
どのグループがどのコンパートメントで何が出来るかを設定するものです。
#ポリシーの入力例
Allow group <グループ名> to manage all-resouces in compartment <コンパートメント名>
アイデンティティドメイン
アイデンティティドメインとは、ユーザーとロールの管理、ユーザーのフェデレートとプロビジョニング、Oracle Single Sign-On (SSO)構成を使用したセキュアなアプリケーション統合、およびOAuth管理を行うためのコンテナのことである。
ID管理・認証管理を行う役割があります。
5つの課金タイプがあり、用途によってユーザーによってタイプを変更します。
OCID
全てのOCIリソースに割り当てられる一意のIDのことです。
以下の構文で使用されます。
ocid1.<RESOURCE TYPE>.<REALM>.<REGION>.<FUTURE USE>.<UNIQUE ID>
- RESOURCE TYPE・・・インスタンス、ボリュームなどのリソースタイプ
- REALM・・・リソースが存在するレルム
- REGION・・・リソースが存在するリージョン
- FUTURE USE・・・将来使用するために予約されているスペースであり、現在は空白になっている
- UNIQUE ID・・・IDの一意の部分
3.コンピュート
OCIでは、仮想マシンやベアメタル・サーバーを利用することができるコンピュートサービスが利用できます。
コンピュートサービスにはVMインスタンスとベアメタルインスタンスの2種類のインスタンスタイプがあります。
用途に応じてインスタンスタイプを選択します。
VMインスタンス
仮想マシンインスタンスのことです。
必要なリソースのサイズ(シェイプ)を選択してCPUとメモリを決めます。
シェイプごとにCPUとメモリは決められているが、フレキシブル・シェイプを選択することで個別にCPUとメモリを設定することができます。
以下のようなケースの際に使用されます。
- 汎用的な用途業務(アプリケーションのWebサーバーなど)
- 開発用途(アプリケーションの開発)
- CPU/メモリのカスタマイズ(メモリが多く必要なソフトウェア)
- IO性能重視(データベースサーバー、書き込み性能重視のアプリケーション)
ベアメタルインスタンス
大量のCPUや大容量メモリが必要なアプリケーションに対応できる物理インスタンスのことです。
VMインスタンスと比べて使用料金が高くなります。
以下のようなケースの際に使用されます。
- CPU性能/クラスタ間性能重視(ハイパフォーマンスコンピューティング)
- GPU利用(解析・機械学習・分析)
4.ストレージ
まず、ストレージの性能を評価するために確認すべき項目は以下の通りである。
- IOPS(Input Output per Second)・・・1秒間にどれだけの数のデータの書き込み/読み込みが可能かを示す値
- スループット・・・1秒間にどれだけのデータ量の書き込み/読み込みが可能かを示す値
- レイテンシ・・・1回ごとのデータの書き込み/読み込みにかかる遅延時間を表す値
この章ではOCIのストレージに関する4つのサービスについて書き記します。
- ローカルNVMe
- ブロックボリューム
- ファイルストレージ
- オブジェクトストレージ
ローカルNVMe
ローカルNVMeとは、コンピュートにローカル接続された超高速ストレージである。
下記で説明するストレージと違ってインスタンスに直接接続されているため、高い性能を発揮できます。
費用は各コンピュート・インスタンスの利用費用に含まれます。
主に以下の用途で利用されます。
- 流体力学のシミュレーションなどの膨大な計算を高速に処理する場合
- HPC
ブロックボリューム
ブロックボリュームとは、コンピュートにリモート・アタッチされる耐久性の高い永続高速ストレージである。
1つの可用性ドメイン内にて、データの複数のコピーが複数のストレージサーバーに冗長に保存されます。
必要に応じてボリュームの作成・アタッチ・接続および移動・ボリュームパフォーマンスの変更を行うことができます。
ボリュームをインスタンスにアタッチおよび接続した後は、そのボリュームを通常のハード・ドライブのように使用でき、データを失うことなくボリュームを切断して別のインスタンスにアタッチすることもできます。
主に以下の用途で利用されます。
- ソフトウェアやアプリケーションのインストール先
- データベース
ファイルストレージ
ファイルストレージとは、拡張性・可用性に優れたネットワークファイルシステム(NFS)である。
仮想クラウドネットワーク(VCN)のベアメタル、仮想マシンまたはコンテナインスタンスからファイルストレージサービスのファイルシステムに接続し、サーバー上のストレージ領域をローカルストレージと同様にマウントして使用します。
主に以下の用途で利用されます。
- 複数のインスタンスで共有するデータの格納先
- Dockerコンテナ
- 並列分散処理
オブジェクトストレージ
大容量データの保存に適した高耐久・低価格のストレージである。
分析データ、およびイメージやビデオなどを含む、あらゆるコンテンツ・タイプの非構造化データを無制限に格納できます。
主に以下の用途で利用されます。
- バックアップ
- アーカイブ
- コンテンツ管理
- ストリーミング
5.ネットワーク
この章ではOCIのネットワークに関する3つのサービスについて書き記します。
- VCN(仮想プライベートネットワーク)
- FLB(フレキシブルロードバランサ)
- NLB(フレキシブルネットワークロードバランサ)
VCN
VCN(Virtual Cloud Network)とは、OCI内に作成するプライベートネットワークである。
ユーザーが自由にカスタマイズ可能であり、オンプレミスのネットワークで実装していた構成をSDN(ソフトウェア定義ネットワーク)として実現することができます。
定義する内容として以下のものがあります。
- サブネット
- IPアドレス
- ルーティングテーブル
- ゲートウェイ
- ACL(セキュリティリスト)
FLB
FLB(Flexible Load Balancer)とは、外部からの通信(トラフィック)を複数のサーバーに分散するサービスである。
トラフィックを複数のサーバーに分散させることで、1台のサーバーに負荷が集中することを防止しています。

また、バックエンドサーバーの監視を行い、正常に稼働していないサーバーを感知した場合、そのサーバーに対するトラフィック転送を停止させる役割も担っています。
NLB
NLB(Flexible Network Load Balancer)もトラフィックをサーバーに送信するサービスであるが、FLBとは違ってレイヤー7(アプリケーション層)でのバランシング機能が無いという特徴があります。
Cookieによるセッション永続性やHTTPヘッダーによる送信先の振り分けを行う機能がついていないのである。
※セッション永続性・・・
Webアプリケーションのセッションを維持するため、同一のクライアントからのリクエストを同一のサーバーに振り分ける機能
しかし、その分リクエストをFLBより速く処理することができる点や、無償サービスとしてリリースされているという点でFLBよりも優れています。
6.終わりに
ここまでOCIの基本的な要素についてまとめてきましたが、まだまだ基本的な内容しかまとめられませんでした。インスタンス、ストレージ、ネットワークの詳細な説明は個別の記事を作成して行おうと思います。