【いみゅーたぶるいんふらすとらくちゃ】
イミュータブルインフラストラクチャ とは?
最終更新:
💡 修理せずに新品に交換する「使い捨てサーバー」の考え方
稼働中のサーバーなどにパッチや設定変更をその場で当てず、変更が必要なときは新しいイメージから作った環境に入れ替える運用方式。
📌 このページのポイント
なんでサーバーを変更しちゃダメなの?パッチ当てればよくない?
稼働中のサーバーにパッチや設定変更を重ねていくと、全部を管理しきれずに想定と違う状態になることがあるんだ。これを「構成ドリフト」と呼ぶよ。毎回テスト済みのイメージから作り直せば、既知の状態から始められるからドリフトを減らせるんだよ。
具体的にどうやるの?
おもしろい!コンテナはイミュータブルインフラストラクチャの一種なの?
一種というより、この考え方ととても相性がいい技術だよ。新しいバージョンは新しいイメージとしてビルドして、KubernetesのDeploymentなら古いPodを新しいイメージのPodに置き換えていく。ただ、コンテナを使っていても中に入って手で直せば、その場の変更になってしまうから注意だね。
サーバーを捨てちゃったら、中のデータやログは消えない?
でも「サーバーに入って調査したい」ときはどうするの?本番で問題が起きたときとか。
まとめ:ざっくりこれだけ覚えればOK!
「イミュータブルインフラストラクチャ」って出てきたら「稼働中のサーバーを直さず、新しく作った環境に入れ替える運用方式のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Immutable Infrastructure」 = 不変のインフラ
💬 Immutable(変更不可能な)+ Infrastructure(インフラ)。一度デプロイしたら変えずに入れ替える、という考え方だよ。Kief Morris氏の解説(2013年)では、同僚のBen Butler-Cole氏が「Immutable Server」という呼び名を付けたと紹介されているよ