Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
シェルスクリプトで作る コンフィグ管理サーバ 2016/4/21 Thu 第18回 JAWS-UG札幌 勉強会
Slide 2
Slide 2 text
自己紹介 • 小倉 大 (おぐら まさる) • 株式会社スカイ365 • 元オンプレミスのネットワークエンジニア • AWS歴 6か月 • 好きなAWSサービス : まだない
Slide 3
Slide 3 text
日々、オンプレミスでやっていたことをAWS で活用することができないかを考えています
Slide 4
Slide 4 text
オンプレミスでやっていた コンフィグ管理ってAWSでもできるかな
Slide 5
Slide 5 text
オンプレミスのコンフィグ管理 ネットワーク網 コンフィグ管理サーバ ルータ スイッチ ロードバランサ ファイアウォール ①コンフィグ管理サーバでスクリプトを実行し、定期的に ネットワーク機器全台のコンフィグを取得する ②コンフィグに差分があった場合は、メールを送信する データセンター内 ① ②
Slide 6
Slide 6 text
コンフィグ管理をするメリット • 機器交換をする時に、コンフィグ管理サー バに保存してある最新のコンフィグから復 旧できる • 設定の変更箇所を確認できる • 意図しない設定変更を検知できる • 設定変更した内容が正しいか確認できる
Slide 7
Slide 7 text
これと同じようなことをAWSでやってみると
Slide 8
Slide 8 text
AWSのコンフィグ管理 Amazon Linux インターネット ① ①コンフィグ管理サーバでスクリプトを実行し、定期的に指 定したAWSアカウントのインスタンス等の情報を取得する ②コンフィグに差分があった場合は、Slackへ通知する ② コンフィグ 管理サーバ
Slide 9
Slide 9 text
スクリプトの動き 0. 各AWSアカウントでIAMユーザを作成し、 IAMユーザ情報を記載したファイルを用意 1. IAMユーザの情報をスクリプトに入力 2. AWS CLIの環境変数を設定 3. AWS CLIのコマンドを実行 4. 差分があればSlackへ通知 あとは、AWSアカウントごとに2~4を繰り返す ※シェルスクリプトはGitHubに置いてあります https://github.com/MasaruOgura/shellscript/blob/master/getconfig.sh
Slide 10
Slide 10 text
スクリプトの動き(補足) 2. AWS CLIの環境変数を設定 export AWS_ACCESS_KEY_ID=xxxx export AWS_SECRET_ACCESS_KEY=yyyy export WS_DEFAULT_REGION=zzzz export AWS_DEFAULT_OUTPUT=text AWS CLIのアウトプットは3種類 json, text, or table
Slide 11
Slide 11 text
スクリプトの動き(補足) 3. AWS CLIのコマンドを実行 EC2インスタンス一覧 aws ec2 describe-instances IAMユーザ一覧 aws iam list-users セキュリティグループ一覧 aws ec2 describe-security-groups
Slide 12
Slide 12 text
スクリプトの動き(補足) 4. 差分があればSlackへ通知
Slide 13
Slide 13 text
AWSで同じようなサービスがあったような
Slide 14
Slide 14 text
AWS CloudTrail, AWS Config AWS CloudTrail AWSアカウントの操作をロギングす るサービスで、SNS(Simple Notification Service)で通知可能 AWS Config AWSリソースのインベントリを取得 し、リソースの設定履歴を監査、リ ソースの構成の変更を通知すること ができるフルマネージドサービス
Slide 15
Slide 15 text
単一のAWSアカウント向けで、 複数のAWSアカウントの一元管理には向いて いない と思います
Slide 16
Slide 16 text
まとめ 複数のAWSアカウントを運用には今回作成し たシェルスクリプトが利用できるかも
Slide 17
Slide 17 text
ご清聴ありがとうございました
Slide 18
Slide 18 text
Appendix 【AWS】CLIの初期設定について(認証情報とコマンド補完) http://www.task-notes.com/entry/20141026/1414322858 シェルスクリプトでtsvファイルとcsvファイルを処理する方法 http://millay-diary.info/blog/post-201/ 対象のディレクトリがなかったら作成するシェルスクリプトワンライナー http://qiita.com/yoccola/items/d4c346b74204d298166c Incoming WebHooksを使ってslackにPOSTするシェルスクリプト http://qiita.com/tiida26/items/9092245ad44cf7b20ef5
Slide 19
Slide 19 text
Appendix UNIXシェルスクリプトハンドブック http://www.amazon.co.jp/UNIX%E3%82%B7%E3%82%A7%E3% 83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E 3%83%88%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96 %E3%83%83%E3%82%AF-Technical-handbook-001- %E9%96%A2%E6%A0%B9/dp/4797326522 GitHub(シェルスクリプトが置いてあるURL) https://github.com/MasaruOgura/shellscript/blob/master/getconfi g.sh