Oracle Cloud Infrastructure Architect Associate 勉強メモ（コンピュート)

# コンピュートの選択肢
CPU、メモリ、ストレージから成り立つ。
これらを組み合わせたいくつかのテンプレ（**シェイプ**）から選ぶことができる。
### シェイプ
- Fixedシェイプ
コンピュート作成後、サイズ変更不可。
ベアメタルやVM（バーチャルマシン)両方対応。
- Flexibleシェイプ
コンピュート作成後、サイズ変更可能。
OCPU（CPUの数）などを変更できる。VMのみ。

この２つとは別に**GPUのシェイプ**も選択できる。（ハードウェア・アクセラレーション・ワークロード用

### 提供パターン
- BM（ベアメタル）
物理的なハードウェアをそのまま提供。（１つのサーバーを占有）
ハードウェアに直接アクセスが必要な場合に使用。
性能が必要（多く使う場合）、仮想化できない（仮想環境では動かない）ワークロード、特殊なHypervisor（コンピュータを仮想化するためのソフトウェア）が必要な場合、ライセンスの問題など。
- VM（バーチャルマシン：仮想マシン）
マルチテナントモデル（BMを複数の顧客で共有）。ベアメタルサーバー上にHyperviserを載せ、その上にVMを構築。
- DVH（専用ホスト）
BMを占有し、その中にVMを構築。

VMとベアメタルのインスタンスは同じハードウェア（BM）上で動作するので、APIなど共通して使える。
GPUハードウェアを含んだコンピュート環境も提供できる（機械学習やAI、HPC（ハイ・パフォーマンス・コンピューティングなど向け）。

:::note info
シェイプはFixedとFlexibleの二種類。これらとは別にGPUのシェイプも選択可能。
パターンはBMとVMとDVH。
:::

# コンピュート・イメージのオプション
コンピュートインスタンスは**インスタンス・イメージ**というものを用いて作成される。
起動ディスク（ブート・ボリューム）のテンプレのようなもの。OSやそれに付随するソフトウェアが含まれる。
- Oracle提供イメージ
Windous、Linux
- カスタム・イメージ
Oracle提供イメージで作ったインスタンスからカスタムしてイメージを作る。
上限300Gb。Windowsのカスタムイメージの場合はテナントの外にエクスポートしたり、ダウンロードすることができない。
- マーケットプレース
アプリケーションなどがあらかじめ含まれたイメージ。Oracleやサードパーティが提供している。
- 独自イメージ
自分で作ったイメージを持ち込む。
オンプレミスからOCIに移行する場合など。

:::note info
イメージとはブートボリュームとアプリケーションが含まれたもの。
Oracleが提供するもの、Oracle提供イメージをもとにカスタムするカスタムイメージ、独自のアプリケーションなどが含まれるマーケットプレース、自分で作成したイメージを持ち込む独自イメージがある。
:::

# インスタンス構成　インスタンスプール　自動スケーリング
### インスタンス構成とプール
コンピュートインスタンスの起動に必要な構成情報を定義。
- インスタンス構成
インスタンスから作られる構成情報
OSイメージ、メタデータ、シェイプ、VNics、ストレージ、サブネットなど。インスタンスにインストールされているアプリケーションやファイルは含まない。
自動スケーリング時のテンプレとなる。
- インスタンス・プール
複数のインスタンスをグループとして管理する機能。この中にあるインスタンスを一括で開始・停止・終了が可能。
インスタンス構成をもとに複数のインスタンスを立ち上げたり、スケーリングを行う。
**同じマシンタイプ（VM同士など）かつ同じフォルトドメインに存在する必要あり。**
:::note info
インスタンス構成をまとめたものがインスタンスプール
インスタンスプールでまとめられるのは同じフォルトドメインにありつつ同じマシンタイプのもの。
:::

### 自動スケーリング
自動スケーリングには２種類ある。
- メトリックベース
CPU使用率、メモリ使用率、使用料などに応じてスケーリング。ポリシーを設定する。
- スケジュールベース
スケジュールを設定しスケーリング

**１つのインスタンス・プールに対して１つの自動スケーリング**
**メトリックベースとスケジュールベースを混在させることはできない。**
メトリックベース・スケジュールベースそれぞれに**複数のポリシー**は設定できる。
#### 自動スケーリングの構成
1. インスタンスからインスタンス構成を作成。
1. インスタンス構成を使用しインスタンスプールを作成し設定。
1. 自動スケーリング構成（設定）を作成。

:::note info
自動スケーリングはメトリックベースのものとスケジュールベースのものがある。
自動スケーリングにはポリシーを設定可能
インスタンスプールごとに設定し、１つのインスタンスプールに１つの自動スケーリング。
メトリックとスケジュールを混在させることはできない。
:::

# Oracle Cloud エージェント
コンピュートインスタンス上で動くプラグイン（要塞やOSMSエージェントなど）を管理する軽量なプロセス。
プラグインを使用するためにはOracle Cloud エージェントのソフトウェアをインストールする必要がある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3491422/511240ca-2f72-e408-93fe-9ba7d3604dc5.png)

:::note info
Oracle Cloud エージェントとはOSMSなどのプラグインを管理するもの。
:::


# OCIでのOS管理
### OS管理サービス（OSMS)

- 安全性・信頼性の向上
セキュリティとバグフィックス
CVE（共通脆弱性識別子）の検索
- 複雑性の低減
簡素化されたパッケージ管理
フリートマネジメント（データベースのパフォーマンス管理を簡単に行えるツール）
- 時間短縮・コスト軽減
パッチ管理・アップデートの自動化

:::note info
パッケージ管理の簡素化
パッチやアップデートの自動適用
OSの監視
:::
# プリエンプティブル・インスタンス
インスタンスの種類の１つ。
OCI上にキャパシティの余裕がある場合に比較的安価な価格で活用できる。他でキャパシティが必要になった場合はインスタンスが終了するので、短時間で終わるワークロードや途中で終了しても大丈夫なワークロードなどに活用可能。

:::note info
安価に利用できるが、途中で終了する可能性のあるインスタンス
:::
# バースト可能インスタンス
通常はCPU使用率が低いが、時折スパイク（トラフィックが急激に上昇する現象）が発生するようなワークロードのコストを最適化するためのインスタンス。シェイプがVM.Standard.E3.Flexの場合に使用可能。
例：マイクロサービス、開発・テスト環境、CI/CD、モニタリング、静的ウェブサイトなど
バースト可能なインスタンスを作成する際には、**OCPUの合計数(またはCPUコア)** と**ベースラインCPU使用率**を指定します。ベースライン使用率は、各CPUコアの一部(**12.5%または50%**)。
**ベースラインOCPUに従って課金**
**過去24時間におけるインスタンスの平均CPU使用率がベースラインを下回る場合、システムはベースラインを上回るバーストを許可**

:::note info
スパイクが発生するワークロード用。一度バーストしたら24時間バースト不可。
ベースラインをCPUの12.5%or50%に設定する。
:::
# 容量予約
コンピュートインスタンスを作成する前に、可用性ドメインごとに必要となる容量を予約することができる。
いざというときに確実にインスタンスを生成できる。
未使用の予約済容量は、使用済の予約済容量とは異なる方法で計測される。
**いつでも作成、変更および終了が可能。**
**容量予約には最大50の容量構成を設定可能。**

### サポートと制限
- 特定の可用性ドメインに関連付けられた予約（可用性ドメインごとに予約）
- 専用ホストには適用不可
- 予約された容量からインスタンスを作成する場合、予約した容量の中からシェイプを選択
- 別の可用性ドメインに予約を変更することはできない。
- 予約した時点で容量が足りなかった場合、足りない分は予約できない。

:::note info
インスタンス作成前に可用性ドメインを予約できる。
:::

# 実行コマンド
Oracle Cloud agent　の管理するプラグインの１つ。インスタンス内でスクリプトを実行し、インスタンスをリモートで構成、管理、トラブルシューティング可能。
- Linux・Windows 両方で使用可能。スクリプトはデフォルトで**Bashシェルで実行。**
- SSH不要
- オブジェクトストレージと連携可能
- Ubatu以外のプラットフォームイメージで動作。
- プレーン・テキストでインスタンスに直接アップロードするスクリプト・ファイルの最大サイズは**4KB**
- プレーン・テキストとして返されるスクリプトの出力は、***最後の1KB**


# 参考資料
https://speakerdeck.com/oracle4engineer/ociji-shu-zi-liao-osguan-li-sabisuxiang-xi?slide=1