ログと指標

ロギング

Cloud NAT ロギングを使用すると、NAT 接続とエラーをログに記録できます。Cloud NAT ロギングを有効にすると、次のシナリオごとに 1 つのログエントリを生成できます。

  • NAT を使用するネットワーク接続が作成された。
  • NAT に使用可能なポートがないことが原因でパケットが破棄された。

両方の種類のイベントをログに記録するか、一方の種類のイベントのみをログに記録するかを選択できます。

作成されたログは Cloud Logging に送信されます。

仕様

Cloud NAT ロギングには、次の仕様が適用されます。

  • Cloud NAT ロギングでは、TCP トラフィックと UDP トラフィックのみが処理されます。

  • Cloud NAT ロギングでは、廃棄された下り(外向き)の TCP パケットと UDP パケットのみがログに記録されます。廃棄された受信パケットはログに記録されません。たとえば、外向きのリクエストに対する内向きのレスポンスがなんらかの理由で廃棄された場合、エラーはログに記録されません。

各 VM インスタンスが単位時間あたりに生成できるのは、一定数のログエントリのみであり、この数は vCPUs の数に比例します。VM は vCPU あたり 1 秒間に 50~100 件のログエントリを生成できます。

  • このレートのしきい値は、ログに記録できるイベント数に影響します。一部のイベントが除外されている場合でも、それらのイベントは発生したことによって、記録できるログエントリ数にカウントされます。ログをエラーのみに制限する、またはネットワーク アドレス変換接続のみに制限することによって、表示されるログエントリの数が増加するとは限りません。たとえば、成功した接続のみをログに記録するように選択した場合、過剰な接続試行の失敗と NAT エラーが発生している期間については、接続ログエントリの成功数が制限されることに変わりありません。

  • Cloud NAT ロギングでは、すべてのパケットがログに記録されるわけではありません。VM のレートしきい値に達していなくても、一部の条件によってログからイベントが省略される場合があります。Cloud NAT ロギングでのエントリの有無に基づいて判断する必要がありますが、エントリが存在しないことは、イベントが発生しなかったことを意味するものではありません。

ロギングを構成する

Cloud NAT ロギングを構成する手順は次のとおりです。

ロギングを有効にする

ロギングが有効になっている場合、収集されたすべてのログはデフォルトで Cloud Logging に送信されます。特定のログのみが送信されるように、フィルタリングできます。

NAT ゲートウェイを作成または編集する際にもこれらの値を指定できます。以下の手順では、既存の NAT ゲートウェイのロギングを有効にする方法を示します。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. [詳細構成] をクリックします。

  5. [ロギング] セクションで、次のいずれかを選択します。

    • ロギングなし: ロギングを無効にする。
    • 変換とエラー: すべてのログを Logging に送信する。
    • 変換のみ: 接続が作成された場合にのみログを送信する。破棄されたパケットはログに記録されません。
    • エラーのみ: 使用可能なポートが存在しないためパケットが破棄された場合にログを送信する。新しい接続はログに記録されません。
  6. [保存] をクリックします。

gcloud

次のコマンドにより、既存の NAT ゲートウェイのロギングが有効にされます。

各コマンドで、次の対象を置き換えます。

  • NAT_GATEWAY: NAT ゲートウェイの名前
  • ROUTER_NAME: NAT ゲートウェイをホストする Cloud Router の名前
  • REGION: Cloud Router のリージョン

ネットワーク アドレス変換イベントとエラーをログに記録するには、次のようにします。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

ネットワーク アドレス変換イベントのみをログに記録するには、次のようにします。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

エラーのみをログに記録するには、次のようにします。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

ログフィルタをクリアする

フィルタが設定されている場合は、フィルタを解除できます。ログフィルタを解除すると、ロギングが有効になっていれば、ネットワーク アドレス変換イベントとエラーの両方がログに記録されます。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. [詳細構成] をクリックします。

  5. [ロギング] セクションで、[変換とエラー] を選択します。

  6. [保存] をクリックします。

gcloud

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

以下を置き換えます。

  • NAT_GATEWAY: NAT ゲートウェイの名前
  • ROUTER_NAME: NAT ゲートウェイをホストする Cloud Router の名前
  • REGION: Cloud Router のリージョン
  • --log-filter=ALL: すべてのログを受け入れるようにログフィルタを設定する

ロギングを無効にする

ロギングを無効にする方法は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. [詳細構成] をクリックします。

  5. [ロギング] セクションで、[ロギングなし] を選択します。

  6. [保存] をクリックします。

gcloud

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

以下を置き換えます。

  • NAT_GATEWAY: NAT ゲートウェイの名前
  • ROUTER_NAME: NAT ゲートウェイをホストする Cloud Router の名前
  • REGION: Cloud Router のリージョン

ロギングのステータスを確認する

ロギングのステータスを確認する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. [詳細構成] をクリックします。

  5. [ロギング] セクションで選択内容を確認します。

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

以下を置き換えます。

  • NAT_GATEWAY: NAT ゲートウェイの名前
  • ROUTER_NAME: NAT ゲートウェイをホストする Cloud Router の名前
  • REGION: Cloud Router のリージョン

ログを表示

NAT ログを表示する方法は次のとおりです。

コンソール

  1. Google Cloud Console で、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

    • すべての NAT ログを表示するには、[ログ名] メニューで [Cloud NAT ゲートウェイ] を選択します。
    • 1 つのリージョンのログのみを表示するには、[ログ名] メニューで [Cloud NAT ゲートウェイ] を選択し、カーソルを右にスライドしてリージョンを選択します。
    • 1 つのゲートウェイのログのみを表示するには、[ログ名] メニューで [Cloud NAT ゲートウェイ] を選択し、カーソルを右にスライドしてリージョンを選択します。再度カーソルを右にスライドして 1 つのゲートウェイを選択します。

または、クエリエディタに次の式を入力します。

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"

gcloud

gcloud logging read 'resource.type=nat_gateway' \
    --limit=10 \
    --format=json

ここで、

  • resource.type=nat_gateway: NAT ゲートウェイへの出力を制限する。
  • --limit=10: 出力を 10 件のエントリに制限する。異なる値を入力して、エントリの数を増減する、または完全に省略して連続したログを表示することもできます。
  • --format=json: JSON 形式で出力を表示する。

その他のオプションについては、ログエントリの読み取りをご覧ください。

リソースログのログベースの指標のエクスポートを構成できます。

ログの内容

Cloud NAT ログエントリには、NAT トラフィックのモニタリングとデバッグに有用な情報が含まれています。ログエントリには次のタイプの情報が含まれています。

  • 重大度、プロジェクト ID、プロジェクト番号、タイムスタンプなど、ほとんどの Google Cloud ログで表示される一般情報。
  • Cloud NAT に関する特定の情報。一部のログフィールドに含まれるエントリは、それら自体が複数のフィールドです。これらのエントリとフィールドの説明を次の表に示します。

ログのフィールド

フィールド 意味
connection オブジェクト(NatIpConnection 送信元 VM の IP アドレスとポート、NAT の送信元 IP アドレスとポート、宛先 IP アドレスとポート、この接続の IP アドレス プロトコルを記述する 7 タプル。
allocation_status enum この接続が正常に割り当てられたか破棄されたかを示します。OK または DROPPED のいずれかです。
gateway_identifiers オブジェクト(NatGateway 接続に使用された NAT ゲートウェイの構成。
endpoint オブジェクト(InstanceDetails VM インスタンスの詳細。共有 VPC 構成では、project_id はサービス プロジェクトに対応します。
vpc オブジェクト(VpcDetails Virtual Private Cloud(VPC)ネットワークの詳細。共有 VPC 構成では、project_id はホスト プロジェクトの詳細に対応します。
destination オブジェクト(DestinationDetails 接続の宛先の詳細。

NatIpConnection フィールドの形式

フィールド タイプ 説明
src_ip 文字列 送信元 IP アドレス
src_port int32 送信元ポート
nat_ip 文字列 NAT IP アドレス
nat_port int32 NAT 割り当てポート
dest_ip 文字列 宛先 IP アドレス
dest_port int32 宛先ポート
protocol int32 IANA プロトコル番号

NatGateway フィールドの形式

フィールド タイプ 説明
gateway_name 文字列 NAT ゲートウェイの名前
router_name 文字列 NAT ゲートウェイに関連付けられた Cloud Router
region 文字列 Cloud Router のリージョン

InstanceDetails フィールドの形式

フィールド タイプ 説明
project_id 文字列 VM を含むプロジェクトの ID
vm_name 文字列 VM のインスタンス名
region 文字列 VM のリージョン
zone 文字列 VM のゾーン

VpcDetails フィールドの形式

フィールド タイプ 説明
project_id 文字列 ネットワークを含むプロジェクトの ID
vpc_name 文字列 VM が動作しているネットワーク
subnetwork_name 文字列 VM が動作しているサブネット

DestinationDetails フィールドの形式

フィールド タイプ 説明
geo_location オブジェクト(GeographicDetails 接続の宛先が Google Cloud の外部にある場合、このフィールドには使用可能なロケーションのメタデータが入力されます。
instance オブジェクト(InstanceDetails 接続の宛先が送信元と同じプロジェクト内のインスタンスである場合、このフィールドには VM インスタンスの詳細が入力されます。
vpc オブジェクト(VpcDetails 接続の宛先が送信元と同じプロジェクト内にある場合、このフィールドには宛先の VPC ネットワークの詳細が入力されます。宛先がクロス プロジェクト VPC ネットワークの場合、このフィールドには空白が表示されます。

GeographicDetails フィールドの形式

フィールド タイプ 説明
continent 文字列 外部エンドポイントが存在する大陸
country 文字列 外部エンドポイントの国
region 文字列 外部エンドポイントのリージョン
city 文字列 外部エンドポイントの都市
asn 文字列 このエンドポイントが属する外部ネットワークの自律システム番号(ASN)

例 1: 共有 VPC ネットワーク内の VM インスタンスからフランスに存在する外部サーバーに向かう NAT を介した TCP 接続の記録。

{
insertId: "1the8juf6vab1t"
jsonPayload: {
       connection: {
            Src_ip: "10.0.0.1"
            Src_port: 45047
            Nat_ip: "203.0.113.17"
            Nat_port: 34889
            dest_ip : "198.51.100.142"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "OK"
       Gateway_identifiers: {
             Gateway_name: "my-nat-1"
             router_name: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Geo_location: {
                   Continent: "Europe"
                   Country: "France"
                   Region: "Nouvelle-Aquitaine"
                   City: "Bordeaux"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:08.123456789Z"
resource: {
      labels: {
            region: "europe-west1-d"
            project_id: "host-project"
            router_id: "987654321123456"
            gateway_name: "my-nat-1"
      }
      type: "nat_gateway"
}
labels: {
      nat.googleapis.com/instance_name: "vm-1"
      nat.googleapis.com/instance_zone: "europe-west1-b"
      nat.googleapis.com/nat_ip: "203.0.113.17"
      nat.googleapis.com/network_name: "network-1"
      nat.googleapis.com/router_name: "my-router-1"
      nat.googleapis.com/subnetwork_name: "subnetwork-1"
}
timestamp: "2018-06-28T10:46:00.602240572Z"
}

例 2: 使用可能なポートがないことにより廃棄されたパケットの記録。送信元の VM は、同じプロジェクト内の別の VM の外部 IP アドレスに送信しようとしていました。

{
insertId: "1the8juf6vab1l"
jsonPayload: {
       connection: {
            Src_ip: "10.0.128.1"
            Src_port: 45047
            dest_ip : "192.0.2.87"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "DROPPED"
       Gateway_identifiers: {
             Gateway_name: "my-nat-2"
             Cloud_router: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Instance: {
                   Project_id: "service-project-1"
                   Vm_name: "vm-2"
                   Region: "asia-east1"
                   Zone: "asia-east1-b"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:09.123456789Z"
resource: {
       labels: {
              region: "europe-west1-d"
              project_id: "host-project"
              router_id: "987654321123456"
              gateway_name: "my-nat-2"
       }
       type: "nat_gateway"
}
timestamp: "2018-06-28T10:46:01.602240572Z"
}

Cloud NAT ロギングの料金

ロギングの料金をご覧ください。

モニタリング

Cloud NAT は、NAT ゲートウェイの使用状況を把握できるようにする重要な指標を Cloud Monitoring に送信します。

指標は自動的に Cloud Monitoring に送信されます。カスタム ダッシュボードを作成して、アラートをセットアップし、指標をクエリできます。

必要な Identity and Access Management(IAM)のロールは次のとおりです。

  • 異なるプロジェクトで定義された VM と NAT ゲートウェイを使用する共有 VPC ユーザーの場合、VM レベルの指標にアクセスするには、各 VM のプロジェクトに対する roles/monitoring.viewer IAM ロールが必要です。

  • NAT ゲートウェイ リソースの場合、ゲートウェイの指標にアクセスするには、ゲートウェイを含むプロジェクトに対する roles/monitoring.viewer IAM ロールが必要です。

事前定義のダッシュボードを表示する

Cloud NAT には、ゲートウェイ内のアクティビティを表示する事前定義された一連のダッシュボードが用意されています。

  • オープン接続
  • NAT で処理された下りデータ(割合)
  • NAT で処理された上りデータ(割合)
  • ポートの使用状況
  • NAT 割り当てエラー
  • 破棄された送信パケット率
  • 破棄された受信パケット率

特定のゲートウェイの詳細ページで事前定義されたダッシュボードを表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. 既存のゲートウェイをクリックします。

  3. [モニタリング] タブをクリックします。

  4. 下にスクロールして、すべてのダッシュボードを表示します。ページ上部のコントロールを使用して、ビューを 1 時間から 30 日間に変更します。グラフ上のポイントにカーソルを合わせると、その特定の時間の詳細が表示されます。

カスタム ダッシュボードを定義する

VM インスタンスの指標または NAT ゲートウェイの指標を表示するカスタム ダッシュボードを作成する手順は、次のとおりです。

Console

  1. Google Cloud コンソールで [ダッシュボード] ページに移動します。

    [ダッシュボード] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. [CREATE DASHBOARD] をクリックします。
  3. 省略可: ダッシュボードのタイトルを、わかりやすいダッシュボード名に更新します。
  4. [ウィジェットを追加] をクリックして [指標] を選択します。
  5. [指標] メニューを開き、フィルタバーに「Cloud NAT Gateway」または「VM Instance」と入力し、サブメニューを使用して特定のリソースタイプと指標を選択します。
    1. [有効なリソース] メニューで、[Cloud NAT Gateway] または [VM Instance] を選択します。
    2. [有効な指標カテゴリ] メニューで、[Storage] を選択します。
    3. [有効な指標] メニューで、表示する指標を選択します。
    4. [適用] をクリックします。
  6. 時系列を結合します。
    • すべての時系列を表示するには、[集計] 要素で最初のメニューを [未集計] に設定し、2 つ目のメニューを [なし] に設定します。
    • 時系列を結合するには、[集計] 要素で、最初のメニューを使用して関数を選択し、2 つ目のメニューを使用してラベルを選択します。2 つ目のメニューが [なし] に設定されている場合、グラフには 1 つの時系列が表示されます。

      たとえば、ゾーンでグループ化した後の時系列の平均値を表示するには、最初のメニューを [平均] に、2 つ目のメニューを [ゾーン] に設定します。

    時系列の結合については、グラフ化したデータの表示方法を選択するをご覧ください。

  7. ダッシュボードに追加するウィジェットごとに、[ウィジェットを追加] をクリックして、ダイアログの項目を入力し、[適用] を選択します。

    ウィジェットを追加する詳細については、以下のページをご覧ください。

アラート ポリシーを定義する

指標ベースのアラート ポリシーを作成する手順は次のとおりです。

Console

アラート ポリシーを作成して指標の値をモニタリングすると、指標が条件に違反した場合に通知できます。

  1. Google Cloud コンソールで、[アラート] ページに移動します。

    [アラート] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. 通知チャンネルを作成せずに通知を受け取る場合は、[EDIT NOTIFICATION CHANNELS] をクリックして、通知チャンネルを追加します。チャンネルを追加したら、[アラート] ページに戻ります。
  3. [アラート] ページで、[CREATE POLICY] をクリックします。
  4. 指標を選択するには、[指標を選択] メニューを開き、次の操作を行います。
    1. メニューを関連するエントリに限定するには、フィルタバーに「Cloud NAT gateway」または「VM Instance」と入力します。メニューをフィルタしても結果が表示されない場合は、[有効なリソースと指標のみを表示] をオフに切り替えます。
    2. [Resource type] に [Cloud NAT gateway] または [VM Instance] を選択します。
    3. 指標カテゴリ指標を選択して、[適用] を選択します。
  5. [次へ] をクリックします。
  6. [Configure alert trigger] ページの設定によって、アラートがトリガーされるタイミングが決まります。条件タイプを選択し、必要に応じてしきい値を指定します。詳細については、指標しきい値のアラート ポリシーを作成するをご覧ください。
  7. [次へ] をクリックします。
  8. (省略可)アラート ポリシーに通知を追加するには、[通知チャネル] をクリックします。ダイアログで、メニューから 1 つ以上の通知チャンネルを選択し、[OK] をクリックします。
  9. (省略可)インシデントの自動クローズ期間を更新します。このフィールドは、指標データがない場合に Monitoring がインシデントを閉じるタイミングを決定します。
  10. (省略可)[Documentation] をクリックして、通知メッセージに追加する情報を入力します。
  11. [アラート名] をクリックして、アラート ポリシーの名前を入力します。
  12. [Create Policy] をクリックします。
詳細については、アラート ポリシーをご覧ください。

指標報告の頻度と保持

Cloud NAT の指標は 1 分ごとにバッチ処理され、Monitoring にエクスポートされます。モニタリング データは 6 週間保持されます。ダッシュボードでは、1H(1 時間)、6H(6 時間)、1D(1 日)、1W(1 週間)、6W(6 週間)のデフォルト間隔でデータ分析の結果を確認できます。また、6 週間から 1 分までの間隔を任意に指定して手動で分析を行うこともできます。

VM インスタンスの指標

次の表の指標タイプの文字列には、compute.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は、表中の項目では省略されています。

指標タイプリリース ステージ
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
nat/allocated_ports GA
割り当て済みのポート
GAUGEINT64{port}
gce_instance
NAT ゲートウェイによって VM に割り当てられたポートの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
nat_ip:NAT ゲートウェイに割り振られた NAT IP。
nat/closed_connections_count GA
閉じた接続数
DELTAINT64{connection}
gce_instance
NAT ゲートウェイを経由する閉じられた接続の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/dropped_received_packets_count GA
受信パケットのドロップ数
DELTAINT64{packet}
gce_instance
NAT ゲートウェイによってドロップされた受信パケット数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/dropped_sent_packets_count GA
送信パケットロス数
DELTAINT64{packet}
gce_instance
NAT ゲートウェイによってドロップされた送信パケット数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
reason: パケットが破棄された理由。有効な値は OUT_OF_RESOURCES、ENDPOINT_INDEPENDENCE_CONFLICT です。
nat/new_connections_count GA
新しい接続数
DELTAINT64{connection}
gce_instance
NAT ゲートウェイ経由で作成された新規接続の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/open_connections GA
オープン接続
GAUGEINT64{connection}
gce_instance
現在 NAT ゲートウェイで開いている接続の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/port_usage GA
ポートの使用状況
GAUGEINT64{port}
gce_instance
VM から単一の宛先エンドポイントへの最大接続数(IP: port)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/received_bytes_count GA
受信バイト数
DELTAINT64By
gce_instance
NAT ゲートウェイ経由で受信したバイト数(宛先 -> 送信元)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/received_packets_count GA
受信パケット数
DELTAINT64{packet}
gce_instance
NAT ゲートウェイ経由で受信したパケット数(宛先 -> 送信元)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/sent_bytes_count GA
送信バイト数
DELTAINT64By
gce_instance
NAT ゲートウェイ経由で送信したバイト数(送り元 -> 宛先)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/sent_packets_count GA
送信パケット数
DELTAINT64{packet}
gce_instance
NAT ゲートウェイ経由で送信したパケット数(送り元 -> 宛先)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 165 秒間表示されません。
nat_project_number:NAT ゲートウェイが属するプロジェクト番号。
router_id:NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name:NAT ゲートウェイの名前。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。

VM インスタンスのフィルタリング ディメンション

label_key タイプ 説明
project_id 文字列 VM インスタンスのプロジェクト ID。
instance_id 文字列 VM インスタンスの ID。
zone 文字列 VM インスタンスのゾーン。
nat_project_number 文字列 NAT ゲートウェイが属するプロジェクト番号。
router_id 文字列 NAT ゲートウェイが属する Cloud Router の ID。
nat_gateway_name 文字列 NAT ゲートウェイの名前。
nat_ip 文字列 NAT ゲートウェイに割り振られた NAT IP アドレス。指標 allocated_ports に対して有効です。
ip_protocol 文字列 接続のプロトコル。TCPUDPICMP のいずれかです。allocated_ports を除くすべての指標に対して有効です。
reason 文字列

パケットが破棄された理由。表示される値は次のとおりです。

指標 dropped_sent_packets_count に対して有効です。

NAT ゲートウェイの指標

次の表の指標タイプの文字列には、router.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は、表中の項目では省略されています。

指標タイプリリース ステージ
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
nat/allocated_ports GA
割り当て済みのポート
GAUGEINT64{port}
nat_gateway
NAT ゲートウェイによってすべての VM に割り当てられたポートの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
nat_ip: ポートの NAT IP。
nat/closed_connections_count GA
閉じた接続数
DELTAINT64{connection}
nat_gateway
NAT ゲートウェイを経由する閉じられた接続の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/dropped_received_packets_count GA
受信パケットのドロップ数
DELTAINT64{packet}
nat_gateway
NAT ゲートウェイによってドロップされた受信パケット数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/dropped_sent_packets_count GA
送信パケットロス数
DELTAINT64{packet}
nat_gateway
NAT ゲートウェイによってドロップされた送信パケット数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
reason: パケットが破棄された理由。有効な値は OUT_OF_RESOURCES、ENDPOINT_INDEPENDENCE_CONFLICT です。
nat/nat_allocation_failed GA
NAT 割り当てエラー
GAUGEBOOL
nat_gateway
NAT ゲートウェイ内の VM で NAT IP の割り振りに失敗したことを示します。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
nat/new_connections_count GA
新しい接続数
DELTAINT64{connection}
nat_gateway
NAT ゲートウェイ経由で作成された新規接続の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/open_connections GA
オープン接続
GAUGEINT64{connection}
nat_gateway
現在 NAT ゲートウェイで開いている接続の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/port_usage GA
ポートの使用状況
GAUGEINT64{port}
nat_gateway
VM から単一の宛先エンドポイントへの最大接続数(IP: port)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/received_bytes_count GA
受信バイト数
DELTAINT64By
nat_gateway
NAT ゲートウェイ経由で受信したバイト数(宛先 -> 送信元)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/received_packets_count GA
受信パケット数
DELTAINT64{packet}
nat_gateway
NAT ゲートウェイ経由で受信したパケット数(宛先 -> 送信元)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/sent_bytes_count GA
送信バイト数
DELTAINT64By
nat_gateway
NAT ゲートウェイ経由で送信したバイト数(送り元 -> 宛先)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。
nat/sent_packets_count GA
送信パケット数
DELTAINT64{packet}
nat_gateway
NAT ゲートウェイ経由で送信したパケット数(送り元 -> 宛先)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 225 秒間表示されません。
ip_protocol: 接続のプロトコル。TCP、UDP、ICMP など。

ゲートウェイのフィルタリング ディメンション

label_key タイプ 説明
project_id 文字列 ゲートウェイのプロジェクト ID。
region 文字列 ゲートウェイのリージョン。
router_id 文字列 NAT ゲートウェイが属する Cloud Router の ID。
gateway_name 文字列 NAT ゲートウェイの名前。
ip_protocol 文字列 接続のプロトコル。TCPUDPICMP のいずれかを設定できます。allocated_ports を除くすべての指標に対して有効です。
nat_ip 文字列 NAT ゲートウェイに割り振られた NAT IP アドレス。指標 allocated_ports に対して有効です。
reason 文字列

パケットが破棄された理由。表示される値は次のとおりです。

指標 dropped_sent_packets_count に対して有効です。

Monitoring API を使用して指標をクエリする

Monitoring API の v3 の projects.timeSeries.list リクエストを使用して、Cloud NAT 指標に対する任意のクエリを作成できます。

API の例

timeSeries.list パラメータ(集約時間 1 分)で取得した VM の割り当てポートの例を次に示します。

  • name: projects/PROJECT_ID
  • フィルタ: resource.type = "gce_instance" AND metric.name="compute.googleapis.com/nat/allocated_ports" AND metric.labels.nat_gateway_name="nat-1-237227-1569344091-5"
  • interval.start_time: 2019-09-24T16:58:53Z
  • interval.end_time: 2019-09-24T16:58:53Z
  • aggregation.alignmentPeriod: 60s
  • aggregation.crossSeriesReducer: REDUCE_SUM
  • aggregation.perSeriesAligner: ALIGN_SUM
"timeSeries": [
    {
      "resource": {
        "labels": {
          "instance_id": "1406292833167995938",
          "project_id": "PROJECT_ID",
          "zone": "us-west1-c"
        },
        "type": "gce_instance"
      },
      "metric": {
        "labels": {
          "nat_ip": "70.32.157.11",
          "nat_gateway_name": "nat-1-237227-1569344091-5",
          "nat_project_number": "PROJECT_NUMBER",
          "router_id": "1380055590921303155"
        },
        "type": "compute.googleapis.com/nat/allocated_ports"
      },
      "metricKind": "GAUGE",
      "points": [
        {
          "interval": {
            "endTime": "2019-09-24T16:58:53.699Z",
            "startTime": "2019-09-24T16:58:53.699Z"
          },
          "value": {
            "int64Value": "64"
          }
        }
      ],
      "valueType": "INT64"
    },

Cloud NAT モニタリングの料金

Cloud NAT モニタリングに費用は発生しません。

次のステップ