Slide 1

Slide 1 text

AnsibleとCloudFormationの組み合わせで トレーニング環境を運用している話 2021/2/10 Ansible Night Online 2021.02 伊藤雅人 @mizuto1217

Slide 2

Slide 2 text

はじめに 2 ✘ Ansibleトレーニングで使用する環境を毎回構築しています ✘ 毎回構築する[運用]です ✘ 本日のLTでは、このトレーニング環境構築について話します

Slide 3

Slide 3 text

AnsibleとCloudFormationの組み合わせ AnsibleからCloudFormationをコールしています 3

Slide 4

Slide 4 text

CloudFormation ✘ トレーニング環境を1セット作成 ✘ 1セット=複数のサーバや複数の ルータ ✘ EIPの付与やVPCの設定などを 行う Ansible ✘ 任意のセット数分、 CloudFormationをまわす ✘ パッケージのアップデートや Ansibleのインストール、 ファイルのダウンロードなどを 行う 4 役割

Slide 5

Slide 5 text

AnsibleとCloudFormationの組み合わせ ✘ 作成数のコントロールがとてもしやすい ✘ 毎回変わるIPアドレスや固定のログインID等のパラメータ一覧表を Templateモジュール使って、自動生成できる ✘ AnsibleやCloudFormationではコントロールしにくい部分は、 予めイメージを用意し、それを元に作成する 5 特徴

Slide 6

Slide 6 text

運用してわかったこと ✘ 数クリックで構築できるため作業者の負担が少ない ✘ トレーニング内容に合わせて、機器の追加や変更もしやすい ○ 文字通りyamlが設計書(=あるべき姿) ✘ 初期化より、毎回構築のほうがとても効率的 ○ 把握しづらい状態から元に戻すより、いちから作成する方が トラブルもない ○ インスタンスを残す必要がないのでコストが抑えられる 6

Slide 7

Slide 7 text

運用してはまったこと ✘ EC2のリソース制限に引っかかって、中途半端な状態のインスタンスが 生成された ○ ログインできない、疎通が取れないなど ✘ AMIが消えていた ○ WindowsServerで特定月までアップデートされたAMI ✘ 一部のリソースが削除されず残っており、EC2の利用料金が チョット↑上がっていた 7

Slide 8

Slide 8 text

運用して改善したいこと ✘ トレーニング環境の構築速度の向上 ○ 15セットの作成で3時間程度かかっている ○ インスタンス作成を並列で行う必要があるけど、 どう実現させるか ✘ べきとう性を担保できないモジュールの使い方を改善 8

Slide 9

Slide 9 text

まとめ ✘ 定型作業はやはり自動化が鉄板です ○ 特に、失敗しても再実行するだけでいい状況は自動化しやすい ✘ 自動化により、裏側の事情への意識が薄くなっていた ○ どれだけリソースを使っているか抜け落ちていた ✘ まだまだ自動化できることはあるぞーぅ! ○ 手作業をさらに減らす、かける工数をひたすら減らす 9

Slide 10

Slide 10 text

ご視聴ありがとうございました 10