概要
セッションマネージャでAWS接続サーバを作る。
細かいことは気にしてないので、適宜環境に合わせてください。
手順
- ポリシーの追加とロールの作成
- セキュリティグループの作成
- キーペアを作成する
- EC2の作成
- SessionManagerを確認
- 接続
※ VPCとかsubnetは割愛
ポリシーの追加とロールの作成
概要
AmazonEC2RoleforSSMのポリシーがアタッチされているロールを作成する。
また、EC2に接続する際にキーペアが不要になるようなポリシーを追加する。
方法
個別ポリシーの作成から以下のjsonを貼り付ける。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ssm:StartSession",
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ssm:*:*:document/AWS-StartSSHSession"
],
"Condition": {
"BoolIfExists": {
"ssm:SessionDocumentAccessCheck": "true"
}
}
}
]
}
EC2 Role for AWS Systems Managerを選択。
先ほど作成したポリシーを追加して、あとは適宜にすすめる。
セキュリティグループの作成
概要
22番ポートが空いていないセキュリティグループを作成する。
inbound(外から発の通信)をすべて許可しないようにする。
outbound(中から発の通信)はすべて許可する。
方法
VPCのセキュリティグループから作成。
EC2の作成
概要
先に作成したIAMとセキュリティーグループをアタッチしたEC2を作成する。
方法
EC2の作成を選択してAmazonLinuxとする。
特にOSの指定がない場合は、AmazonLinuxとするほうが色々入っててやりやすい。
セキュリティグループの設定から先に作成したセキュリティーグループを選択する。
キーペアを選択する。
特に必要としないのだが、何故か選択に迫られる。
なので適当なキーを選択。
ただ、キーペアの変更はインスタンスの作り直しになるので自身のキーを作って選択しておいたほうが安全。
高度な詳細のIAMインスタンスプロフィールから先に作成したIAMロールを選択する。
インスタンスを起動する。
SessionManagerを確認
AWS Sysmtes Managerのセッションマネージャからセッション開始を選択して、インスタンスが登録されていることを確認する。
接続
概要
sshの設定をしてsshコマンド接続する
方法
sshの設定が必要なので以下を~/.ssh/configに追記する
# SSH over Session Manager
host i-* mi-*
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
ssh config イメージ
接続する。
$ aws ssm start-session --target [インスタンスID] --profile [AWSに接続するプロファイル名]