「Amazon EC2」インスタンスの設定ミスを防ぐ「AWS Systems Manager」によるリモートコマンド実行AWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Systems Manager」の「Run Command」を利用して、「Amazon EC2」インスタンス上のパッケージをアップデートするコマンドをリモートで実行する方法を紹介する。

» 2021年01月18日 05時00分 公開
[天野盛介東京ITスクール]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Systems Manager」の「Run Command」を利用して、「Amazon EC2」インスタンス上のパッケージをアップデートするコマンドをリモートで実行する方法を紹介します(図1)。

図1 「AWS Systems Manager」の「Run Command」を利用して、「Amazon EC2」インスタンスへのコマンドをリモートで実行

 Run Commandを利用するとEC2インスタンスに接続する必要がなくなるので、OSのパスワードが不要になったり、RDP(Remote Desktop Protocol)やSSH(Secure Shell)のインバウンドポートを開放しなくてもよくなったりするなどのメリットがあります。さらに、複数あるEC2インスタンスに1台ずつ接続しなくても一括でコマンドを実行することができ、「Windows Server」の管理者パスワードを紛失してしまった場合などにも活用できるので、ぜひこの方法を覚えておきましょう。

「AWS Systems Manager」とは

 AWS Systems Managerは、AWSで利用しているサーバの運用状況を把握して、リソース全体の管理や運用タスクを安全かつ大規模に実行できるサービスです。

 Systems Managerには、今回紹介するRun Commandの他にも、サービス停止時間の定義や運用タスクの自動化、設定値やパスワードの集中管理などさまざまな機能があります。

手順

 今回の手順は以下の通りです。

  1. Systems Managerへのアクセスを許可する「AWS Identity and Access Management」(IAM)ロールの作成
  2. EC2インスタンスの作成
  3. SSMエージェントの更新
  4. Run Commandでコマンドを実行

※今回はパブリックサブネットのEC2へアクセスするので不要ですが、プライベートサブネットのEC2へコマンドを実行するには別途「Amazon VPC」(Virtual Private Cloud)エンドポイントの設定が必要になります。

1. Systems Managerへのアクセスを許可するIAMロールの作成

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。