Text
Page: 1
ConoHa v3に Debianを インストールしてみた ConoHa v3 + custom preseed.cfg = bookworm VPS! Kentaro Hayashi ClearCode Inc. 2024年01月 東京エリア・関西合同Debian勉強会
Page: 2
スライドは Rabbit Slide Showにて公開済み ConoHa v3にDebianをインストールしてみた https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-conoha-v3-debian-202401
Page: 3
元記事公開済み ConoHa VPS (v3)にDebianをインストールする方法(2024年1月時点) https://kenhys.hatenablog.jp/entry/2024/01/14/171628
Page: 4
本日の内容 ConoHa VPS (v3)でDebianをインストールしてみた話 ConoHaのインフラが刷新されv3が利用可能になった ConoHa v3は標準ではDebianをサポートしていない ConoHa v3では各種APIがサポートされている カスタムイメージを使って再インストールを試みる
Page: 5
ConoHaとは https://www.conoha.jp GMOグループ傘下のホスティングサービス 今日の話題はVPS。VPSの時間課金での利用もできる 👍
Page: 6
ConoHa v2とv3 ❌い?(と勘違い) 管理画面で切り替えられるので、単なるコンパネのバージョンの違 ✅ サーバーインフラがv2とv3で別物 v2のインスタンスとv3のインスタンスは完全に別管理
Page: 7
ConoHa v3の残念なところ ❌ Ubuntuは20.04と22.04が選べるが、Debianは選べない v2のときはDebianも選択肢にあったのに。。。 (OpenBSDやNetBSDも消えた) 2024/01/10 提供再開のお知らせ FreeBSDやArchはv3でもイメージがサポートされている (2024/01/14現在)
Page: 8
ConoHa v3の残念なところ 標準でサポートされていないなら 自分でインストールすればいいじゃない
Page: 9
ConoHa v2のときの カスタムインストール方法 CLIツールで簡単にISOイメージをマウントする https://support.conoha.jp/v/clitools/ v3はインフラが別なのでこの方法は使えない
Page: 10
ConoHa v3のAPIでできないか? https://doc.conoha.jp/api-vps3/ 「APIでVPSにISOイメージを挿入する」ためのドキュメント https://doc.conoha.jp/api-vps3/api-mount_iso_image-v3/
Page: 11
v3 APIでVPSに ISOイメージを挿入する(1) インスタンスを作成後停止しておく トークンを作成 (APIアクセスに必要) イメージIDを作成 (あとでISOをアップロードするときに使う) ISOイメージ(bookworm netinst .iso)をアップロード
Page: 12
v3 APIでVPSに ISOイメージを挿入する(2) 停止済みインスタンスにISOをマウント レスキューモードでISOイメージからインストーラーを起動 コンソールURIを発行して操作
Page: 13
Debian公式ISOイメージを 利用した場合の課題 ❌セキュアなインスタンスの初期構築が手間 ❌ConoHa標準のVNCコンソールがちょっと不便 標準イメージのように、あらかじめ.ssh/authorized_keysを仕込めない テキスト送信や特殊キー送信経由では|や_などの記号が打てず欠落する vimで直接いじるにも操作感が通常と異なる (要検証)
Page: 14
カスタムISOイメージによる 再インストールで解決 ✅メリット あらかじめ必要な設定を仕込んだ状態でインストールできる 自動化はpreseed.cfgを使えばよさそう あるいはFAI(Fully Automatic Installer) or Simple-CDD? ❌デメリット カスタムイメージ作成のノウハウが必要
Page: 15
今回はpreseed.cfgを使ってみた 参考: 2016年10月のDebian勉強会資料 https://tokyodebian-team.pages.debian.net/pdf2016/debianmeetingresume201610- presentation-sugimoto.pdf
Page: 16
preseed.cfgの仕込み方 initrd.gzに仕込む (CDイメージ再生成必要) 起動時パラメーターでpreseed.cfgを参照させる file=…でCDイメージに含めたpreseed.cfgを参照する (CDイメージ再生成必要) url=でネットワーク上のpreseed.cfgを参照させる VNCコンソールへの切り替え中に誤爆しないようにpreseed.cfgをCDイメージに含める
Page: 17
カスタムISOへの道 isolinux/menu.cfg 搭載メモリが少ないインスタンスではGUIインストールできない Graphical Installを削除を推奨 (gtk.cfgをコメントアウト) isolinux/txt.cfg テキストモードをデフォルトにする file=/cdrom/preseed/preseed.cfgを参照させる 言語やロケール、キーマップを指定する
Page: 18
isolinux/menu.cfg menu title Debian GNU/Linux installer menu (BIOS mode) include stdmenu.cfg #include gtk.cfg include txt.cfg menu begin advanced ... グラフィカルインストールの選択肢をコメントアウトして殺す
Page: 19
isolinux/txt.cfg label install menu label ^Install menu default kernel /install.amd/vmlinuz append language=en country=US keymap=us \ file=/cdrom/preseed/preseed.cfg vga=788 initrd=/install.amd/initrd.gz --- quiet file=でpreceed.cfgを指定、テキストモードを既定(menu default)にして おく
Page: 20
preseed.cfgで公開鍵を仕込む # Setup public key d-i preseed/late_command string \ cp /cdrom/preseed/sshd_config.d.local /target/etc/ssh/sshd_config.d/local.conf ; \ mkdir -p /target/home/debian/.ssh ; \ cp /cdrom/preseed/authorized_keys /target/home/debian/.ssh/ ; \ in-target chown debian:debian -R /home/debian/.ssh ; \ in-target chmod 400 /home/debian/.ssh/authorized_keys preseed/late_commandでファイルを配置する in-targetかどうかを意識しないとハマる
Page: 21
リマスタリングISO (cd custom-iso; \ find -follow -type f ! -name md5sum.txt -print0 | xargs -0 md5sum > md5sum.txt) sudo genisoimage -quiet -r -J -b isolinux/isolinux.bin \ -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \ -o netinst.iso custom-iso CDに追加でファイルを仕込むので、チェックサムを更新して再作成する
Page: 22
再インストール実演 前提 1 core/512MBメモリの最小構成 ConoHa VPSではUbuntu 20.04でインスタンス作成時に最小構成を選択できる Debian bookworm 12.4.0を採用 .ssh/authorized_keyを仕込み公開鍵認証のみ デモなのでネットワーク設定まではがんばらない
Page: 23
さいごに ConoHa VPS (v3)でDebianが標準イメージとして提供されるようになるま でのつなぎの技術を紹介しました。 カスタムISOイメージを使ってインストールする手段あればなんとかなる ConoHa VPS (v3)でDebianの標準イメージが提供されるのも そう遠くない未来だろうから試すなら今