IaC(コードでインフラ管理)
Webサーバーを新しく作ることになり、クラウドの管理画面を開いたら
「画面からポチポチ手で作らずに、コードで作って」
「IaC(コードでインフラ管理)」って、何のことだろう…?
IaC(Infrastructure as Code、コードでインフラ管理)は、サーバーやネットワークなどのインフラ(→02 クラウド・インスタンス)を、画面での手作業ではなく、コードに書いて作るやり方です。
同じコードからは何度でも同じ環境ができ、変更はコードを直して行います。
このページで分かること
- IaC(Infrastructure as Code)は、サーバーやネットワークなどのインフラを、画面の手作業ではなく、コード(定義のファイル)に書いて作るやり方
- 同じコードからは、何度でも同じ環境ができる
- コードなので、Gitで履歴を残し、プルリクエストでレビューし、CIでチェックできる
- 変えるときはコードを直す
身近な例えで理解する
年賀状の宛名を1枚ずつ手書きするかわりに、住所録を作っておいて印刷します。何枚でも同じ品質で、書き間違いも少なくなります。
- 住所録インフラのコード
- 住所録から印刷するコードから環境を作る
- 何枚でも同じ品質何度作っても同じ環境
- 引っ越した人は住所録を直して印刷し直す変更はコードを直して反映する
はがきだけ手で直すと、住所録は古いままです。来年また住所録から印刷すると、間違った住所が出てきます。
ちょっと確認
Q1同期のひとこと
同期「急ぎだったから、管理画面でセキュリティグループのルールを1つ足しといた」
このチームはIaCでインフラを管理しています。何が困る?
例えを外して、実際のしくみ
ここからは実際のしくみ
コードに書くもの
同じコードから同じ環境
手作業だと、作る人やその日によって少しずつ違う環境ができがちです。コードから作れば、検証用と本番用を同じ形でそろえやすくなります
チームの道具がそのまま使える
ドリフトに注意
IaCで管理している環境を画面で直接変えると、コードと実際の環境がずれます。これを「ドリフト」といいます。次にコードから反映したとき、手で足したものが消えたり、思わぬ差が出たりするので、変更はコードから行います
このページのまとめ
- IaC
- インフラを、手作業ではなくコードに書いて作るやり方
- テンプレート/定義ファイル
- インフラのあるべき姿を書いたファイル
- 同じコードから同じ環境
- 何度作っても、同じ形の環境ができること
- ドリフト
- 画面での直接変更などで、コードと実際の環境がずれること
先輩のひとことの意味
先輩「画面からポチポチ手で作らずに、コードで作って」
「管理画面で1つずつ手作業で作るのではなく、サーバーの形をコードに書いて、そのコードから作って。そうすればGitに記録が残り、レビューもでき、同じものをもう一度作るのも簡単になる」という意味です。
練習問題で確かめる
Q24択
IaCのよいところとして正しいものは?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。