【AWS】AWS Systems Manager ~ Session Manager ~

■ はじめに

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

の続き。

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

目次

【1】Session Manager とは?
【2】Session Manager の 利点
【3】Session ManagerでEC2にアクセスする
 1)EC2一覧からアクセスする
【4】EC2 にアクセスできるように設定する
 1)設定環境
 2)IAM
 3)VPC
 4)Session Manager

【1】Session Manager とは?

* EC2インスタンスにブラウザ上から CLI操作 ができる機能
 => Session ManagerでEC2にアクセスできる

【2】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を操作できる点がうれしい

【3】Session ManagerでEC2にアクセスする

1)EC2一覧からアクセスする

* AWS Management ConsoleのEC2一覧から対象EC2を右クリックし
 [Connect]-[Session Manager]を選択し、「Connect」ボタン押下

【4】EC2 にアクセスできるように設定する

1)設定環境

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

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

2)IAM

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

3)VPC

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

4)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] 対象インスタンスを選択し、「セッションの開始」を押下
 => 「sudo su」で root にもなれる。

参考文献

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