Oracle Cloud Infrastructure 入門のすゝめ

## はじめに
こんにちは、Datadog Japan で Sales Engineer をしている [**AoTo**](https://qiita.com/AoTo0330) です。

この投稿は **[<font color="#6495ED">AoTo Advent Calendar 2023</font>](https://qiita.com/advent-calendar/2023/aoto) 14日目**の記事です。

みなさん、[**Oracle Cloud Infrastructure(OCI)**](https://www.oracle.com/cloud/) を触ったことはありますか？

OCI は後発のクラウドでありながら、その強みを活かして「[2023 Gartner®️ Magic Quadrant™️ for Strategic Cloud Platform Services](https://blogs.oracle.com/cloud-infrastructure/post/gartner-strategic-cloud-platform-services-leader)」で4つ目のリーダーとして位置づけされました。**パブリッククラウド**という言葉は、3大クラウドだけを指すものではなく、こうした後発や国産のクラウドを含めた様々な概念を包括しているものであるべきです。

こうした中で、AWS, Azure, Google Cloud だけではなく **Oracle Cloud** も知ることで、よりパブリッククラウドという概念に対する解像度を上げて、理解を深めることができるはずです☁️

:::note warn
この記事は、OCI の良さを何も関係のない一エンジニアが語っているものです。
:::


## OCI 概要
まず OCI がどのような特徴を持っていて、それぞれどのようなサービスがあるかを理解するためには、日本オラクル株式会社から公式に公開されている「[Oracle Cloud Infrastructure 技術概要](https://speakerdeck.com/oracle4engineer/oci_iaas_all_overview)」を見ることをお勧めします。

この資料は 2022/02/08 にアップロードされて以来、何度か更新され続けることで常に最新の情報を反映しながら技術概要をコンパクトに理解することができるようになっています。(現在の最新は 2023/11/16 の更新です。)

ここからはこの中で説明されている内容の一部と、個人的に欠かせないと思う重要な点についてご紹介します。

### 分離されたネットワーク仮想化
OCI を勉強し始めた当初、特に気になったポイントがこの「[分離されたネットワーク仮想化](https://www.oracle.com/jp/security/cloud-security/isolated-network-virtualization/#prevent)」でした。OCI は**ネットワークを分離して仮想化するカスタム設計**として **SmartNIC** を使用している点が特徴です。

OCI の考え方では、先発クラウドを「**第1世代クラウド**」として仮想化の方式からハイパーバイザーが侵害されることでネットワーク上のすべてのホストに脅威が発生することに対し、OCI を「**第2世代クラウド**」と位置付けてネットワークを分離して仮想化している点に触れ、**ネットワーク横断攻撃**を防止する役割を担っているとされています。

確かに、これらの利用者が意識できない観点での物理アーキテクチャと仮想化方式については、どのクラウドも後からアーキテクチャを大幅に変更することは難しく、後発ならではの強みであると考えられます。こうした OCI 全体のセキュリティ的な優位性は、エンタープライズレベルの高いセキュリティ・コンプライアンス要件を鑑みると優位に働く場合があるように思います。

### データセンター・ファシリティ
OCI はリージョンとリージョン内でそれぞれ High Availability(HA) を実現する構成要素があります。[**リージョン**と**可用性ドメイン (AD)**](https://docs.oracle.com/ja-jp/iaas/Content/General/Concepts/regions.htm) とは、AWS, Azure, Google Cloud の**リージョン**と **Availability Zone(AZ)** と同様です。

[**フォルトドメイン**](https://docs.oracle.com/ja-jp/iaas/Content/General/Concepts/regions.htm#fault)は [Azure における**可用性セット**](https://learn.microsoft.com/ja-jp/azure/virtual-machines/availability-set-overview)の仕組みと似ており、障害ドメインと更新ドメインのように区別はないものの、障害ドメインのように AD 内のハードウェアやインフラのセットとして定義されます。

こうした一連の HA 構成要素のため、他クラウドに劣らずクラウドの耐障害性のメリットを利用者に与えることができます。

### サービス群
Oracle Cloud は PaaS/IaaS のサービス群を指す [**Oracle Cloud Infrastructure**](https://www.oracle.com/jp/cloud/) の他に SaaS を提供する [**Oracle Cloud Applications**](https://www.oracle.com/jp/applications/) やデータセンターサービスを指す **Global Cloud Data Center Infrastructure** に分けられます。

こうした広範なサービス群を提供しながらも、OCI はさまざまな分野における**100以上の共通サービス**を提供しており、コンテナや VMware から AI まで、IT の移行、最新化、構築、拡張に必要なサービスを提供しています。さらに Oracle の特徴としては、ベアメタルインスタンスやローカル NVMe ボリュームなど、物理インフラストラクチャをクラウドサービスとして幅広く提供しているのも大きな特徴と言えます。

これに加えて、[**Oracle Autonomous Linux**](https://www.oracle.com/jp/linux/autonomous-linux/) や [**Database Management Cloud**](https://www.oracle.com/jp/manageability/database-management/) に分類される高パフォーマンスなデータベース群を提供しており、Oracle ならではの恩恵を受けられるサービスが多くあるのも魅力です。

### Microsoft との接続
Oracle と Microsoft は2023年9月14日に[パートナーシップの拡大](https://www.oracle.com/jp/news/announcement/oracle-database-at-azure-2023-09-14/)を発表しました。

![OracleAzure.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2363567/b56b1c06-a0ce-65c6-af65-d306c330e739.jpeg)

具体的には Oracle Cloud の強みであったハイパフォーマンスな Oracle Database ソリューションを Azure 上で利用できる [**Oracle Database@Azure**](https://www.oracle.com/cloud/azure/oracle-database-at-azure/) をはじめとし、[**Oracle Cloud Service for Azure**](https://www.oracle.com/jp/cloud/azure/oracle-database-for-azure/) のサポート範囲を拡大し、Azure サービスとともに**Oracle Exadata Database Service**, **Oracle Autonomous Database** そして **Oracle Real Application Clusters（RAC）** がサポートされるようになりました。

これにより、従来の Oracle を利用していた Azure ユーザーにとって高コスト効率で高信頼性・パフォーマンスを発揮できる Oracle Database サービスが提供され、より顧客の選択肢が広がったように思います。

### コストメリット
OCI が選択される大きな理由として、転送料の安さについて言及されることも多いです。ここでは詳細な比較には言及しませんが、データの Egress 料金は特に差別化のポイントとして語られることが多く、10TB までの無料分が大きなポイントとして影響されます。

さらに、プライベート接続である　FastConnect は固定月額料での支払いが可能なため、契約に対しての使用料に依存することなく高コスト効率・低リスクでの契約が可能です。

[OCI のブログ](https://blogs.oracle.com/cloud-infrastructure/post/oci-offers-services-for-less) や[通信](https://blogs.oracle.com/oracle4engineer/post/ja-oci-simple-pricing-benefits-your-budget)を見ると、自信を持って他のクライドよりも安価で提供できることとその理由について説明しています。

### コンパートメント
さらに、OCI 特有の概念として[**コンパートメント**](https://docs.oracle.com/ja-jp/iaas/Content/Identity/Tasks/managingcompartments.htm)が挙げられます。コンパートメントはリソースの管理概念として利用されるもので、リソースのグループ管理と権限の付与を行うことができます。

このコンパートメントはリージョンを跨ぐグローバルリソースでありながら、同一環境で複数のコンパートメントを用いてシステムの分割を論理的に行うことができます。例えばリソースの管理範囲の分割から、権限の分割を行い、コスト管理でも同様にコンパートメントで分類した内容で管理が可能です。

さらに、このコンパートメントは AWS Organizations や Google Cloud の 組織リソースと同様に階層構造(入れ子)にすることができるため、組織権限の設定と管理の分割を同時に行うことができます。

## 入門のすゝめ
ここまで様々な特徴を簡単に説明しましたが、ここからはどのように OCI を身につけていけば良いか、学習方法についてまとめます。学習方法で考えられるのは公式のコンテンツと書籍などのコンテンツです。

### 公式コンテンツ
Oracle は様々な技術学習のための公式プラットフォームとして、[**Oracle University**](https://mylearn.oracle.com/ou/home) を提供しています。このプラットフォームでは主に動画でのオンデマンドの教材が用意されており、[OCI 認定資格](https://education.oracle.com/oracle-oci-certification#oracle-cloud-infrastructure)毎のラーニングパスやコンテンツが拡充されています。主に、これらの内容に沿って一通り学習することで、ある程度 OCI のサービスについて学ぶことができます。

最初におすすめのコンテンツとして、「[Oracle Cloud Overview](https://mylearn.oracle.com/ou/learning-path/oracle-cloud-overview/115954)」ラーニングパスと「[Become An OCI Foundations Associate (2023)](https://mylearn.oracle.com/ou/learning-path/become-an-oci-foundations-associate-2023/122043)」ラーニングパスが挙げられます。

さらに、Foundations Associate 系である、「OCI Foundations Associate」と「OCI AI Foundations Associate」、「Oracle Cloud Data Management Foundations Associate」は常に無償で受験が可能です。[^1]
[^1]:OCI AI Foundations Associate は2024年1月から提供開始予定です。

さらに、Oracle は年に数回無償で OCI 認定資格を受験できる機会を**すべてのユーザー**に提供しており、現在は「[**Race to Certification**](https://www.oracle.com/jp/news/announcement/oracle-japan-offers-free-certification-program-2023-10-31/)」が <INS>2023/11/1 ~ 2024/1/31</INS> の期間に開催されています。これによって対象の認定資格を2回無償で受験するバウチャーが取得できます！

### OCI Cloud Free Tier
OCI にも無償枠があり、個人で検証や利用をする際にこれはかなり大きなアドバンテージとなります。[**OCI Cloud Free Tier**](https://www.oracle.com/jp/cloud/free/)は **Always Free クラウドサービス**と**30日間の無料トライアル**が用意されています。

**Always Free クラウドサービス**は、<INS>期間の制限なく使用できる</INS>サービスで、[対象となるサービスとリソース量](https://www.oracle.com/jp/cloud/free/#always-free)はかなり多く、検証で様々な機能を利用するには十分な内容が含まれています。

さらに、個人利用であれば常時サービスを Compute VM にホストすることも可能で、コンテンツの保存として **200GB の Block Volumes ストレージ**と**合計 30GB のオブジェクトストレージ**があり、Autonomous Database を含むデータベースまで活用することができます。

**30日間の無料トライアル**は30日間 $300 のクレジットと、Always Free よりも広範囲で大容量のリソースを無償で利用できるトライアル期間となります。このトライアルクレジット及び期間が終了すると通知が届いた後、30日間の猶予期間ののちにアカウントが有償化されます。この際にアカウントをアップグレードせずに Always Free に収まらないリソースやデータを利用している場合、自動的にこれらのリソースは削除されます。

### 書籍
比較的新しい入門本として『[**Oracle Cloud Infrastructure徹底入門**](https://amzn.asia/d/6OpAh1l)』が発売されています。この本の著者は日本オラクルの中の方々で構成されており、公式の徹底入門本としてかなり質の高い内容が詰め込まれています。[^2]
[^2]: この本の発売は 2021/7/21 です。

実際にハンズオンで OCI を試すことができるので、上記の30日間の無料トライアルに合わせてハンズオンを行い理解を深めることができます。特にコンパートメントの概念の理解や、インスタンスの立ち上がり時間を実際に把握するためには、コンソールで触ってみる経験が重要になってくるはずです。

『[**Oracle Cloud Infrastructure エンタープライズ構築実践ガイド**](https://amzn.asia/d/cC5eVAq)』も同年の初めに発売されており、Oracle ACE に認定されている著者がわかりやすくまとめた内容をハンズオンとともに学習できます。[^3]
[^3]: この本の発売は 2021/1/5 です。

## おわりに
OCI に興味があるけど何から始めれば良いかわからないという方向けに、OCI の特徴や学習方法について簡単にまとめてみました。

私も実際に書籍を購入してハンズオンをしたり、認定資格の無償期間中に5つほど資格を取得したりと、様々なコンテンツを駆使して OCI に入門してきました。

OCI 認定資格は頻繁に無償キャンペーンをやっているので、学習したいと思い始めた際にキャンペーンが開催されているかを確認してみてはいかがでしょうか☁️