【AWS】EC2(RHEL)にセッションマネージャーを使用してアクセスできるようにする
はじめに
業務でEC2に接続するためにセッションマネージャーを使用する可能性があるので、実際にEC2(RHEL)にセッションマネージャーを利用して接続をするところまでやってみたいと思います。
実際にRHELについても業務で利用するので、あえてRHELに接続できるようにします。
セッションマネージャーとは?
- ブラウザのAWSマネジメントコンソールから直接EC2インスタンスに接続できるようにするためのサービス
- こちらのサービスを使用した場合、鍵認証の設定が不要
- SSMエージェントインストール時は、EC2インスタンスへ鍵認証の接続が必要
環境
- 使用しているEC2インスタンスのAMI
RHEL-9.2.0_HVM-20230905-x86_64-38-Hourly2-GP2
- RHEL 9.2
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)
$
手順
1.EC2インスタンスにSSMエージェントがインストールされていることを確認
- サーバへログインし、以下のコマンドでSSMエージェントをインストールする。
sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
- インストール完了後にSSMエージェントが起動していることを確認
sudo systemctl status amazon-ssm-agent
- SSMエージェントの自動起動設定の実施
$ sudo systemctl enable amazon-ssm-agent
$ systemctl is-enabled amazon-ssm-agent
systemctl is-enabled amazon-ssm-agent
については、実行結果がenable
であれば問題なし
2.IAMロール作成/アタッチ
IAMロール作成
①AWSコンソールにてIAMのダッシュボードに移動後、ロール > ロールを作成
の順番で選択する。
②「信頼されたエンティティを選択」の画面が表示されるので、以下のように選択する。
- 信頼されたエンティティタイプ
項目 | 設定 |
---|---|
信頼されたエンティティタイプ | AWSのサービス |
- ユースケース
項目 | 設定 |
---|---|
サービスまたはユースケース | EC2 |
ユースケース | EC2 |
設定したら、「次へ」をクリックする。
③「許可を追加」の画面が表示されるので、ポリシーAmazonSSMManagedInstanceCore
を選択して「次へ」をクリックする。
④「名前、確認、および作成」の画面が表示されるので、任意のロール名を設定し「ロールを作成」をクリックする。
今回作成するロール名:EC2-SSM-Connect-Test
⑤IAMロールが作成されたことを確認する。
IAMロールをEC2インスタンスにアタッチ
①EC2ダッシュボードに移動し、EC2インスタンス一覧から対象のインスタンスにチェックを入れる。
チェックを入れた状態で、インスタンスの状態 > セキュリティ > IAMロールを変更
を選択。
②作成したIAMロールを選択した後に、「IAMロールの更新」をクリックする。
3.EC2インスタンスへの接続
①EC2インスタンス一覧にて対象のEC2インスタンスを選択し、「接続」をクリックする。
②「インスタンスに接続」の画面にて「セッションマネージャー」を選択し、「接続」をクリックする。
③以下のようにターミナルが表示される。
参考
Discussion