RHEL9のEC2にConnectEndpointで接続【AWS】

EC2アイキャッチ画像

・プライベートサブネットにあるEC2にConnectEndpointで接続したい

プライベートサブネットに作成したEC2にConnectEndPointを用いて接続する方法を紹介します。
下記の流れで実施します。
・SSH接続可能なEC2にConnectEndpointの設定を行う
・AMIを作成し、AMIからプライベートサブネットにEC2を作成
・DirectConnectエンドポイントの作成
・SGの設定

■前提
・SSH接続可能なEC2がある。
・プライベートサブネットは作成済み

今回作成概要図

AMI元となるEC2にConnectEndpoint設定を行う

AMI元となるEC2にSSH接続します。

EC2にSSH接続を行います。

下記のコマンドより、EC2インスタンスコネクトパッケージをインストールします。

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からの実行動画
EC2からの実行結果

/opt/aws/bin/フォルダに次の新しいスクリプトが表示されているのを確認

ll /opt/aws/bin/
作成物確認

下記confファイルを開けることを確認し、インスタンスに正常にインストールされていることを確認します。

sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
確認画面

AMIの作成

インスタンスを停止

インスタンスを停止画面

イメージを作成

イメージ作成画面

名前を任意で入力し、その他の項目はデフォルトのまま「イメージを作成」をクリック

イメージ作成画面

左側のメニューより「AMI」を作成し「保留中」であることを確認します。
「利用可能」となるまで待ちましょう。

AMI作成画面

セキュリティグループ設定

エンドポイントのSG作成・EC2のSG修正(作成)

下記のような内容で作成・編集してください。

■EC2にアタッチしているSG
・SSH(ポート22)のConnectEndpointからのSGのインバウンドを許可

■Connect EndpointにアタッチするSG
・SSH(ポート22)の接続したいEC2のSG宛にアウトバウンドを許可


この時Connect EndpointにアタッチするSGについては、マネジメントコンソール上からアクセスするので、インバウンドを許可する必要はありません。

ConnectEndpointにアタッチするSG(インバウンド)の設定

ConnectEndpoint SG設定

ConnectEndpointにアタッチするSG(アウトバウンド)の設定

SG設定

EC2にアタッチしているSG(インバウンド)の設定

EC2 SG設定

EC2 Instance Connect Endpoint作成

下記の内容で設定

ステータスが「使用可能」となるまで待機(私の環境では3分ほど)

エンドポイント作成画面

接続方法

インスタンスにチェックを入れ「接続」をクリック

インスタンス接続画面

下記のように入力し「接続」をクリック

ConnectEndpoint作成画面

無事つながりました。RHEL9では注意が必要ですね。

作成完了画面

以上、参考になれば幸いです。