"private uptime checks"の使い方 ✅

2023/05/16に公開

こんにちは。Enabling team の山本です。

2023年5月2回目は、private uptime checks についてです。

"private uptime checks" は、GA がアナウンスされました。 5月12日の release notes にて。

Cloud Monitoring
The new flow for creating uptime checks, which includes usability improvements and offers a seamless way to create uptime checks on your private resources, is now GA. For more information, see Create public uptime checks and Create private uptime checks.

"public uptime checks" は、Preview 時から利用してきました。

"private uptime checks" の GA も待ってました!

TL;DR

  • "public uptime checks" との違いは、"Service Directory Service" と Firewall です。

Installation

VM を作成する

gcloud compute instances create private-uptime-check --project=junior-engineers-gym --zone=us-central1-a --machine-type=e2-medium --network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default --maintenance-policy=MIGRATE --provisioning-model=STANDARD --service-account=1076059400241-compute@developer.gserviceaccount.com --scopes=https://www.googleapis.com/auth/cloud-platform --create-disk=auto-delete=yes,boot=yes,device-name=private-uptime-check,image=projects/debian-cloud/global/images/debian-11-bullseye-v20230509,mode=rw,size=10,type=projects/junior-engineers-gym/zones/us-central1-a/diskTypes/pd-balanced --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --labels=ec-src=vm_add-gcloud --reservation-affinity=any

Apache HTTP Server を起動する

  • 動作確認のため、HTTP を起動させます。
sudo apt update && sudo apt -y install apache2
sudo systemctl status apache2

External IP を外す

  • Internal IP のみにします。

private uptime checks を作成する

Service Directory を作成する

  • Console から作成します。

ファイアウォール ルールの作成

  • Google Cloud の DNS 35.199.192.0/19 からの ingress の Firewall Rule が必要です。
  • Console から作成します。
gcloud compute firewall-rules create private-check-network-hope-rule-default \
--network="default" \
--action=allow \
--direction=ingress \
--source-ranges="35.199.192.0/19" \
--rules=tcp

Service Directory を介した VPC ネットワークへのアクセスを許可する

gcloud projects add-iam-policy-binding junior-engineers-gym --member='serviceAccount:service-1076059400241@gcp-sa-monitoring-notification.iam.gserviceaccount.com' --role='roles/servicedirectory.pscAuthorizedService'

Access Log の確認

35.199.192.168 - - [16/May/2023:09:37:37 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.195.140 - - [16/May/2023:09:37:40 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.195.168 - - [16/May/2023:09:37:52 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.193.200 - - [16/May/2023:09:37:55 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.206.3 - - [16/May/2023:09:38:04 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.218.135 - - [16/May/2023:09:38:16 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.215.230 - - [16/May/2023:09:38:37 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
35.199.199.70 - - [16/May/2023:09:38:40 +0000] "GET / HTTP/1.1" 200 3380 "-" "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"

VM を止める

  • 停止を正常に認識しました。

まとめ

"private uptime checks" について、検証しました。

監視は、Cloud に最も頼りたい機能の1つです。

なぜなら、これまで何度も、on-prem で「監視」の「監視」の「監視」を構築してきたからです。冗長化を重ねる。

on-prem 側のチェックにも活用できれば最高ですが、現時点では出来ないような感じがします。調べて追記します。

時間は有限です。頼れるところは、積極的に活用していきます。

Discussion