2023-03-06 · 3

AWS SSM(Systems Manager)— Run Command

cloudawsssm

この記事は公開から2年以上経過しています。

今回は AWS Systems Manager の Run Command について見ていきます。

AWS Systems Manager とは?

Systems Manager は、AWS リソースに対して安全かつ大規模に作業を実行できる管理ツールです。

Systems Manager の自動化機能の一つである Run Command を使えば、bastion host、SSH、リモート PowerShell を使う必要がなくなり、管理作業を簡素化できます。— AWS Amazon 公式ドキュメント

セキュリティ上 SSH のアクセスを許可したくない場合や、バスチョンホストを置かずに構成を簡素化したい場合など、さまざまな運用上のユースケースで利用できます。

直接やってみる

  1. IAM ロールを作成します。
  2. EC2 インスタンスを作成します。
  3. Systems Manager Agent を更新します。
  4. Run Command でシェルスクリプトを実行してみます。

1. IAM ロールの作成

AmazonEC2RoleforSSM を検索してチェックし、Next を押してロールを作れば完了です。

+追記)AmazonEC2RoleforSSM ではなく AmazonSSMManagedInstanceCore を使うのが現在の標準設定です。

2. EC2 インスタンスの作成

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

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

3. Systems Manager Agent Update

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

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

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

無事に更新されたことを確認できました。

4. Run Command で shell script を実行

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 の協力で作成されました。

コメント

コメントを削除しますか?

関連記事

AWS SSM(Systems Manager)— Run Command · 나봄하랑