3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初学者向け:キーペア(秘密鍵)不要なEC2 Instance Connectの特徴と実際に使ってみた感想

Last updated at Posted at 2024-12-17

はじめに

Amazon EC2を利用している方の中には、EC2インスタンスへのSSH接続に苦労した経験がある方も多いと思います。

これまではキーペア(秘密鍵)を使って接続する方法が一般的でしたが、AWSが提供する「EC2 Instance Connect」を利用すれば、ブラウザやCLIから手軽にインスタンスに接続できます。

この記事では、自分自身の備忘録も兼ねて、EC2 Instance Connectの概要や使い方、メリットについてまとめていきます。

EC2 Instance Connectとは?

EC2 Instance Connectは、AWSが提供するEC2インスタンスへの安全なSSH接続手段です。

従来のSSH接続では秘密鍵(キーペア)が必要でしたが、Instance Connectでは一時的な公開鍵を利用してインスタンスに接続できます。

AWS Management ConsoleやAWS CLIを使って、簡単に一時的なSSHアクセスを実現できます。

私とEC2 Instance Connectの出会い

SSMセッションマネージャを触っていた際、秘密鍵(キーペア)を設定していないEC2インスタンスを放置してしまったことがありました。

そのインスタンスの使い道を考え、「EC2 キーペア不要」で検索したところ、「EC2 Instance Connect」というサービスを発見しました!

普段はTera Termなどのソフトを使ってSSH接続することが多いのですが、興味が湧き、実際に試してみることにしました。

詳しく知りたい方は、以下の記事も参考にしてみてください。

EC2 Instance Connectの特徴

今回はEC2 Instance Connect エンドポイントではなく、インターネット経由でアクセスする「EC2 Instance Connect」に焦点を当てて解説します。

  • キーペアの管理が不要
    キーペアの紛失や漏洩リスクを軽減し、一時的な公開鍵で接続できます。

  • 簡単なアクセス
    AWS Management ConsoleやCLIを使って、インスタンスへ直接SSH接続が可能です。

EC2 Instance Connect と EC2 Instance Connect エンドポイントの違い

まず、EC2 Instance ConnectとEC2 Instance Connect エンドポイントの違いを以下の表にまとめました。

項目 EC2 Instance Connect EC2 Instance Connect エンドポイント
接続経路 インターネット経由 VPC内のプライベート経路
ネットワーク要件 インターネット接続必須(ポート22) VPC内のプライベートエンドポイントのみ
セキュリティ SSHポート(22)の開放が必要 SSHポートをインターネットに開放不要
使用シナリオ 一時的なSSHアクセスや鍵管理簡略化 インターネットを経由せずにSSHアクセス
IAM権限 必要(ec2-instance-connectとVPC権限)
インスタンスの公開IPアドレス 必須 不要

今後、EC2 Instance Connect エンドポイントについても技術検証を行い、別の記事でまとめる予定です!

事前準備

ここでは、過去の記事で紹介したTerraformのコードを使い、シンプルなEC2インスタンスを1台構築して検証します。

補足事項として、ここで構築しているEC2インスタンスはパブリックIPv4アドレスをもっており、秘密鍵(キーペア)は割り当ててない構成となっています。

実際にEC2 Instance Connectでインスタンスに接続してみた

AWS Management ConsoleからEC2ダッシュボードにアクセスします。

スクリーンショット 2024-12-17 21.24.01.png

対象のインスタンスを選択し、「接続」をクリックします。

スクリーンショット 2024-12-17 21.24.40.png

接続方法で「EC2 Instance Connect」を選び、「接続」ボタンを押すと、ブラウザ上でSSH接続が開始されます。

スクリーンショット 2024-12-17 21.25.55.png

ブラウザ上でSSH接続が開始され、EC2 Instance Connect専用のブラウザターミナルが起動します。

スクリーンショット 2024-12-17 21.28.27.png

まとめ

EC2 Instance Connectを使えば、従来のSSH接続よりも安全かつ手軽にAmazon EC2インスタンスへアクセスできます。

特に、複数ユーザーが存在する環境や鍵管理を避けたい場合にめちゃくちゃ便利です!

AWS Management ConsoleやCLIを活用して、ぜひEC2 Instance Connectを試してみてください!この記事が、技術的な支えになれば嬉しいです!

おまけ:EC2 Instance Connect と SSM セッションマネージャの違い

AWSのEC2 Instance ConnectとSSMセッションマネージャは、どちらもEC2インスタンスに接続する方法ですが、使い方や要件に違いがあります。

違いのまとめ

特徴 EC2 Instance Connect SSM セッションマネージャ
接続プロトコル SSH(ポート22) SSM API経由(ポート不要)
事前要件 SSH接続許可、IAM権限 SSM Agentのインストール、IAM権限
鍵管理 一時的なSSH公開鍵 鍵管理不要
セキュリティ ポート22の開放が必要 ポート不要。セキュアで安全
ログ記録 なし SSMセッションログをCloudWatch等に記録可能
対応OS Amazon Linux 2, Ubuntuなど Windows, Linux両対応
用途 手軽なSSH接続 セキュアな接続と高度な監査・管理

SSHポートを開放したくない場合や、監査ログが必要な場合はSSMセッションマネージャがおすすめで、短時間のSSH接続や、鍵管理の手間を軽減したい場合はEC2 Instance Connectが便利です!

関連記事

SSMセッションマネージャについて詳しく知りたい方は、以下の記事も参考にしてみてください。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?