5.1K Views
May 06, 23
スライド概要
JAWS-UG初心者支部#55 LT大会_SystemsManager
仕事:AWS運用保守&PM的なことをしています。 2023-24 Japan AWS All Certifications Engineers.
JAWS-UG初心者支部#55 LT大会 AWS Syst ems Manager Session Manager Automation Runbook 運用環境に適用出来る か検証してみた アイレット株式会社 佐藤竜也 2023. 5. 6
自己紹介 # 名前 佐藤 竜也(ますの) @masno_soy # 所属・担当 ・アイレット株式会社 ・AWS基盤 運用・保守 / PM(仮) # 趣味 ・スノーボード # AWSサービス(業務時の心の支え) ・AWS Support ・Amazon CloudWatch(Logs/Alarm) ・Amazon SNS
もくじ 01 はじめに 02 トラブルシュートに使えるAWSサービス 03 Systems Managerで出来ること 04 Session Managerを利用する 05 AutomationでRunbookを利用する 06 まとめ
❶ はじめに
本日のLTで扱う土台 AWS Summit Tokyo 2023 (AWSセッション:AWS-04) インシデントを起点に考える システム運用のユースケースご紹介
(余談)会場内でライブ配信を視聴 ・会場席が満席のため立ち見(音声なし)を覚悟 ・ライブ配信をやっていることに気付く ・休憩スペースでスマホから閲覧で難を逃れる 5/22-6/23 Summitオンデマンド配信開始 興味ある方はご視聴あれです。 https://aws.amazon.com/jp/summits/tokyo/
❷ ト ラ ブ ル シ ュ ー トに 使えるAWSサービス
トラブルシューティングの流れ ・被疑箇所の特定 ・各種メトリクスの確認 ・エンドユーザの体験に近い箇所を可視化 Triage 影響判断 Diagnosis 診断 ・ログの調査 ・直前操作履歴の確認 ・構成変更の確認 ・恒久対応 ・発生原因の調査 ・改善対応 ・特権アカウントでの作業 ・暫定復旧作業 Mitigation 緩和 Recovery リカバリー ・復旧 Analysis 分析
AWSマネージメントサービスで実現 Triage 影響判断 インパクトの検出 CloudWatch Dashboard Diagnosis 診断 ログの横断検索・分析 CloudWatch Logs Insights Mitigation 緩和 承認フローの追加 SSM Change Manager Analysis 分析 イベントのクエリ AWS CloudTrail Lake シェルアクセス SSM Session Manager 分析による改善を実現 Incident Manager 分析テンプレート 定型処理の実現 SSM Automation
AWSマネージメントサービスで実現 Triage 影響判断 インパクトの検出 CloudWatch Dashboard Diagnosis 診断 ログの横断検索・分析 CloudWatch Logs Insights Mitigation 緩和 承認フローの追加 SSM Change Manager Analysis 分析 Systems Manager お触りしてみましょう イベントのクエリ AWS CloudTrail Lake シェルアクセス SSM Session Manager 分析による改善を実現 Incident Manager 分析テンプレート 定型処理の実現 SSM Automation
❸ Systems Managerで 出来ること
Systems Managerで出来ること AWSサービスやサーバ構成の各種設定 / 管理 /自動化 例: ・パッチ管理(Patch Mangement) ・コマンドの遠隔実行(Run Command) ・パッケージ管理(Distributor) ・任意営業日の実行管理(Change Calendar) ・ブラウザ経由でのリモートアクセス(Session Manager) 他にもたくさん...
Systems Manager利用の準備 必要な設定 ・管理するEC2インスタンスへ「SSMエージェントがインストール」されていること ・Systems Managerの各種エンドポイントへ「443(https)接続」が可能であること ・フリートマネージャの「デフォルトのホスト管理設定:有効化」されていること 【2023.2 アップデート】 EC2インスタンスへIAMロールアタッチ不要に
SSM各種サービスを利用するために必要な設定(図解) ❶ EC2インスタンス ・SSMエージェントをインストール ※バージョン: 3.2.582.0 以降 ❷ ❶ ➍ ❷ セキュリティグループ ・アウトバウンド:443(https) を設定 ※SSM関連のエンドポイントへ疎通必須 ❸ ❸ プライベートサブネットのみ ・VPCエンドポイントの作成 ➍ Systems Manager ・DHMCを有効化する
➍ 新機能:DHMCの有効化について アカウントレベルでSSMが有効化されることになる 参照:https://aws.amazon.com/jp/about-aws/whats-new/2023/02/enable-aws-systems-manager-default-all-ec2-instances-account/
DHMCの有効化はかんたん フリートマネージャ > アカウント管理 > デフォルトのホスト管理設定の構成
DHMCの有効化はかんたん フリートマネージャ > アカウント管理 > デフォルトのホスト管理設定の構成
Systems Manager 利用準備が整ったので使ってみる
➍ Session Manager
Session Managerとは ・AWSマネコン経由(443通信)でリモートアクセスが出来る ・SSH、RDPどちらも対応 ・SSMで管理しているマシン全てが対象 (EC2、オンプレ、VMなど含む) セキュリティグループの SSHやRDPのポート管理から 開放されるいやっほぉぉ!!
Session Managerとは でもお高いんでしょう?? EC2なら無料やで! (オンプレ環境は1000台まで無料)
SSMの事前設定が出来ていれば接続を押すだけ EC2 > インスタンス > 対象のEC2選択 > [接続]
アカウントハックされる前に... EC2インスタンス 乗っ取り対策にもなります ぜひ使っていきましょう
❺ AutomationとRunbook
Automationとは 事前定義されたRunbookを利用して定型作業を自動化できる 例) ・セキュリティグループのパブリックアクセスチェック ・AMIの更新(最新パッチの適用) ・EC2インスタンスのドライバアップグレード 手動で対応してた運用業務 自動化出来そうなものが Runbookにあるかもしれない??
おすすめRunbook(その1) トラブルシューティングで役立つRunbook AWSSupport-TroubleshootSSH EC2にSSHで接続出来ない場合のトラブルシューティ ングを行う AWSSupport-ResetAccess EC2でOSのパスワードやSSHキーを紛失した場合に 再設定を行う
おすすめRunbook(その2) 運用業務の効率化に役立つRunbook AWSSupport-UpgradeWindowsDrivers WindowsのEC2のドライバーをアップグレードする AWS-UpdateLinuxAmi(AWS-UpdateWindowsAmi) 最新のパッチをLinux AMI(Windows AMI)に適用す る
Automationとは でもお高いんでしょう?? 100,000ステップ/月は無料やで! (超えた分は0.002 USD/ステップ)
Runbook:AWSSupport-TroubleshootSSHを試す SSM > オートメーション > [実行]
Runbook:AWSSupport-TroubleshootSSHを試す 対象EC2インスタンスを選択 > [Action:FixAll] を選択 > 実行
Runbook:AWSSupport-TroubleshootSSHを試す ・出力にログが記載された ・ステップ数は9個用意されている
検証1:sshdを[systemctl stop]しただけの場合 ・sshdは停止したままで起動されなかった ・ログ上は成功と出力されている [SUCCESS] All configuration checks passed or all detected problems fixed.
検証2:「sshd_config」を削除(移動)した場合 ・sshd_configが新規作成されている ・sshdのサービスが起動した状態 ・Teratermなどで問題なくssh接続できたことを確認 ・ログに「-- FIXED Missing configuration file: /etc/ssh/sshd_config」が追加される
検証2:復元された「sshd_config」を確認 ・パーミッションが「655」で復元される
検証2:復元された「sshd_config」を確認 ・sshd_configの中身
検証2:復元された「sshd_config」を確認 ・デフォルトとの差分は以下の10行分
Automation:Runbookの利用 ・過信し過ぎるのは危ないかも? ・情報収集系のものから利用を検討 ・変更を加えるものは検証必須
❻ まとめ
まとめ(感想) ・SessionManagerは必修科目 ・ログ監視~暫定対応~分析までが運用管理 ・AWSの無料枠で実現できることから考える ・EventBridgeとRunbookの連携で幸せになれ る要素がないか検討の余地あり
参考資料 ●AWS Systems Manager - デフォルトのホスト管理設定 https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/managed-instances-default-host-management.html ●Session Manager を使用して Amazon EC2 インスタンスに接続できないのはなぜですか? https://repost.aws/ja/knowledge-center/ssm-session-manager-connect-fail ●AWS Systems Manager Automation https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-automation.html ●Systems Manager Automation runbook reference https://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html ●AWS Systems Manager の料金 https://aws.amazon.com/jp/systems-manager/pricing/