AWSでこんなことができるようになったらしいです。
キーペア作って22開けてSSH接続とか不要とのこと。AWSすげー。
Windowsでもできるのかなってやってみました。
セットアップ
ここに書かれてる必要なものを入れます。
まず古いAWSCLIを消して最新のものを入れました。
aws-cli/1.16.13が入りました。
c:\work\AWS>aws --version
aws-cli/1.16.13 Python/3.6.0 Windows/10 botocore/1.12.3
c:\work\AWS>
接続クライアント側にもSSMマネージャーのプラグインが必要になるので入れました。
SSMマネージャーのプラグイン、1.0.0が入りました。
c:\work\AWS>session-manager-plugin --version
1.0.0.0
c:\work\AWS>
EC2に接続
EC2につなげてみたいと思います。
UbuntuのEC2を作成して、AmazonEC2RoleforSSMのIAMロールを割り当てておきます。
Ubuntuに入っていたSSMエージェントのVersionが古かったのでいったんSSHで接続して入れ直しました。
ubuntu@ip-172-31-20-135:~$ sudo snap list amazon-ssm-agent
Name Version Rev Tracking Publisher Notes
amazon-ssm-agent 2.2.619.0 295 stable/… aws classic
ubuntu@ip-172-31-20-135:~$ sudo snap remove amazon-ssm-agent
amazon-ssm-agent removed
ubuntu@ip-172-31-20-135:~$
インストールします。
ubuntu@ip-172-31-20-135:~$ wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
--2018-09-13 13:22:37-- https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
Resolving s3.amazonaws.com (s3.amazonaws.com)... 52.216.225.19
Connecting to s3.amazonaws.com (s3.amazonaws.com)|52.216.225.19|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17471702 (17M) [binary/octet-stream]
Saving to: ‘amazon-ssm-agent.deb’
amazon-ssm-agent.deb 100%[=========================>] 16.66M 4.70MB/s in 4.8s
2018-09-13 13:22:43 (3.45 MB/s) - ‘amazon-ssm-agent.deb’ saved [17471702/17471702]
ubuntu@ip-172-31-20-135:~$ sudo dpkg -i amazon-ssm-agent.deb
Selecting previously unselected package amazon-ssm-agent.
(Reading database ... 51281 files and directories currently installed.)
Preparing to unpack amazon-ssm-agent.deb ...
Preparing for install
-> Systemd detected
active
Failed to stop amazon-ssm-agent.service: Unit amazon-ssm-agent.service not loaded.
Unpacking amazon-ssm-agent (2.3.50.0-1) ...
Setting up amazon-ssm-agent (2.3.50.0-1) ...
Starting agent
Created symlink from /etc/systemd/system/network-online.target.wants/amazon-ssm-agent.service to /lib/systemd/system/amazon-ssm-agent.service.
Processing triggers for ureadahead (0.100.0-19) ...
ubuntu@ip-172-31-20-135:~$ sudo systemctl status amazon-ssm-agent
● amazon-ssm-agent.service - amazon-ssm-agent
Loaded: loaded (/lib/systemd/system/amazon-ssm-agent.service; enabled; vendor preset:
Active: active (running) since Thu 2018-09-13 13:23:11 UTC; 28s ago
Main PID: 2078 (amazon-ssm-agen)
CGroup: /system.slice/amazon-ssm-agent.service
mq2078 /usr/bin/amazon-ssm-agent
Sep 13 13:23:14 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Startu
Sep 13 13:23:14 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Startu
Sep 13 13:23:14 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Startu
Sep 13 13:23:15 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Messag
Sep 13 13:23:15 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Messag
Sep 13 13:23:15 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Messag
Sep 13 13:23:15 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Messag
Sep 13 13:23:15 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:12 INFO [Messag
Sep 13 13:23:22 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:22 INFO [Messag
Sep 13 13:23:37 ip-172-31-20-135 amazon-ssm-agent[2078]: 2018-09-13 13:23:37 INFO [Health
ubuntu@ip-172-31-20-135:~$
つないでみます。
c:\work\AWS>aws --profile tokyo ssm start-session --target i-0904327474a9224fe
Starting session with SessionId: xxxxxx-0889f97c50da4cba8
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
$ uname -a
Linux ip-172-31-20-135 4.4.0-1065-aws #75-Ubuntu SMP Fri Aug 10 11:14:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ w
13:32:00 up 52 min, 0 users, load average: 0.00, 0.02, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
$
つながりました。
セキュリティグループを空にしてもそのまま接続できてました。
セキュリティグループ設定したりキーペア作成して管理したりが不要になるのでいいですね!