EC2を立てる機会がありそこでAmazonLinux2023を使ってみようと思って使ってみた。
普段はTerraformをよく使っていて、AmazonLinux2023のイメージは以下のように取得してみた。
data "aws_ami" "al2023" {
  most_recent = true
  owners      = ["amazon"]
  filter {
    name   = "name"
    values = ["al2023-ami-*-kernel-6.*-x86_64"]
  }
}
そのうえでSessionManagerにてアクセスしようとしたら以下のエラー。
$ aws-vault exec user01 -- aws ssm start-session --target i-08392706851599507 --region ap-northeast-1 An error occurred (TargetNotConnected) when calling the StartSession operation: i-08392706851599507 is not connected.
あれれ?AWSの公式イメージなのでSSM Agent初期で入っているのかと思っていたが入っていないのか?って思ってsshの設定をしてみてみたところ確かに入っていない。
SessionManagerでアクセスするためにはSSM Agentが必須なので、インストールする。
SSM Agentのインストール
インストール方法は公式サイトに書いてある通りのコマンドを実行するのみ。
実際は、以下のコマンドラインをEC2のUserDataの中で実行するだけ。
# SSM Agent のインストール sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm sudo systemctl start amazon-ssm-agent
上記をUserdataの中に追加して実行したら、正常にアクセスできるようになった。(ロールとかの付与は忘れずに)
まとめ
AutoscalingGroupで使っているときに同じAMI IDを使っていた気がするんだけどその時は入っていたような気がしたんだけどな。
ひょっとしたらそこが関係しているのかも?とりあえずピュアなEC2を立てる際は必要だったので忘れないための備忘録でした。
それではー。
