EC2 Instance Connect EndpointでパブリックIPアドレスが無いEC2にSSH接続してみる

AWS

EC2 Instance Connect Endpointとは

EC2 Instance Connect Endpoint(EICエンドポイント)というサービスがリリースされました。
今までプライベートサブネットのEC2インスタンスに接続するには、パブリックサブネット上の踏み台となるEC2インスタンスを経由する必要があったが、EICエンドポイントを使用する事で直接接続が可能となる。

Session Managerとの違い

EC2 Instance Connect Endpoint と Session Managerの違いをまとめてみた | DevelopersIO
EC2 Instance Connect Endpoint(以降EIC エンドポイント)とAWS Systems Manager Session Manager(以降セッションマネージャー)には、どのような違いがあるかまとめました

こちらの記事を参考に、違いをまとめるとこう

機能EC2 Instance Connect Endpoint(EICエンドポイント)AWS Systems Manager Session Manager(セッションマネージャー)
構築作業EICエンドポイントの作成が必要EC2インスタンス用のIAMロールと複数のVPCエンドポイントの作成が必要
可用性1つのVPCに1つのエンドポイントのみ。AZ障害時に利用不能複数のサブネットにVPCエンドポイントが作成可能。1つのAZで障害が起きても利用可能
ログ出力AWS CloudTrailのみAWS CloudTrail、Amazon CloudWatch Logs、Amazon S3
接続制御IAMユーザー側で制限可能。特定のCIDRにあるエンドポイントのみ接続可能な制限も設定可能IAMユーザーもしくはEC2インスタンスにアタッチされたIAMロールによる制限が可能
料金利用料金は無料(ただしデータ転送料金は発生)インターフェース型VPCエンドポイントの利用料金が発生
制約1つのVPCに1つしか作成できないVPCごとに作成できるエンドポイント数は50で、上限緩和可能
対応リソースEC2インスタンスのみEC2インスタンス、オンプレミスのサーバー
必要なエージェントEC2 Instance Connectパッケージが必要AWS Systems Managerエージェント (SSM Agent)が必要
最大セッション時間最大1時間最大24時間

使ってみる

以下記事を参考にした

[アップデート]パブリック IP アドレスなしで、EC2インスタンスにSSH接続できる EC2 Instance Connect Endpointがリリースしました | DevelopersIO
EC2 Instance Connect Endpointによって、踏み台サーバーやパブリック IP アドレスなしで、EC2インスタンスにRDP接続やSSH接続できます

目指す構成

クライアント → EICエンドポイント → EC2
プライベートサブネット内のパブリックIPを持たないEC2に、EICエンドポイントを介して接続します。

準備

・プライベートサブネット内にEC2を作成
 
・EICエンドポイントのセキュリティグループ
 アウトバウンド:SSHで送信先にEC2のSGを指定
 インバウンド:無し

・EC2のセキュリティグループ
 インバウンド:SSHでEICエンドポイントのセキュリティグループを指定
 アウトバウンド:全て許可

EICエンドポイント作成

セキュリティグループにEICエンドポイント用を指定し、
サブネットはプライベートサブネットを指定。

Preserve Client IPを利用すると、クライアントのIPがソースとして利用され、
利用しないと、エンドポイントのIPがソースとなる。

作成までちょい時間がかかる。

利用可能になったので接続してみる。
この画面でエンドポイントを指定。

接続できた

タイトルとURLをコピーしました