■AWS Systems Managerとは?
・EC2インスタンスにSSH・RDPで接続せずにブラウザ上からCLI操作ができる機能です。
・ブラウザがSSHクライアントとして動作している訳でなく、制御はSSMによって実現されています。
・セキュリティグループのインバウンド設定や踏み台ホストを作ること無く安全にEC2インスタンスへ接続できます。
1.SSMエージェントをバージョンアップする
バージョンアップをしていないと↓のような画面が表示され、バージョンアップしてくれと表示されてしまいます。
SSM エージェント をインストールし設定する を参考にアップデートしてください。
今回は、Amazon Linux2 の手順を紹介します。
下記コマンドでインストールします。
yum install -y https://amazon-ssm-ap-northeast-1.s3.amazonaws.com/latest/linux_amd64/amazon-ssm-agent.rpm
SSM エージェント が実行中であるか確認してください。
sudo systemctl status amazon-ssm-agent
2.EC2インスタンスにIAMロールを設定する
EC2インスタンスのIAMロールにAWS管理ポリシー AmazonEC2RoleforSSM を割り当てます。
割り当てていないと、↓感じの画面が出て怒られました。
IAMを開き、「ロール」から「ロールの作成」をクリックします。
「EC2」を選択し、「次のステップ:アクセス権限」に進みます。
「AmazonEC2RoleforSSM」を選択し、「次のステップ:確認」に進みます。
EC2を開き、「インスタンスの設定」から「IAMロールの割り当て/置換」を選択します。
3.セッションの開始
準備ができたので、接続して見ましょう!
Systems Mangerの画面を開き、「セッションマネージャー」から該当のインスタンスを選択し、「セッションの開始」をクリックします。
4.接続ログを保存する(必要であれば)
CLIの操作ログをS3 と CloudWatch Logsに保存することができます。
S3 と CloudWatch Logs を準備します。(手順は省きます。)
「設定」より[Amazon S3 バケットへのセッション出力の書き込み]と[CloudWatch Logs へのセッション出力の送信]を設定「保存」してください。