
Googleのネットワーク
多くのパブリッククラウドと同様、Google Cloudも上り(イングレス)通信は無料で、他ゾーン・他リージョン・インターネットへの下り(エグレス)通信には課金されるネットワーク料金モデルを採用しています。
大規模な環境で、他ゾーン・他リージョン・インターネットへ流れる通信量を把握するのは簡単ではありません。「クラウド請求書ショック」を避けるためにも、まだベータ版ですが VPC Flow Logs という新機能の活用をおすすめします。
VPC Flow Logsは、インスタンスを発着するネットワーク通信を記録する機能です。ネットワーク監視、フォレンジック、リアルタイムのセキュリティ分析、クラウドコスト最適化など、さまざまな用途に活用できます。
VPC Flow LogsはStackdriver Loggingから参照でき、Google Cloudの他のログと同様に、Cloud Pub/Sub、BigQuery、Cloud Storageといった連携先へ自動でエクスポートできます。
ログはコネクション単位で5秒間隔に集約され、ほぼリアルタイムにエクスポートされます。有効化はサブネット単位で行い、ネットワーク性能への影響もありません。
gcloud beta compute networks subnets update [subnet-name] \ --no-enable-flow-logsでは、ログのエクスポートを設定してみましょう。https://console.cloud.google.com/logs/viewer にアクセスし、「高度なフィルタ」を選択して以下を貼り付けます。
resource.type="gce_subnetwork"logName="projects/{#project_id}/logs/compute.googleapis.com%2Fvpc_flows"続いて、Google BigQueryへのエクスポートを設定します。

これで、すべてのログがBigQueryのテーブルへストリーミングされ、可視化の準備が整いました。可視化ツールには Redash を採用しています。Redashは、データベースへのクエリ実行、結果の可視化、ダッシュボード作成までを行えるオープンソースツールで、BigQueryをはじめ多くのデータソースに対応しています。
エクスポートで生成されるテーブルのスキーマはシンプルで分かりやすい構成です。下り通信を追跡するためにデータを抽出する際に使ったクエリは次のとおりです。

Redashを使えば、インターネット向け下り通信の可視化も簡単に作成できました。

インターネット向け下り通信
リージョン間の下り通信:

リージョン間の下り通信
そして、ゾーン間の下り通信です。

ゾーン間の下り通信
これで下り通信を継続的に監視でき、しきい値を超えた際にアラートを発報する設定も可能になりました。
他の記事もぜひご覧ください。ブログや、TwitterのAvivでも情報を発信しています。