昨日社内勉強会でこんな発表をしました。いつもどおり右上の History を更新しました。

スライド: 39 にもありますが、Google Cloud の Cloud Run への移行の他に、ドメインも Amazon Route 53 から Google Domains に移行しました。これで上から下まで全部 Google になりました。

少し気になって Cloud Run のカスタムドメインとして設定した masutaka.net を辿ったら面白いことを知ったので、この記事にメモとして残します。

masutaka.net を辿る旅

dig コマンドを使うと、masutaka.net が Google Domains のネームサーバーを使っていることを確認できます。

$ dig -t NS masutaka.net
(snip)
;; ANSWER SECTION:
masutaka.net.           21399   IN      NS      ns-cloud-b4.googledomains.com.
masutaka.net.           21399   IN      NS      ns-cloud-b1.googledomains.com.
masutaka.net.           21399   IN      NS      ns-cloud-b2.googledomains.com.
masutaka.net.           21399   IN      NS      ns-cloud-b3.googledomains.com.
(snip)

普通に dig するとこうです。

$ dig masutaka.net
(snip)
;; ANSWER SECTION:
masutaka.net.           279     IN      A       216.239.36.21
masutaka.net.           279     IN      A       216.239.32.21
masutaka.net.           279     IN      A       216.239.34.21
masutaka.net.           279     IN      A       216.239.38.21
(snip)

IP アドレスを逆引きしてみます。

$ dig -x 216.239.32.21
(snip)
;; ANSWER SECTION:
21.32.239.216.in-addr.arpa. 86400 IN    PTR     any-in-2015.1e100.net.
(snip)

見慣れないドメイン 1e100.net が出てきました。何でしょう?

1e100.net とは何か

1e100.net とは何でしょう?調べたら由来が興味深かったです。

🔗 What is 1e100.net? - Google ヘルプ

1e100.net is a Google-owned domain name used to identify the servers in our network.

Following standard industry practice, we make sure each IP address has a corresponding hostname. In October 2009, we started using a single domain name to identify our servers across all Google products, rather than use different product domains such as youtube.com, blogger.com, and google.com. We did this for two reasons: first, to keep things simpler, and second, to proactively improve security by protecting against potential threats such as cross-site scripting attacks.

Most typical Internet users will never see 1e100.net, but we picked a Googley name for it just in case (1e100 is scientific notation for 1 googol).

(DeepL 翻訳)
1e100.netは、Googleが所有するドメイン名で、当社のネットワーク内のサーバーを識別するために使用されます。

業界の標準的な慣行に従い、各IPアドレスに対応するホスト名があることを確認しています。2009年10月、Googleは、youtube.com、blogger.com、google.comといった異なる製品ドメインを使用せず、すべてのGoogle製品で単一のドメイン名を使用してサーバーを識別するようになりました。1つは、よりシンプルにするため、もう1つは、クロスサイトスクリプティング攻撃などの潜在的な脅威から保護することによって、セキュリティを積極的に向上させるためです。

一般的なインターネットユーザーが1e100.netを目にすることはありませんが、念のためGoogleyの名前を選びました(1e100は1 googolの科学的表記法です)。

なるほど。シンプルな設計にするためと、セキュリティ向上のために、Google のサービスはどれも 1e100.net に行き着くようです。

「googolの科学的表記法」を調べました。

🔗 1e100.netとは - [その他 + その他] ぺんたん info

Google Inc.の『google』は、数学用語の『googol(グーゴル)』よりラリー・ペイジが命名したもので、『googol』とは10100を表す単位です。
そしてこの10100を1e100とあらわして、『1e100.net』となったようです。

Google → googol → 10100 → 1e100 → 1e100.net

へぇ!面白い!

Cloud Run のドメインはどうなっている?

Cloud Run でサービスを作ると https://masutaka-net-xxxxxxxxxx-an.a.run.app のような URL が割り当てられます。このドメインも調べました。

$ dig masutaka-net-xxxxxxxxxx-an.a.run.app
(snip)
;; ANSWER SECTION:
masutaka-net-xxxxxxxxxx-an.a.run.app. 19576 IN A 216.239.34.53
masutaka-net-xxxxxxxxxx-an.a.run.app. 19576 IN A 216.239.38.53
masutaka-net-xxxxxxxxxx-an.a.run.app. 19576 IN A 216.239.36.53
masutaka-net-xxxxxxxxxx-an.a.run.app. 19576 IN A 216.239.32.53
(snip)

逆引きします。

$ dig -x 216.239.32.53
(snip)
;; ANSWER SECTION:
53.32.239.216.in-addr.arpa. 84358 IN    PTR     any-in-2035.1e100.net.
(snip)

やはり 1e100.net に行き着きました。

記事にあるとおり、youtube.comgmail.com も同じでした。

まとめ

Google Domains に移行した masutaka.net を辿ったら、面白い豆知識を知りました。なにかのタイミングで話のネタに使えるかもしれません。