Slide 1

Slide 1 text

Navigate : Space / Arrow Keys | - Menu | - Fullscreen | - Overview | - Blackout | - Speaker | - Help M F O B S ?  1 / 20

Slide 2

Slide 2 text

AKIBA.AWS #10 LT4: AWS Systems Manager 最近の UPDATE で 出来るようになったこと #akibaaws  2 / 20

Slide 3

Slide 3 text

自己紹介 渡辺聖剛 Seigo Watanabe '17/01入社 AWS事業本部 オペレーション部所属 CM入社前はインフラエンジニア(オンプレ) 好きなサービス : AWS Systems Manager #akibaaws  3 / 20

Slide 4

Slide 4 text

最近のアップデート #akibaaws  4 / 20

Slide 5

Slide 5 text

2018 年の関連アップデート 日付 内容 Feb 6 AWS Systems Manager、カスタムの構成可能なリポジトリ、Linux アプリケーションパッチ適用、SUSE Linux 用のパッチサポートを追加 Mar 7 AWS Systems Manager に InSpec by Chef のサポートを追加 Mar 29 AWS Systems Manager が、CentOS Linux でのパッチ管理を追加 Mar 29 AWS Con g の通知が、Amazon CloudWatch Events と統合されます Apr 30 Amazon Inspector には、繰り返し評価ランをスケジュールする機能と、コンソールからエージェントをインストールする機能が追加される May 9 Amazon ECS は、AWS CloudFormation を使用して、ECS-Optimized EC2 インスタンスの開始のための SSM パラメーターを追加します May 15 AWS Systems Manager はクリック 1 つですべてのマネージドインスタンスにあるインベントリを収集可能 Jul 10 AWS Systems Manager エージェントは現在、Ubuntu 16.04 LTS および 18.04 LTS AMI にプリインストールされています。 Jul 18 AWS Systems Manager Automation のステップ失敗時の条件分岐 Jul 18 AWS Systems Manager Run Command が Amazon CloudWatch Logs にストリーム出力されるようになりました Jul 26 AWS Systems Manager パラメータストア は AWS Secrets Manager と統合、ラベリングを追加し設定の更新を容易に Aug 9 AWS Systems Manager はオートメーションの実行にタグとターゲットマップを追加します Aug 9 AWS Con g で AWS Systems Manager のパッチコンプライアンスと関連付けのコンプライアンスのサポートを追加 Aug 16 AWS CloudFormation は CloudFormation テンプレートで AWS Systems Manager 安全文字列パラメータをサポート Aug 16 AWS Systems Manager にインサイトと 1 クリックでの修正機能が追加され、インベントリ収集を簡単に管理 Aug 28 AWS Systems Manager Automation が AWS API 呼び出しのサポートを開始 Sep 11 AWS Systems Manager Session Manager のご紹介 Sep 26 条件付分岐が AWS Systems Manager Automation でサポートされるように Oct 1 AWS Systems Manager Announces Enhanced Compliance Dashboard #akibaaws  5 / 20

Slide 6

Slide 6 text

≫ AWS API 呼び出しのサポート開始 ≫ Automation で条件付分岐サポート YAML を書けば AWS API をたたけるようになった AWS CLI で出来ることはほぼ出来る! メンテナンスウィンドウ指定しての時間実行も可能 ランブック(Document)内で複合的な処理が書けるように 対象をグループ分けする必要がなくなる OS、インスタンスタイプ、タグ(ProdとDev) etc. 条件分岐のための値はランブック内で取得 #akibaaws  6 / 20

Slide 7

Slide 7 text

≫ Session Manager みんな大好き 省略 #akibaaws  7 / 20

Slide 8

Slide 8 text

復習:もともと得意なこと #akibaaws  8 / 20

Slide 9

Slide 9 text

1. 管理者・指示者・作業者・実装者の分離 管理者 ... 実行の承認を行う 指示者 ... 作業対象や内容を指示する 作業者 ... 作業の実行・一次確認を行う 実装者 ... 作業内容をロジックに落とし込む #akibaaws  9 / 20

Slide 10

Slide 10 text

2. 準備・指示・実行・確認の分離 準備 ... 事前にランブック(Document)を作成しておく 指示 ... 作業前に対象を指定する(パラメータストア等) 実行 ... クリック or 時間実行(メンテウィンドウ) 承認 ... 実行時に承認を行う(SNS通知) 確認 ... 実行証跡が全て AWS 上に残る #akibaaws  10 / 20

Slide 11

Slide 11 text

図にするとこう #akibaaws  11 / 20

Slide 12

Slide 12 text

出来るようになったことの具体例 #akibaaws  12 / 20

Slide 13

Slide 13 text

こんなことが出来るように(ユースケース) 一時的に権限付与・作業を許可(事前承認、時間制限つき) OS ログインを許可 Route 53 のゾーン編集 ELB から一時的に外しつつ EC2 インスタンスタイプ変更 AutoScailing から一時的に外しつつ EC2 停止 / 起動 RDS の任意タイミングでのスナップショット取得 ディストリビューションを限定して CloudFront Invalidation 前段処理の結果を受けての分岐処理 / エラー処理 #akibaaws  13 / 20

Slide 14

Slide 14 text

こんなことが出来るように(cont.) 得意なことは変わらない 出来ること = ユースケースが広がった #akibaaws  14 / 20

Slide 15

Slide 15 text

具体的にはこのへん #akibaaws  15 / 20

Slide 16

Slide 16 text

適応しそうなところ 権限を限定した AWS インフラのマニュアル作業 完全自動化するなら Lambda やら StepFunctions やら 定形化された作業、証跡が必要な作業 似たような作業を延々手でやるのが嫌なとき ASG 用の AMI アップデート作業とか リリース前に決まったインスタンスの手動バックアップとか CloudFront Invalidation とか(コンテンツ担当に任せた い!) #akibaaws  16 / 20

Slide 17

Slide 17 text

多少めんどいところ ドキュメントが少ない(その割に出来ることが多い) SSM Agent の導入が必須 正確には EC2 を「マネージドインスタンス」にする (実は Automation だけなら必須ではない) 新しめの AMI には最初から導入済み(IAM ロールは必要) 古い AMI から起動して使い続けてるインスタンスだと… 過度な自動化・仕組み化は逆のつらみがある #akibaaws  17 / 20

Slide 18

Slide 18 text

まとめ #akibaaws  18 / 20

Slide 19

Slide 19 text

まとめ AWS Systems Manager は業務と権限を適切に分離できます ここ最近の UPDATE で、その適用範囲がぐんと広がりました 時間実行したくなったときのために EC2 インスタンス建てるときは SSM Agent 忘れずに! IAM ロールもね! お好みで CloudWatch Agent も! 適材適所を見極めて快適な運用を! #akibaaws  19 / 20

Slide 20

Slide 20 text

#akibaaws  20 / 20