🐷

【AWS】EC2(RHEL)にセッションマネージャーを使用してアクセスできるようにする

2023/11/07に公開

はじめに

業務で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インスタンスを選択し、「接続」をクリックする。

②「インスタンスに接続」の画面にて「セッションマネージャー」を選択し、「接続」をクリックする。

③以下のようにターミナルが表示される。

参考

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

https://dev.classmethod.jp/articles/ec2-access-with-session-manager/

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/agent-install-rhel-8-9.html

Discussion