こんにちはガジュマル育ててる人です。
もともと弊社はサーバー管理会社ということもあり、EC2への接続はターミナルソフトを使用してSSHをしており、AWSのコンソールからEC2に接続するセッションマネージャー等はつかっていなかったのですが、ちょっとした社内の雑談をきっかけに使ってみたので、自身の備忘録的に残しておきます。
準備
まず、EC2を立ち上げます。
今回はAlmalinux8で立ち上げました。
どうやらAWS Systems Manager エージェント(SSM Agent)というものが必要とのことなので、公式ページに従ってインストールしてみます。
※Amazon Linux系にはAWS Systems Manager エージェント (SSM Agent) がプリインストールされているそうなので、今回はAlmalinux8にしてみました。
[ec2-user@ip-172-31-10-161 ~]$ sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
Last metadata expiration check: 0:49:15 ago on Wed 20 Sep 2023 02:34:46 PM UTC.
amazon-ssm-agent.rpm 5.8 MB/s | 25 MB 00:04
Dependencies resolved.
=============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================================================================================================
Upgrading:
amazon-ssm-agent x86_64 3.2.1542.0-1 @commandline 25 M
Transaction Summary
=============================================================================================================================================================================================================================================
Upgrade 1 Package
Total size: 25 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Running scriptlet: amazon-ssm-agent-3.2.1542.0-1.x86_64 1/1
Preparing : 1/1
Running scriptlet: amazon-ssm-agent-3.2.1542.0-1.x86_64 1/1
Running scriptlet: amazon-ssm-agent-3.2.1542.0-1.x86_64 1/2
Upgrading : amazon-ssm-agent-3.2.1542.0-1.x86_64 1/2
Running scriptlet: amazon-ssm-agent-3.1.1374.0-1.x86_64 2/2
Cleanup : amazon-ssm-agent-3.1.1374.0-1.x86_64 2/2
Running scriptlet: amazon-ssm-agent-3.2.1542.0-1.x86_64 2/2
Running scriptlet: amazon-ssm-agent-3.1.1374.0-1.x86_64 2/2
Verifying : amazon-ssm-agent-3.2.1542.0-1.x86_64 1/2
Verifying : amazon-ssm-agent-3.1.1374.0-1.x86_64 2/2
Upgraded:
amazon-ssm-agent-3.2.1542.0-1.x86_64
Complete!
たったこれだけでエージェントのインストールは完了です。推奨に従って実行確認してみました。
デフォルトで自動起動になっていることも確認できますね!
[ec2-user@ip-172-31-10-161 ~]$ sudo systemctl status amazon-ssm-agent
● amazon-ssm-agent.service - amazon-ssm-agent
Loaded: loaded (/etc/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-09-20 15:24:18 UTC; 1min 40s ago
Main PID: 277353 (amazon-ssm-agen)
Tasks: 8 (limit: 5807)
Memory: 16.8M
CGroup: /system.slice/amazon-ssm-agent.service
mq277353 /usr/bin/amazon-ssm-agent
(以下略)
早速接続確認を行いたかったのですが、まだステップがありました。
Systems Manager Quick Setupが必要とのことで実施していきます。
「使用開始」をクリックしてセットアップを開始していきます
特に設定をするところはなかったので、ほとんどデフォルト設定のまま設定のまま作成を行いました。
※他に作成中のインスタンスがあったので、今回は手動で対象のEC2インスタンスのみを選択して作成しましたが、すべてのインスタンスでも動作には影響がないかと思います。
こちら実行するとEC2のIAMロールに下記がアタッチされていたので、もしつなげない際はこちらが必要かもしれません。
ロールの中身は下記のAWS管理ポリシーのようですので、もしすでにロールがついていて自動で割り当てのロールがアタッチされていない場合はこちらを付けてみて試してみるとよいかもしれません。
・AmazonSSMManagedInstanceCore
・AmazonSSMPatchAssociation
いざ接続
数分程度ラグはありましたが、無事接続ボタンが押せるようになってました。
idコマンドを入力してみたところssm-userでログインしているようです。
sudo su -にてroot昇格できたので、確認してみたところec2-user等と同様にsudoの許可設定がありました。
もちろん手動で作成したわけではないので、自動作成されているようです。
最後に
ターミナルソフトもいいですが、webコンソールから触る場合はSSHキーの管理が不要になる等、どちらもメリットデメリットあるかと思いますし、運用を考える時に十分選択肢になるものだなとも感じます。
ちょっとした興味から触ってみましたが、SSMはもっといろんな機能があるようなのでまた触った際に記事にしてみようかと思います。
それではまた!