SSMってなーんだ?
こんばんは!高野淳生と申します。 スカイには新卒として入社し、現在2年目です。 大学は法学系と業務と離れた事を学んでいたのですが、 今はAWSの勉強を日々頑張っております。
最近業務でSSMを扱ったので、今回はSSMについて軽く話させていただきます。
必要なの?と思っている方もいるかもしれませんが、SSMを使うにはちゃんとしたメリットがあるんです!
SSMのメリット
①踏み台サーバが不要になる
通常、プライベートサブネットに存在するインスタンスに接続したい場合、
パブリックサブネットに存在するインスタンス(踏み台サーバ等)に接続する必要があります。
SSMを使うと、踏み台サーバ無しにプライベートサブネットに存在することが出来ます!
IAMで権限を管理できるようになる為、開発者や運用者毎に踏み台サーバーの認証情報を提供する必要が無くなったり、
コスト面でもセキュリティ面でも優れた運用が可能になります。
②SGの設定が不要になる
踏み台を用いて接続する場合、インバウンドのポートを開けてあげる必要があります。
不要なポートを開けてしまったばかりに、サイバー攻撃を受けたり…等の大事故はSSMを使えばおさらばです!
SSMの説明はこれくらいにしておいて、本題のメンテナンスウィンドウの話に移ります。
・メンテナンスウィンドウって何?
「AWS Systems Manager の一機能である Maintenance Windows では、オペレーティングシステムのパッチ適用、ドライバーの更新、ソフトウェアやパッチのインストールなど、インスタンスに対して破壊的になり得るアクションを実行するスケジュールを定義できます。」
公式ドキュメントより
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-maintenance.html
つまるところ、停止/起動、AMIの取得、シェルの実行等様々な事を自動化できるぜ!という感じです。
試してみる!
メンテナンスウィンドウの設定の仕方等は後で話すとして、先に今回自動化したタスクを紹介しちゃいます。
⓪start-instance インスタンスを起動する
①create-ami AMIの取得
②get-qfelist QFEリストの取得
③get-image-sky365 skyのwebサイトから画像を取ってくるシェル
④stop-instance インスタンスを停止する。
優先度の順番にタスクが実行されていきます。優先度を同じにすると並行作業が可能。
本来だとWindowsUpdateが自動で出来るよ!という話がしたかったのですが、走らせるのに時間がかかりすぎたので諦めました。また次回以降に。
実行結果の確認
成功してた!
1個タスクが失敗したら強制終了、〇個タスクが失敗したら強制終了等、思ったより柔軟に設定変更が可能です。
↓ココデイジレル
各タスクの結果
起動/停止/AMI取得は割愛。
QFEの取得
QFEリストです。インスタンスに入らずに結果が確認できます。便利~!
シェルを叩いてみる
特定のURLから画像を引っ張ってくるシェルを叩かせてみます。
ニュースサイトで定期実行すると面白いかもしれません。
今回はsky365のホームページでやってみます。https://www.sky365.co.jp/recruit/
ぱんぱかぱーん!佐藤さん、竹山さん、佐々木さん、清水さんが召喚されました!!!!!
(見栄え的に手動で叩いた時の結果を載せてます)
まとめ
簡単にではありますが、SSMで色々遊んでみました。
自動化での工数削減は重要な事ですし、今後は自動化のタスクも処理出来るようにスキルを磨いていきます!