ossフル活用でinfrastructure as codeやってみた
TRANSCRIPT
![Page 1: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/1.jpg)
OSS フル活用でInfrastructure as Code
やってみた
![Page 2: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/2.jpg)
自己紹介• 新居田 晃史(にいだ あきふみ)
• 所属– JB アドバンスト・テクノロジー株式会社– 先進技術研究所
• 日本最速 IT エンジニア(自称)
– フルマラソン 2:29:56
• 好きな AWS サービス
• re:Invent2016 参加
Twitter @nid777Facebook Akifumi Niida
AmazonRoute 53
![Page 3: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/3.jpg)
インフラ構築の現状
The 手作業
![Page 4: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/4.jpg)
環境再現への道のりは遠い
![Page 5: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/5.jpg)
![Page 6: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/6.jpg)
やってみたい!
![Page 7: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/7.jpg)
社内で新しく作るサービスに携わることに
![Page 8: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/8.jpg)
目的
1.変更履歴をコードに残す
2.運用の負荷を減らす
3.緊急時に全てを再構築できる
![Page 9: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/9.jpg)
やってみた
AWSインフラ
OS
MW
APPL
CONFIG
AMI
![Page 10: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/10.jpg)
Packer と Ansible は相性が良い
"provisioners": [{ "type": "ansible", "playbook_file": "../ansible/container.yml", "ansible_env_vars": ["ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SCP_IF_SSH=True"] }]
![Page 11: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/11.jpg)
AMI の運用
• マイクロサービス毎に AMI を作成• サービス名 _ 日付時刻で名前付け• AMI 作成時に古いものを削除• AMI 何回も作るの大変??– packer がやってくれるので便利
• Terraform で launch config を変更
![Page 12: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/12.jpg)
1. 本番環境を自動作成2. 本番環境をコピーして、
なんか色々やってテスト環境を自動作成
3. テスト実施4. テスト環境を自動削除
自動化あるある
> terraform destroy
![Page 13: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/13.jpg)
本番環境の設定が残ったまま
![Page 14: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/14.jpg)
![Page 15: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/15.jpg)
![Page 16: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/16.jpg)
全消しをふまえて
![Page 17: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/17.jpg)
現在の構成(ざっくり)
/terraform本番
ステージング
テスト
.tfstate
.tfstate
.tfstate
![Page 18: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/18.jpg)
結果
→ok→ok→ok
1.変更履歴をコードに残す
2.運用の負荷を減らす
3.緊急時に全てを再構築できる
![Page 19: Ossフル活用でinfrastructure as codeやってみた](https://reader031.vdocuments.site/reader031/viewer/2022022413/58a301e21a28abea508b4fdd/html5/thumbnails/19.jpg)
インフラをコード化して楽をしよう