
目次
はじめに
こんにちは!クラウド事業部の中根です。
Terraformでインスタンスを作成しようとしたのですが、イメージのOCIDがどこにあるのかわからず、探すのに地味に時間がかかりました。
本記事では、イメージのOCIDを探す方法をご紹介します!
OCIが提供するプラットフォーム・イメージの場合
①ブラウザから探す
こちらにアクセスします。
左に一覧があるので、目的のイメージを探して選択します。

アーキテクチャなどに注意しながら、目的のイメージを選択します。
リリース順になっているようです。

遷移先で下スクロールしていくと、各リージョン毎のOCIDが書いてあります!

②CLIで探す
基本は以下のコマンドです。
oci compute image list --compartment-id <コンパートメントのOCID>
このままだと多すぎる上に見にくいので、オプションを組み合わせて使いましょう。
私がよく使っているものをご紹介します。
見やすくする
- テーブル形式で表示
全部出すと文字折り返しで余計に見にくいので、後述のqueryも使います。
例:--output table
絞り込む
シェイプ
ARMとx86が混ざっているので、特定のシェイプに決めてなくても、アーキテクチャを絞る意味で使っておくとよいです。
例:--shape "VM.Standard.E5.Flex"OS
例:--operating-system "Oracle Linux" --operating-system-version "9"正確なOS名を知りたいときは、それっぽいのでgrepかけてます。
oci compute image list --compartment-id <コンパートメントのOCID> | grep -i oracle
使用可能なものだけ
これも基本必須です。
例:--lifecycle-state AVAILABLEクエリ
見やすくするために使っています。
例:--query "data[*].{name:\"display-name\", os:\"operating-system\", version:\"operating-system-version\", id:id}"
使用例
Oracle Linux 9のイメージのOCIDを探すとき
oci compute image list --compartment-id <コンパートメントのOCID> --lifecycle-state AVAILABLE --query "data[*].{name:\"display-name\", os:\"operating-system\", version:\"operating-system-version\", id:id}" --output table --operating-system "Oracle Linux" --operating-system-version "9"
出力例

最新リリース順にしたり、まだ改善の余地はありますが、実用上10行程度に絞れれば十分だと思います。
カスタム・イメージの場合
カスタム・イメージのOCIDを知りたくて困る方はあまりいないと思うのですが、軽くご紹介します。
ここから一覧が見れます。

参考資料
https://docs.oracle.com/ja-jp/iaas/Content/ResourceManager/Tasks/terraform-referencing-images.htm
https://docs.oracle.com/en-us/iaas/tools/oci-cli/3.71.0/oci_cli_docs/cmdref/compute/image/list.html
https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/images.htm
お知らせ
私達クラウド事業部はクラウド技術を活用したSI/SESのご支援をしております。
また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。