お問い合わせ
お問い合わせ
TOPICS
更新情報
ホーム > ブログ > Oracle Cloud > 【Oracle Cloud】検索機能で簡単にリソースを探そう

【Oracle Cloud】検索機能で簡単にリソースを探そう

ブログ
2023.05.01

検索機能で簡単にリソースを探そう

OCIに限らないですが、リソースを探し出すのって結構大変ですよね。

サービスや機能が増えるにつれて、画面構成はしょっちゅう変わりますし、ページの階層は深くなっていきます。たどり着いた先のページでは、忘れずにコンパートメントも切り替えなければいけません。

OCIの検索機能を使用することでより、簡単に、早く、目的のリソースやサービスにたどり着くことができます。本記事では、OCIの検索機能から以下の3つの検索方法についてご紹介します。

  • フリーテキスト検索
  • 拡張問い合わせ
  • CLIからの拡張問い合わせ

検索機能の概要

OCIコンソールの上の部分に検索窓があります。ここにキーワードを入れることで、リソースやサービス、ドキュメントなどについて検索できるようになっています。

サービスやリソースなどの検索窓
検索窓

利用時の注意点としては、大きく以下の通りです。

  • 検索範囲は検索を行ったリージョンのみ
  • 作成したばかりのリソースについては即時には反映されない
  • 一部ヒットしないリソースが存在する

検索に対応するリソースはOCIドキュメントに追加されるらしいので、意図と違う検索結果となった場合は一度確認することをお勧めします。

確認した範囲では、BaseDBのスタンドアロンバックアップなどは2023年3月時点ではヒットしませんでした。おそらく削除を忘れるリソース1位がスタンドアロンバックアップなので(私調べ)これは目視で確認した方が良さそうです。

フリーテキスト検索

構築時や運用時問わず、一番使う検索なので、使用している人も多いと思います。
リソース名がわかっている場合や、特定のサービスのページを開きたい場合はここから遷移すると、ダイレクトに目的のページにアクセスできます。

検索結果1
「アナリティクス」をキーワードに検索

「すべてを表示」をクリックすることで、検索結果全体をチェックすることも可能です。

検索結果2
「すべてを表示」で検索結果を全て表示する

日本語表示の場合、検索結果に表示されるドキュメントについては、文字化けするのであまり使えません。

拡張問い合わせ

フリーテキスト検索が、キーワードの指定による検索であるのに対して、拡張問い合わせは特定の条件をクエリで指定するタイプの検索です。条件に該当するリソースの一覧が表示されます。

フリーテキスト検索の画面下部にある「拡張リソース問合せ」から遷移できます。

拡張検索1
「拡張リソース問合せ」を選択

拡張検索2
拡張リソース問合せ画面

クエリとなると若干ハードルが高く聞こえますが、いくつか定義済みのクエリがあり、それを選ぶだけで利用することができます。

サンプル1
定義済みのクエリ「サンプル問合せ」

「すべてのものの問い合わせ」を選択すると以下のようにクエリが入力されます。

サンプル2
「すべてのものの問合せ」のクエリ

「検索」を選択するとそのまま画面の下部に検索結果が表示されます。

サンプル3
リソース検索結果

クエリ作成、クエリ実行、クエリの結果表示がページの遷移なく1画面で完結するところや、結果に対して、フィルタをかけて絞り込みが行える点が使いやすい点です。

クエリもシンプルな作りとなっていますので、いくつか紹介します。
より詳しいクエリ構文についてはOCIドキュメントをご覧ください。

  • 実行中のインスタンスの問い合わせ
query
  instance resources
    where lifeCycleState = 'RUNNING'

  • コンパートメント内のすべてリソースの問い合わせ
query
  all resources
    where compartmentId = 'compartmentOcid'

  • Always Freeの全てのリソースの問い合わせ
query
  all resources
    where
      systemTags.namespace = 'orcl-cloud' &&
      systemTags.key = 'free-tier-retained' &&
      systemTags.value = 'true'

残念ながら、検索結果をファイルでダウンロードする機能はありませんので、テキストが欲しい場合はCLIを使用することになります。

CLIからの拡張問い合わせ

リソースを探すだけなら、OCIコンソールからのフリーテキスト検索や拡張問い合わせがあれば十分ですが、「return句」というOCIコンソール上では使用できない構文が便利なのでCLIについてもご紹介します。

return句についてはOCIドキュメントで下記のように記載されています。

SDKやCLIのユーザーにとって、return句は、クエリによって返された検索結果に含まれる拡張リソース属性を指定するものです。return句を使用すると、検索結果に特定のリソース属性またはすべてのリソース属性を強制的に返すことができ、各リソースの詳細情報を取得することができます。

インスタンスに対してreturn句を使用した問合せを行うと、IPアドレスの情報も取得できます。
ちなみにIPアドレスはインスタンス用のCLIコマンド(oci compute instance getやlist)では取得できません。

CLIからの拡張問い合わせで出力される要素と値についてまとめました。コマンドやJSON出力は本記事の末尾に記載しましたので、実際に使ってみたい方はご覧ください。

  • CLI 拡張問い合わせ(return句なし)

要素
availability-domain ztar:AP-TOKYO-1-AD-1
compartment-id ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq
defined-tags {}
display-name search
freeform-tags {}
identifier ocid1.instance.oc1.ap-tokyo-1.anxhiljr7swuj4ycqc3oelhc2rynnq3rmqtjv6gcwfpueb3jsal4pms7iz2a
identity-context {}
lifecycle-state STOPPED
resource-type Instance
search-context null
system-tags {}
time-created 2023-04-26T03:22:04.559000+00:00

  • CLI 拡張問い合わせ(return句あり)

additional-detailsというフィールドが追加され以下の内容をさらに取得することができる。

要素
attachedVnics[].compartmentId ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq
attachedVnics[].isPrimary true
attachedVnics[].privateIp 192.168.1.7
attachedVnics[].publicIp X.X.X.X (伏字)
dedicatedVmHostId null
imageId ocid1.image.oc1.ap-tokyo-1.aaaaaaaa4xrnwfsr5t2f3ttvyaezi4bdfbsxprwcmtrkspyhbe6kijkonqsq
region ap-tokyo-1
shape VM.Standard.E4.Flex
timeMaintenanceRebootDue null

まとめ

OCIの検索機能を使用すると簡単にリソースを探すことができます。
さらにCLIから使用することで、サーバ一覧やリソース一覧を作りたいときにちょうどいい感じの情報を簡単に得ることができるので、オススメです。

参考

Webサイト

検索の概要

検索言語の構文

OCI CLI structured-search

拡張問い合わせ(return句なし)実行例

$oci search resource structured-search --query-text 'query instance resources where compartmentId = "ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq" '
{
  "data": {
    "items": [
      {
        "additional-details": {},
        "availability-domain": "ztar:AP-TOKYO-1-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq",
        "defined-tags": {},
        "display-name": "search",
        "freeform-tags": {},
        "identifier": "ocid1.instance.oc1.ap-tokyo-1.anxhiljr7swuj4ycqc3oelhc2rynnq3rmqtjv6gcwfpueb3jsal4pms7iz2a",
        "identity-context": {},
        "lifecycle-state": "STOPPED",
        "resource-type": "Instance",
        "search-context": null,
        "system-tags": {},
        "time-created": "2023-04-26T03:22:04.559000+00:00"
      }
    ]
  }
}

CLI拡張問い合わせ(return句あり)実行例

$ oci search resource structured-search --query-text 'query instance resources return allAdditionalFields where compartmentId = "ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq" '
{
  "data": {
    "items": [
      {
        "additional-details": {
          "attachedVnics": [
            {
              "compartmentId": "ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq",
              "isPrimary": true,
              "privateIp": "192.168.1.7",
              "publicIp": " X.X.X.X"
            }
          ],
          "dedicatedVmHostId": null,
          "imageId": "ocid1.image.oc1.ap-tokyo-1.aaaaaaaa4xrnwfsr5t2f3ttvyaezi4bdfbsxprwcmtrkspyhbe6kijkonqsq",
          "region": "ap-tokyo-1",
          "shape": "VM.Standard.E4.Flex",
          "timeMaintenanceRebootDue": null
        },
        "availability-domain": "ztar:AP-TOKYO-1-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaaxvxfpb4juxnvimngkckmiomr5fxlgju7yggl2phyci6qp247dzpq",
        "defined-tags": {},
        "display-name": "search",
        "freeform-tags": {},
        "identifier": "ocid1.instance.oc1.ap-tokyo-1.anxhiljr7swuj4ycqc3oelhc2rynnq3rmqtjv6gcwfpueb3jsal4pms7iz2a",
        "identity-context": {},
        "lifecycle-state": "STOPPED",
        "resource-type": "Instance",
        "search-context": null,
        "system-tags": {},
        "time-created": "2023-04-26T03:22:04.559000+00:00"
      }
    ]
  }
}

この記事が気に入ったら
「いいね!」

この記事を書いた人


関連コンテンツ

CONTACT お問い合わせ

Cloudiiのサービスやプロダクトについて
興味をお持ちの方は、
お気軽にお問い合わせください。