AWS Systems Managerのセッションマネージャーを使用してEC2インスタンスにログインする方法を説明します。この方法ではSSHやRDPを使用せずに、より安全にインスタンスにアクセスできます。
ステップ1: IAMロールの作成
- AWS Management Consoleにログインします。
- **IAM(Identity and Access Management)**に移動します。
- 左側のナビゲーションペインで「ロール」をクリックし、「ロールを作成」を選択します。
- 「ユースケースの選択」で「EC2」を選択し、「次のステップ: 権限」をクリックします。
-
ポリシーの選択で以下のポリシーを追加します。
-
AmazonSSMManagedInstanceCore
(SSMエージェントの実行に必要)
-
- 「次のステップ: タグ」をクリックし、必要に応じてタグを追加します。
- 「次のステップ: 確認」をクリックし、ロールに名前を付けて(例:
SessionManagerRole
)、作成をクリックします。
ステップ2: EC2インスタンスにIAMロールを割り当てる
- EC2ダッシュボードに移動します。
- インスタンスの一覧から、セッションマネージャーでログインしたいインスタンスを選択します。
- 「アクション」→「セキュリティ」→「IAMロールの変更」を選択します。
- 作成したIAMロール(例:
SessionManagerRole
)を選択し、「適用」をクリックします。
ステップ3: SSMエージェントのインストール(必要に応じて)
AWSのAmazon LinuxやAmazon Linux 2、Ubuntu 20.04以降のAMIには、SSMエージェントがプリインストールされていますが、古いAMIやカスタムAMIを使用している場合は手動でインストールが必要です。
以下は一般的なOSにおけるインストール手順です:
-
Amazon Linux:
SSMエージェントは標準でインストールされています。 -
Ubuntu:
sudo snap install amazon-ssm-agent --classic
-
RHEL/CentOS:
sudo yum install https://s3.amazonaws.com/ssm-agent/latest/linux_amd64/amazon-ssm-agent.rpm -y
-
インストール後、SSMエージェントを開始します。
sudo systemctl start amazon-ssm-agent sudo systemctl enable amazon-ssm-agent
ステップ4: セッションマネージャーでの接続
- AWS Management ConsoleでSystems Managerに移動します。
- 左側のナビゲーションペインから「セッション」を選択します。
- 「セッションの開始」ボタンをクリックします。
- 接続したいEC2インスタンスを選択します。
- 「開始」をクリックします。
- 新しいタブでターミナルが表示され、インスタンスに接続されます。
ステップ5: CloudWatch Logsの設定
EC2インスタンスに接続した状態で、次の手順に従ってCloudWatch Logsのエージェントをインストールおよび設定します。
以下は、すでに前述した手順を参照してください。
-
CloudWatch Logsエージェントのインストール:
sudo yum update -y # Amazon Linuxの場合 sudo yum install -y awslogs
または、Ubuntuの場合は以下を使用します。
sudo apt-get update sudo apt-get install -y awslogs
-
設定ファイルの編集:
sudo nano /etc/awslogs/awslogs.conf
設定を更新します。
-
エージェントの開始:
sudo systemctl start awslogsd sudo systemctl enable awslogsd
-
CloudWatchのロググループを確認:
ConsoleのCloudWatchから確認できます。
おわりに
これで、EC2インスタンスへセッションマネージャーを使用してログインし、CloudWatch Logsを設定する手順が完了しました。この方法はSSHよりもセキュアで、管理も容易です。必要に応じて更なる設定やアラーム設定を行ってください。