2021-04-07

【Oracle Cloud】プライベート・サブネット上のインスタンスのモニタリングを有効化する

TL;DR

  • プライベート・サブネット上のインスタンスのモニタリング(メトリック)を有効化するには、プライベート・サブネットにサービス・ゲートウェイを割り当てる必要があります。
  • サービス・ゲートウェイとは、プライベート・サブネットからリージョン内のOracleサービスへアクセスするためのゲートウェイのことです。 network

引用: Oracleサービスへのアクセス: サービス・ゲートウェイ

※なお、パブリック・サブネットにはデフォルトでインターネット・ゲートウェイが割り当てられている為、モニタリングは初期状態から有効となっています。

初期状態のプライベート・サブネット上のインスタンスのメトリック

プライベート・サブネットからOracleサービスに対してモニタリング情報を送信できないため、メトリックが表示されません。 initial metric


以下で手順を説明します。

サービス・ゲートウェイを作成する

Virtual Cloud Network から Service Gateways を選択し、新規作成をクリックします。 create service gateway サービス・ゲートウェイの名前を入力し、Servicesで「All NRT Services In Oracle Services Network」を選択・保存します。 save service gateway

プライベート・サブネットへサービス・ゲートウェイを割り当てる

Virtual Cloud Network から Route Tables を選択し、プライベート・サブネットのルート・ルール(e.g. Route Table for Private Subnet XXX)設定画面を開きます。

Add Route Rules をクリックします。 create route rule

Target Type に「Service Gateway」、Destination Service に「All NRT Services In Oracle Services Network」を選び、Target Service Gateway in {Compartment} に先ほどで作成したサービス・ゲートウェイを選択し、保存します。

save route rule

これでプライベート・サブネットに対してサービス・ゲートウェイが割り当てられました。

メトリックを確認

サービス・ゲートウェイを割り当て後、モニタリングが有効化され、メトリックが表示されることを確認します。

Compute Instance Monitoring が ● Running となっていればOKです。 oci cloud agent

メトリクスが表示されました。 active metrics

サービス・ゲートウェイを割り当ててもモニタリングが正常に動作しない場合

  • インスタンスの Oracle Cloud Agent タブ(上記画像参照)で、Stop Plugins をクリックし一度停止させ、再起動してみる
  • それでもモニタリング(Oracle Cloud Agent)が正常に動作せず、タブの Message にエラーが表示される場合は、Oracle Cloud Agent を再インストールすると治るかもしれません。
    • 過去に有効化しようとしたところ、 user agent cannot be blank というメッセージが表示され続けたことがありました。ログを追ったところ Agent からの HTTP リクエスト送信でコケているようでしたが、いじりようがなかったので再インストールしたところ正常に動作しました。
    • Ubuntu イメージの場合、 Oracle Cloud Agent の再インストールは下記コマンドで行えます。(NATゲートウェイなどを割り当ててインターネットアクセスができる前提です)
    sudo snap remove oracle-cloud-agent
    sudo snap install oracle-cloud-agent --classic
    

以上です。