(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【AWS/EC2】RHELに対してEC2 Instance Connect Endpoinでログインする

スポンサーリンク

やりたいこと

プライベートサブネットに立てたRed Hat Enterprise Linuxを搭載したEC2に対し、EC2 Instance Connect Endpoint経由での接続を行う。

環境情報
  • RHEL-9.3.0_HVM

やり方

初期状態でオーダーをしただけでは以下のようなエラーとなる。

Failed to connect to your instance
Error establishing SSH connection to your instance. Try again later.

原因としては接続用のモジュールが不足しているため、ユーザスクリプト(インスタンス作成時に実行するスクリプト)に以下を記載する。

#!/bin/bash
mkdir /tmp/ec2-instance-connect
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm

起動後は確かにEC2の管理コンソールから「Connect using EC2 Instance Connect Endpoint」を選択して接続ができる。

以下、補足です。

補足

起動後のEC2にてユーザスクリプトの実行ログを見たい場合は

$ cat /var/log/cloud-init-output.log 

を行います。

すると指定したモジュールのインストールが行われていることが分かります。

Cloud-init v. .. running 'modules:config' at ... Up 17.53 seconds.
Cloud-init v. .. running 'modules:final' at ... Up 18.52 seconds.
...
This system is not registered with an entitlement server. You can use subscription-manager to register.
...
================================================================================
 Package                        Arch     Version           Repository      Size
================================================================================
Installing:
 ec2-instance-connect           x86_64   2.0.0-1.rhel9     @commandline   3.8 M
 ec2-instance-connect-selinux   noarch   2.0.0-1           @commandline   5.9 k
...

以上、ご参考ください。