AWS SSM(セッションマネージャ)を使って、プライベートサブネット上のEC2インスタンスへ接続してみる。
前提
- VPC(10.0.0.0/16)とプライベート用サブネット(10.0.0.0/24)を用意
- IGWは無し。ルートテーブルは local向きのみ
- セキュリティグループ用意。
インバウンド:HTTPS全許可
アウトバウンド:全トラフィック全許可 - プライベートサブネットにEC2を1台作成
エンドポイントの作成
VPCのDNSホスト名が無効化されていると思うので、事前に有効化しておく。
VPCメニューからエンドポイントの作成
- サービス
以下を順々に設定
com.amazonaws.ap-northeast-1.ssm
com.amazonaws.ap-northeast-1.ssmmessages
com.amazonaws.ap-northeast-1.ec2messages - VPC、サブネット、セキュリティグループ
事前に作成したもの - DNS名を有効化
チェック
全てのエンドポイントが有効化された事を確認。
EC2へIAMロールを作成、付与
「AmazonSSMManagedInstanceCore」というポリシーを付与したIAMロールを作成
EC2インスタンスに付与
接続
接続ボタンが有効になったら接続可能
接続できた。ssm-userというユーザでの接続で、sudoによる管理者ユーザへの遷移も可能。
AWS CLIでの接続
事前にCLIのインストールは必要だが、こちらも接続を試しました。
$ aws ssm start-session --target i-081356a29352d6954 Starting session with SessionId: murabo-098e10020ae8fd17d
sh-4.2$ sh-4.2$ id uid=1001(ssm-user) gid=1001(ssm-user) groups=1001(ssm-user)
sh-4.2$
コメント