はじめに
AWSでAmazon EC2 Instance Connect Endpoint (EIC エンドポイント)が日本時間で2023/06/14リリースされました!
リリースノート
ということで早速触ってみました!
Amazon EC2 Instance Connect ( EIC ) とは
まず、EICとはAWSのEC2インスタンスに接続する際、AWSマネジメントコンソールからログインができるというサービスになっています。
こちらのEIC自体は以前から存在しているサービスになります。
EICを利用するにはEIPをアタッチし、外部から接続可能な環境である必要がありました。
しかし今回のアップデートで、Amazon EC2 Instance Connect Endpoint (EIC エンドポイント) がリリースされ、
EIPのない機器にもAWSマネジメントコンソールから接続が可能となりました。
概要ネットワーク図はこのようになります。
(ドキュメントからの引用)
AWSドキュメントとしてはこちら になります。
すでにすべての AWS 商用リージョンと AWS GovCloud (米国) リージョンで利用可能であり、
料金もEIC自体は無料になり、転送料のみの課金となります。
利用可能な環境
まず接続先のサーバが ec2-instance-connect に対応している必要があります。
2023/06/14 現在、EICに対応しているサーバOSは
- Amazon Linux 2 以降
- Ubuntu 16.04 以降
になります。
- Amazon Linux 2 2.0.20190618 以降( Amazon Linux 2023 を含む)
- Ubuntu 20.04
では初期段階からインストール済みです。
1. VPCエンドポイントの作成
AWSマネジメントコンソールからGUIで作成してみます。
注:2023/06/14 作成したところ、Preserve Client IP の機能を有効化することができませんでした。
AWS側の機能更新で修正されると思います
下記を入力し、[Create endpoint]をクリックすることで作成に進むことができます。
2023/06/14の記事作成段階では、エンドポイントが利用可能になるまで3~5分ほどかかりました。
- Name tag : 名前を入力(名前無しも可)
- Service category : [ EC2 Instance Connect Endpoint ] を選択
- VPC : プルダウンメニューから、接続したいEC2インスタンスのあるVPCを選択
- Additional settings : Preserve Client IP について セキュリティグループで制御する際のIPを、AWSコンソールを開いているクライアントIPか、ECIエンドポイントのVPC内のIPとするかを選択。デフォルトはECIのIPになり、チェックを入れることでクライアントIPとなるはず・・なのですが、本記事執筆段階では機能せず
- Security groups : ECIエンドポイントに付与するセキュリティグループの設定
- ここでセキュリティグループを作成し、対象のEC2には作成したセキュリティグループID(sg-xxx)を許可とすることが良いです
- Subnet : ECIエンドポイントを作成するサブネットを選択。パブリックサブネットである必要はありません
- Tags : 必要に応じて設定。
2. 実際に接続
[EC2] -> [Instances] と移動し、インスタンス一覧から接続したいインスタンスを選択し、右クリックもしくは右上の[Connect]をクリック [Connect to instance] という選択方法の画面が出てくるので、[EC2 Instance Connect](デフォルト選択タブ)を選び、
[Connect using EC2 Instance Connect Endpoint]を選択。
- User name : 接続に利用するユーザ( 標準はec2-user )
- Max tunnel duration : 最大セッション時間(この時間を超過するとSSHセッションは強制断されます)
- EC2 Instance Connect Endpoint : 先程「1. VPCエンドポイントの作成」で作成したエンドポイントを選択
下記のように設定し、[Connect]をクリックすることでインスタンスに接続することができます。
3. 接続例
接続例ですが、パブリックIPを持たず、172.18.10.150のプライベートIPしかないサーバに接続することができています。
注意点
作成して気になった点を記載します
- 対応OSが限られる
EICの仕様上、原状AmazonLinux2以降と、ubuntu16.04 以降でしか利用できません。
RHEL系OSや、Windowsでは原状利用できません。SSMのSession Managerの利用を検討してください。 -
Preserve Client IP が有効化できない
これは将来的に対応されると思いますが記載しておきます。
最後に
SessionManagerも良いのですが、EC2コンソールから簡単に接続ができるという点から、
こちらのEICエンドポイントを利用した接続も便利かもしれません。
EC2ではほかにもシリアルコンソールなど、SSH以外での接続方法があるため、好みや要件によって使い分けると良いかと思います。
投稿者プロフィール
-
2013年入社の平成生まれです。
初めて触ったコンピュータはPC9821でダイヤルアップでした。
その時に鯖落ちや人大杉の対応をしてくださる鯖缶になりたいと憧れ、
みなさんのお役に立てればと思っております!
#今では個人所有のパソコン・サーバだけで20台ほどあります…。
サーバー大好き!