SSHの鍵のコメントの話から派生して、ホスト名の付け方について再考している。
QT: mastodon.blessedgeeks.org/@h12

h12o is fully Modernized  
思うところあり、 #ssh の鍵をほぼほぼ総取り替えした。具体的には、すべてED25519の鍵にするとともに、SSH鍵のコメントを"${USER}@$(hostname -s)#${SHORT_USAGE}"形式にした。 そして、"${SHORT_USAGE}"・"${SHORT_USAGE}...

ホスト名について最初に考えたのは大学のころ。
ワークステーションに最初に触れたのは大学(所在地は千葉県内)で、そのワークステーションは8台あったことから、里見八犬士がホスト名の元ネタになった。
(ファイルサーバが伏姫)

そこからコードネーム的な付け方に親しんできたし、RFC 1178も当然読んだことはあるのだけど、最近はもはやコードネームっぽい付け方も流行らないだろうなあと思っている。

で、いまは。機種名とMACアドレスの下16ビット(2^16=65536=16^4、下4桁)を使っている。
- AirPods→AirPods-****
- Apple Watch→Watch-****
- iPad→iPad-****
- iPhone→iPhone-****
- Mac→Mac-****
- MacBook→MacBook-****

ちょっと前までは機種名とMACアドレスの下24ビット(2^24=16777216=16^6、下6桁)を使っていたが、16ビットに短縮した。
理由は、二段階認証/二要素認証を省略する機能でブラウザを登録する際、
{ブラウザ}@{ホスト名}
という登録をしているのだけど、文字数制限があるせいで、下6桁だと長すぎるケースがあったため。

Follow

ところが、「MACアドレス」はクラウドVMでは使えない。
たとえばGoogle Compute EngineのVMマシン名をつけるケースを考える。
VMの名前は変更できない。一方、VMのMACアドレスを事前に知ることはできないし、VMをコピーしたりするとMACアドレスは変わるからだ。
(MACアドレスが永続化しないのは cloud.google.com/compute/docs/ に書いてある)

· · Web · 1 · 0 · 0

考察続き。
Google CloudにもAWSにも(AWS使ってないけど)静的内部IP(v4)アドレスを予約する機能がある。
Linux以外を使うことはほぼ考えられないし、LinuxのhostidはVMが最初に認識するネットワークインタフェースのIPアドレスになる。
VMが最初に認識するネットワークインタフェースはたいていeth0で、eth0はVPCネットワークにつながっている。

静的内部IP(v4)アドレスを予約してからVMを作るようにすれば、「<機能名>-<ランダム16進数>」形式のホスト名兼VM名が設定可能である。

まあ別にhostid使う必要もなくて、静的内部IPアドレス使えばいいという話もある。

もっというと、VPCのアドレスレンジも多くてせいぜい/16で、実際には だとリージョンごとに/20で切られているので、下3桁を使えば確実に一意になる(内部FQDNはリージョン名が入るので、リージョンのネットマスク(?)部分を考慮する必要はない)。

補足。「実際には だとリージョンごとに/20で切られている」のは自動モードのVPCネットワークで自動的に作成されるサブネットで、リージョンごとに 1 つのサブネットとして構築されている。

Sign in to participate in the conversation
BlessedGeeks.Org

@h12oのおひとりさまMastodon、Google Cloud Platformで運用