APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【OCI】インスタンスのイメージのOCIDを探す方法

目次

はじめに

こんにちは!クラウド事業部の中根です。

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のご支援をしております。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp