787 Views
December 24, 22
スライド概要
ssmonline #28 LT資料
ソフトウェア技術者 / インフラ技術者 / セキュリティ技術者
式年遷都OS @silpheed_kt Keiichi Tanaka ssmonline #28 2022/11/22
式年遷都OS 自己紹介 @silpheed_kt Keiichi Tanaka • • • • • • プログラマー インフラエンジニア ネットワークエンジニア ドキュメンター リーダー職っぽい何か セキュリティ系の会社 Twitterは鍵垢です。 ssmjpのSlackでは主に #music にいます。 ssmonline #28 2022/11/22
式年遷都OS はじめに • 本LTは録音、録画、SNS投稿OKです • 本LTの内容は無保証です • 個人の見解です(所属する組織等のそれではありません) • 文字ばかりです • 私はLinux初心者です(いろいろと間違ってたらすみません) • ゆるいです • こわくないです ssmonline #28 2022/11/22
式年遷都OS 造語の説明 式年(遷宮)+遷都+OS=式年遷都OS 式年遷宮 遷宮(せんぐう)とは、神社の本殿の造営または修理の際に、神体を従前とは異なる本殿に移すことである。 定期的な遷宮を式年遷宮(しきねんせんぐう)と言う。「式年」とは「定められた年」の意。単に「式年遷宮」と いう時、伊勢神宮(三重県伊勢市)の神宮式年遷宮を指すことが多い。 出典:Wikipedia「遷宮」 https://ja.wikipedia.org/wiki/%E9%81%B7%E5%AE%AE 遷都 遷都(せんと)は、都(みやこ)を他所へうつす(遷す)こと、都を替えることを意味する漢字文化圏の語。 出典:Wikipedia「遷都」 https://ja.wikipedia.org/wiki/%E9%81%B7%E9%83%BD ssmonline #28 2022/11/22
式年遷都OS 造語の説明(2) 式年(遷宮)+遷都+OS=式年遷都OS OS オペレーティングシステムとは、コンピュータのオペレーション(操作・運用・運転)を司るシステムソフトウェ アである。 出典:Wikipedia「オペレーティングシステム」 https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83% B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0 定期的にOSを更新しましょう=式年遷都OSといいま(せん)。 「式年遷宮」を「式年遷都」と見間違えて、「遷都」で「Cent」を連想して、それに「OS」をくっつけただけという 出オチ感満載の勝手な造語です。 ssmonline #28 2022/11/22
式年遷都OS CentOSとは CentOS(セントオーエス)は、Red Hat Enterprise Linux(以下「RHEL」と呼ぶ)と機能的に互換性があること を目指したフリーのLinuxディストリビューションである。 出典:Wikipedia「CentOS」 https://ja.wikipedia.org/wiki/CentOS おおまかにいうと、 RHEL互換のフリーのLinuxディストリビューション 「ライセンス費用が無償であるにもかかわらずサポート期限が非常に長い」(出典:同上)ため広く用いられ てきた、ようです。 ssmonline #28 2022/11/22
式年遷都OS CentOSの式年遷都事情 1. CentOS6 → 7 カーネルが2.6系から3.x系へ / ファイルシステムがext4からxfsへ / ブートローダーがGRUBからGRUB2へ etc ... コマンド体系の変更や統合が多い → 学習コスト → めんどくさい 2. CentOS8のサポート終了がCentOS7より早い CentOS7(CentOS7-2009)→ 2024年6月30日まで CentOS8 → 2021年12月31日でEOL (を、2021年12月末に発表) 1年でどうにかしろといわれても! ssmonline #28 2022/11/22
式年遷都OS CentOSの式年遷都事情(2) 3. CentOSとCentOS Streamは等価ではない(ダウンストリーム→アップストリームへ) CentOS StreamはRHELへ入れる前の先進的な内容をテストするためのもの。 Fedora → CentOS Stream → RHEL( → CentOS) CentOSはRHELに取り入れられた内容を元にビルドされた「安定版」と取れる内容のOS。 CentOS8 StreamのEOLは2024年5月31日(6月1日?) CentOS9 StreamのEOLはRHEL9の「フルサポートフェーズ」まで(2027年5月31日(6月1日?))。 CentOSのサポート期間は10年。 CentOS Streamのサポート期間は(フルサポートフェーズまでなら)5年。 ssmonline #28 2022/11/22
式年遷都OS 遷都先の候補(1) 1. RHELを買う(サブスクリプション契約) . 条件によってはRHELの無償ライセンスを利用する https://developers.redhat.com/terms-and-conditions 2. RHEL互換のディストリビューション Alma LinuxとRocky Linuxが人気? 出典:LinuxOS利用企業の約4割が現在もCentOSを利用 一方、今後利用したいLinuxOSは AlmaLinuxとRocky Linuxが半数を占める結果に https://www.atpress.ne.jp/news/322735 MIRACLE LINUXも8から無償版がある。 ssmonline #28 2022/11/22
式年遷都OS 遷都先の候補(2) 3. CentOS Stream(前述) RHELのアップストリーム的な立ち位置 4. その他のディストリビューション GentooとかGentooとか、あとGentooとか (使いたいアプリケーションがパッケージに入ってると何かと楽かも) ssmonline #28 2022/11/22
式年遷都OS 遷都の基本概念(1) 1. メジャーバージョンアップ メジャーバーションアップは基本的に「構築し直し」。 「遷宮」「遷都」なので「神体」(OS上に乗るアプリケーション群)を「移す」。というこじつけ。 WindowsやmacOSのようにOS側でよしなにバージョンアップはしてくれない。 (手動でがんばる方法はある) CentOS8 → CentOS8 Streamや、いくつかの他のディストリビューション(AlmaLinux、RockyLinuxなど)では、 移行スクリプトが用意されている。 もちろんデバイスドライバなどの都合で簡単にアプリケーション群を移すことができない場合もある。 ssmonline #28 2022/11/22
式年遷都OS 遷都の基本概念(2) 2. マイナーバージョンアップ (RHEL、RHEL互換ディストリビューションの)マイナーバージョンアップ(例:9.0→9.1)は dnf コマンドで可。 逆に、マイナーバージョンを固定するためには dnf 実行時にオプションが必要。 (CentOS Streamにはマイナーバージョンが存在しない) ssmonline #28 2022/11/22
式年遷都OS 遷都の大前提 バージョンアップの可否 そもそも、 OSのメジャーバージョンアップ、マイナーバージョンアップ アプリケーションのメジャーバージョンアップ、マイナーバージョンアップ ともに、バージョンアップ後に期待通りの動作をするか確認する必要がある。 そもそも、 期待通りの動作をすれば、バージョンがいくつであろうと関係ない。 (セキュリティの担保等も含めて「期待通り」であれば) →期待通りの動作をするかを「どう確認するか」を定める必要がある。 ssmonline #28 2022/11/22
式年遷都OS 乱暴な遷都の例(1) 個人ブログのサーバ移行 元:さくらのVPS 先:さくらのレンタルサーバ CentOS6.10、MySQL5.5、PHP7.3 FreeBSD 13.0-RELEASE、MySQL5.7、PHP7.4 移行方法 移行元で、 ・DBのダンプ取得(DDL、DML) ・WordPressのテーマ、プラグイン、画像を取得 移行先で、 ・WordPressをインストール ・DBのダンプを投入 ・WordPressのテーマ、プラグイン、画像を投入 ssmonline #28 2022/11/22
式年遷都OS 乱暴な遷都の例(2) 最後に、 ・DNSの向き先を移行先に向ける ・SSLの設定(Let's Encrypt) なぜこれで良かったか ・個人ブログなので自分にしか影響がない(影響範囲の確定) ・移行元と移行先が共存するため、失敗したら移行元にDNSの向き先を戻せばOK(切り戻しが簡単) ・可否の判断が簡単 期待した表示か 記事の投稿・編集・削除が行えるか 画像ファイルがアップロードできるか SSLが設定されているか ssmonline #28 2022/11/22
式年遷都OS 遷都の阻害・障害要因 1. めんどくさい、工数がない、人手がない わかる 2. 何がどう動いているかわからない Apache(バージョンは? 設定は? mod_rewrite くらい入ってるよね?) / WordPress(バージョンは? プラグインは? テーマは? 独自拡張は?) / MySQL(バージョンは? 中身のデータは?) / PHP(バージョンは? 拡張機能は?) / ファイルI/O(ディレクトリのオーナーは? パーミッションは?) 3. 遷都先ですぐに動かせない明確な要因 移行元に依存した実装、わかる、しかたない。 ssmonline #28 2022/11/22
式年遷都OS 対策 現実的でない工数であれば「移行しない」という選択もある。 (正しく動作することを移行以外で担保する) 機能単位で移行できるか検討する。段階的に移行する。 移行対象を絞ることにより検証のコストを下げる。 (MySQLだけ先に移行先へ持っていく、など) 移行のための整理をまず進めてみる。 ssmonline #28 2022/11/22
式年遷都OS 想定例(1) リバースプロキシ+Webアプリ リバースプロキシの構成がシンプルだったので、先にそちらの移行を検討する。 本番環境にしかリバースプロキシがいない。 →検証環境にリバースプロキシをたてる。 検証環境のWebアプリにIPベースでアクセスしている(そう設定されている)。 →名前ベースでアクセスできるか検討する。 検証環境のWebアプリが比較的頻繁に用いられているので設定が変更しづらい。 →検証環境をもう1セット用意できるか検討する。 ssmonline #28 2022/11/22
式年遷都OS 想定例(2) リバースプロキシ+Webアプリ(つづき) 検証環境のWebアプリのレプリカを用意+動作確認 検証環境のリバースプロキシを用意+動作確認 接続し動作確認 →すべてOKならリバースプロキシを更新してOK。 動作確認では何をすればいいか? 確認対象のテスト仕様書などがあるか。 ない場合、新たに起こせるか。その内容で合意が取れるか。 何かが難しい、または不可能であれば、移行せずにすむ方法を検討するしかない。 ssmonline #28 2022/11/22
式年遷都OS まとめ 遷宮・遷都の要件は? 神体を置く場所をどうするか。要件が必要。 CentOSの移行要件は? どんなアプリケーションがどう動いているかの要件が必要。 正しく神体を置くためには何が正しいかを知る必要がある。 何が正しいかを知るには工数が必要。 工数を見積もった上で遷都するか他の方法で担保するか決定する。 (式年)遷宮しない理由は? (式年)遷宮しない神社もある ≠ (式年)遷宮しなくても良い ssmonline #28 2022/11/22
式年遷都OS サーバの構築手順書書いてね! テスト仕様書もお願いします! photoAC https://www.photo-ac.com/main/detail/25069822 より ssmonline #28 2022/11/22
式年遷都OS ご静聴ありがとうございました ssmonline #28 2022/11/22