GCEのContainer-Optimized OSイメージでSSHポートを変更する時にハマったのでまとめ。
※SSH設定ファイル(/etc/ssh/sshd_config)のPort項目を編集する方法ではうまくいかなかった。。。
概要
-
GCEで用意されているイメージ
Container-Optimized OS
は軽量で最初からdockerが使える代わりに、apt-getやyumなどのパッケージ管理コマンドが使えない。 -
cloud-initという、GCEインスタンスのメタデータ(key: user-data)にセットされたコードを起動時に実行してもらえる機能がある。
-
メタデータにSSHポートを変更するコードをセットすればいいのでは?
SSHポートを変更するコード
Container-Optimized OS for Google Cloud PlatformのSSHポートを変更する
Terraformでメタデータ(key: user-data)のセットの仕方
参考
メタデータをセットする時にmetadata_startup_script
に書いてて時間無駄にした^^
-
ダメな例
resource "google_compute_instance" "default" { ... metadata_startup_script = "code~~~" ... }
-
いい例
resource "google_compute_instance" "default" { ... metadata { user-data = "code~~~" } ... }
コメント