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がソースとなる。
作成までちょい時間がかかる。
利用可能になったので接続してみる。
この画面でエンドポイントを指定。
接続できた