コード化するきっかけ
「会社で開発チームのためにAWS環境をテンプレート化して、気軽にデプロイ出来る状態にしておいてほしい」 という依頼が来ました。
というのも、私はWEB系企業の人間でも無いですし、AWS自体割と自由に触らせてもらえる環境でかつ、設定変更などに厳しいレビューも無いのでコード化する理由もあまりなかったんですよね~。
コード化とは
サーバーやネットワーク、ストレージなどのインフラ構成をコードとして記述し、そのコードを使ってインフラを構築・管理する手法 ということです。
コード化の種類
大きくわけて、2つあると認識しています。
- リソースのデプロイをコード化する
- リソースの設定をコード化する
1.リソースのデプロイをコード化するとは
これは、簡単に言うとクラウドサービスであったり、Dockerなどインフラリソースそのものを構築・管理を目的としてコード化する ということです。
なので例えば
VPC 172.168.1.0/24 外部公開サブネット 172.168.1.0/25 プライベートサブネット 172.168.1.128/25
のような構成をコードで書いてデプロイすることで、アカウント上にこの環境が作成されます。
2.リソースの設定をコード化するとは
リソース自体の作成はコードもしくは手動で行うが、その後の初期設定であったり
他のサーバ群と同じ設定状況にしたい場合などに使用します。
なので例えば、
ユーザー名 test1 test2 test3 グループ testgroup
下記のように全てのサーバーに共通の設定を入れたい場合などに利用されます。