【AWS】AWS Systems Manager ~ Session ManagerでEC2にアクセスする ~

■ はじめに

https://dk521123.hatenablog.com/entry/2019/10/05/121119

の続き。

 今回は、SSH経由ではなく、
AWS Systems Manager (SSM) の Session Manager (セッションマネージャ)
を使って、EC2にアクセスする方法を記す。(はまりポイントもメモ)

■ Session Manager とは?

* EC2インスタンスにブラウザ上から CLI操作 ができる機能

■ Session Manager の 利点

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager.html

より抜粋

【1】IAM ポリシーを使用したインスタンスへの一元的なアクセス制御
【2】インバウンドポートを開いたり、踏み台ホストや SSH キーを
   管理したりする必要はありません
【3】コンソールと CLI からインスタンスへのワンクリックアクセス
【4】ポート転送
【5】Windows と Linux の両方でクロスプラットフォームをサポート
【6】ログ記録と監査のセッションアクティビティ

 => SSH(ポートも空けなくていい)、秘密鍵、踏み台サーバを使わずに、
  AWSマネジメントコンソール上で、極力セキュアに
  EC2を操作できる点がうれしい

■ EC2 にアクセスできるように設定する

設定環境

EC2 : Amazon Linux 2 を想定して手順を記載する

※ Amazon Linux 2 の場合、
 デフォルトで ssm-agentをインストールされているので楽

IAM

[1] EC2に付与されているIAMロールに、AmazonEC2RoleforSSMポリシーを付与する

VPC

[1] EC2インスタンスにアクセスができるように、
 VPCエンドポイントにSSMエンドポイントを追加する

Session Manager

Session Manager を使って EC2 にアクセスする

設定(初回の1回のみ。※1)

[1] [Systems Manager]-[セッションマネージャ]-[設定]-[編集]を選択
[2] Linux インスタンスの Run As サポートを有効するために
 「Enable Run As support for Linux instances」にチェックを入れる
[3] [Enter an operating system user name for starting sessions] に、
 セッションの開始に使用するターゲットインスタンスの
 オペレーティングシステムユーザーアカウントの名前を入力
(ここでは「ec2-user」を入力)

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-preferences-run-as.html

※1
これをやらなかったことにより、
セッションを開始しても真っ黒画面のままで操作できなかった
★ここではまった★

※2
他にも、KMSの設定 や CloudWatch Logsの設定など があるので
必要な場合は設定しておく(以下の公式サイトを参照)

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started-configure-preferences.html
操作手順

[1] [Systems Manager]-[セッションマネージャ]-[セッションの開始]を選択する
[2] 対象インスタンスを選択し、「セッションの開始」を押下

参考文献

https://dev.classmethod.jp/articles/201907-ssm-session-manager-with-your-own-os-user-account/
https://qiita.com/comefigo/items/b705325d082018ab2348

関連記事

AWS Systems Manager ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/10/05/121119
Amazon S3AWS CLIでS3を操作する ~
https://dk521123.hatenablog.com/entry/2017/04/01/235355