2023-03-06 · 2분
AWS SSM(Systems Manager)— Patch Manager
Patch Manager の役割と対応 OS フリートを整理し、実践では Amazon Linux 2 のカスタムパッチベースライン、メンテナンスウィンドウ、Run Command タスク登録によるスケジュールパッチまで行います。
2023-03-06 · 3분
この記事は公開から2年以上経過しています。
今回は AWS Systems Manager の Run Command について見ていきます。
Systems Manager は、AWS リソースに対して安全かつ大規模に作業を実行できる管理ツールです。
Systems Manager の自動化機能の一つである Run Command を使えば、bastion host、SSH、リモート PowerShell を使う必要がなくなり、管理作業を簡素化できます。— AWS Amazon 公式ドキュメント
セキュリティ上 SSH のアクセスを許可したくない場合や、バスチョンホストを置かずに構成を簡素化したい場合など、さまざまな運用上のユースケースで利用できます。


AmazonEC2RoleforSSM を検索してチェックし、Next を押してロールを作れば完了です。
+追記)AmazonEC2RoleforSSM ではなく AmazonSSMManagedInstanceCore を使うのが現在の標準設定です。

他はすべてデフォルト設定のままにし、Advanced details の IAM instance profile だけ先ほど作ったロールに設定すれば OK です。キーペアは不要なので、作らなくて構いません。

上のように IAM Role が正しく割り当てられていれば成功です。

AWS Systems Manager > Run Command > Run a command で SSM と検索し、AWS-UpdateSSMAgent を押します。

その下の Target selection で Choose instances manually を押し、有効化されている先ほどの EC2 を選択して Run で実行します。

成功するのが確認できます。Targets and outputs で対象インスタンスにチェックを入れ View output を押すと結果を見られます。

無事に更新されたことを確認できました。
Systems Manager Agent を実行する EC2 インスタンスを作成したので、管理作業を自動化しインスタンスを管理できます。この手順では、ドキュメントと呼ばれる事前パッケージ済みコマンドを実行してエージェントをアップグレードします。新しいインスタンスを作るときは Systems Manager Agent を更新するのがおすすめです。
先ほどと同じようにまず入ります。

今度は AWS-RunShellScript を選択します。

テストとして sudo amazon-linux-extras install nginx1 で nginx をインストールしてみます。その後、先ほどと同様に有効なインスタンスを選択して Run で実行します。

このように成功しました。CLI で接続して確認してみます。

nginx がきちんと入り、正常に動いていることを確認できました。ここまでが AWS Systems Manager の Run Command 機能の実習でした。
https://dev.classmethod.jp/articles/aws-systems-manager-run-command-ec2-instance/
AWS Systems Manager を使用してEC2インスタンスでRun Commandを実行する | DevelopersIO こんにちは、yagiです。 本日は、「AWS Systems Manager を使用してEC2インスタンスでRun Commandを実行する」内容について記載します。 AWS Systems Managerとは? Sys … — dev.classmethod.jp
原文(韓国語): tistory — 2023-03-06 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。
…