AWS 踏み台なしで接続 SSMセッションマネージャ
AWSではSSMセッションマネージャーを使うことで
踏み台サーバなしでPrivateのEC2へ接続できます。
ザックリとしたサンプル手順は下記のようになります。
1)VPCエンドポイントを作成
2)EC2のIAM設定
3)NW設定(EC2,VPCendpointのセキュリティグループ設定)
4)SSM Agentのアップデート
5)セッションマネージャ実行
下記詳細を紹介します。
1)VPCエンドポイントを作成
もしNATゲートウェイを利用している場合はここはスキップで問題ありません。
完全プライベートなsubnetの場合、VPCエンドポイントを作成します
(1) com.amazonaws.region.ssmmessages:
(2) com.amazonaws.region.ec2messages:
このエンドポイントを通じて、
Systems Manager は SSM エージェントから
Systems Manager サービスへの呼び出しを行います。
VPCのページからエンドポイントを作成します。
2)EC2のIAM設定
EC2をIAM Roleを設定します。
ポリシー名「AmazonEC2RoleforSSM」が付与されたIAMロールをEC2へ適用します
ロールの作成
上記をEC2へ適用します
3)NW設定(EC2,VPCendpoint)
VPCエンドポイントのセキュリティグループのインバウンド設定に、
EC2に設定したセキュリティグループIDを設定します。
4)SSM Agentのアップデート
必要があれば、SSMのAgentをアップデートします
Run CommmandにAWS-UpdateSSMAgentがあるため、
こちらを対象のEC2に実行します。
もしランコマンドの画面で対象のEC2が画面に出てこなかったら
手動でEC2にログインし、Agentをアップデートします。
方法は下記を参照ください。
この場合は外部との通信が可能なようネットワーク設定を一時的に更新します。5)セッションマネージャ実行
準備ができたら接続します。
セッションマネージャから対象のインスタンスを選択し、
セッションの開始を実行します。
おまけ
#ログイン後、ルート昇格もできるようです
sudo -s
[root@ip-172-30-1-65 ssm-user]#
#ルート昇格もできるようです
sudo -s
[root@ip-172-30-1-65 ssm-user]#
netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
#また、セッション履歴も残るため、ログイン履歴等もAWS側から管理できます
Linuxであれば踏み台いらずなのはかなり良いと思います。
ぜひ機会があればお試しください。