【AWS】EC2 Instance Connect Endpointを使ってプライベートなEC2へアクセスしてみた
更新日: 2023/07/19
概要
プライベートサブネットにEC2インスタンスを置いた時にそこにアクセスするには踏み台用のEC2を作成していましたがそんなものは要らなくなった!そうなので試してみた。
Amazon EC2 Instance Connect でパブリック IP アドレスなしで SSH 接続と RDP 接続が可能に - aws
接続方法
1. セキュリティグループを作成
EC2
└ ネットワーク&セキュリティ - セキュリティグループ
最初に EIC Endpoint を作りに行きたいところだが現時点(2023/07)ではエンドポイント作成画面から作ることはできなかったので、先にセキュリティグループを作成する。
ここでは接続したいプライベートEC2群にすでにセキュリティグループ (仮称:SG-A) があることを前提とする。
EIC Endpoint につけるセキュリティグループ (SG-B)
新規に下記を作成する。
インバウンドルール
なし!
アウトバウンドルール
タイプ | プロトコル | ポート範囲 | 送信先 |
---|---|---|---|
SSH | TCP | 22 | 接続したいプライベートEC2群についている セキュリティーグループ (SG-A) |
接続したいプライベートEC2群につけるセキュリティグループ (SG-A)
下記をすでにある(踏み台EC2から接続するグループがある想定)セキュリティグループに追加
インバウンドルール
タイプ | プロトコル | ポート範囲 | ソース |
---|---|---|---|
SSH | TCP | 22 | 上記で作成したEIC Endpointの セキュリティーグループ (SG-B) |
アウトバウンドルール
追加なし!
2. EIC Endpoint の作成
VPC
└ 仮想プライベートクラウド - エンドポイント
次にやっとエンドポイントを作成します。
サービスカテゴリを選択
VPC の選択
EC2の存在する VPC を選択しましょう。
※ 追加設定について
今回はオンにしませんが Security groups for EC2 Instance Connect Endpoint - aws ドキュメント を参考にしてください。
セキュリティグループを選択
一つ前の項目で VPC を変えるとここに出てくる項目も自動的に変わります。
先ほど作成した「EIC Endpoint用」のセキュリティグループを選択してください。
サブネットを選択
EIC Endpoint を作成するプライベートサブネットを選択します。
「エンドポイントを作成」を押して完成
完成ですが、気を抜いてはいけません。
エンドポイントの一覧を確認してステータスが必ず 保留中
から 使用可能
になることを確認して準備完了です。
(下記2段目)
3. いざ接続
EC2
└ インスタンス - インスタンス
インスタンスの選択
インスタンスの一覧にて、接続したいインスタンスにチェックボックスをオンにし、右上の接続を押す。
接続方法の設定
下記のような画面になる。接続方法を EIC Endpoint を使うを選択。
接続するユーザー名が違う場合はここで変更。
先ほど作った EIC Endpoint が選択できるようになっているので選択。
「接続」ボタンを押す
押すと別タブが開いてコンソールが表示されます。
お疲れ様でした。
エラーが出た
ブラウザのキャッシュのせいで開けないことがありました。
再ログインし直したらその他設定もいじらずにできましたので、もし何かしらエラーが出た場合は一回サインアウトしてみると良いかもしれません。
おわりに
踏み台サーバーを立てずに操作することができるようになり、消し忘れ等で余計な出費が減りそうです。
また、Amazon Linux 2 でインスタンスを作成していればプライベートサブネットにあっても S3 エンドポイントを利用して yum も使えます。
このようにプライベートサブネットでのインスタンス維持がやりやすくなってきてとっても嬉しい限りです。