先に要点
- EC2 Instance Connect は、接続する人がその場で短時間だけ使う公開鍵を送り、SSHログインするための入口です。
- SSHをやめる仕組みではありません。セキュリティグループや接続経路、OSユーザーの設計は残ります。
- 固定鍵の配布・
authorized_keysの手管理・削除漏れを減らし、接続権限をIAM側でも整理しやすくなります。 - 22番を閉じたい、踏み台を減らしたいなら Session Manager も比較します。
EC2 Instance Connect は、EC2 へSSH接続するときに、長く使う公開鍵を各サーバーへ配り続けなくても接続しやすくするAWSの仕組みです。
ざっくり言うと、接続したい人が、その場で短時間だけ使う公開鍵を送り、SSHログインする ための入口です。
次のような悩みがあるときに効きます。
固定鍵
サーバーごとに固定SSH鍵を配りたくない
残った鍵
退職者や外注先の鍵が残る運用を減らしたい
手管理
authorized_keys の手管理をなるべく減らしたい
権限
誰がどの権限で接続できるかを IAM 側でも整理したい
この記事では、2026年4月23日時点で AWS公式の
EC2 Instance Connect methods、Connect to your Linux instance using EC2 Instance Connect、EC2 Instance Connect Endpoint concepts、必要なIAM権限に関するドキュメントを確認しながら整理しています。
EC2 Instance Connectとは何か
通常のSSH運用では、接続する人ごとに公開鍵をサーバーへ配り、authorized_keys に登録して使うことが多いです。
この方法はシンプルですが、人数やサーバー台数が増えると、誰の鍵がどこに入っているのか が散らかりやすくなります。
EC2 Instance Connect は、この問題を少し整理しやすくします。
接続時にAWS API経由で一時的な公開鍵をインスタンスへ送って、その短い時間だけSSHログインを通す考え方です。
つまり、普段から各サーバーへ固定鍵をばらまき続ける代わりに、必要な瞬間だけ鍵を差し込む イメージです。
このため、鍵配布の棚卸しや削除漏れを減らしやすくなります。
どういう仕組みで接続するのか
流れをかなり単純化すると、次のようになります。
EC2 Instance Connect で接続する流れ(単純化)
ここで重要なのは、最終的なログイン自体はSSHだという点です。つまり、OSユーザー、接続元、VPC、セキュリティグループ、22番ポートの扱いをまったく考えなくてよくなるわけではありません。
何がうれしいのか
利点 1
固定SSH鍵の配布を減らしやすい
いちばん分かりやすい利点はここです。人が増えるたびに各EC2へ公開鍵を配る運用は、あとで誰の鍵か分からなくなりやすいです。EC2 Instance Connect なら、接続権限はIAMで絞り、鍵は都度使う 形へ寄せやすくなります。そのため、退職者、委託先、臨時作業者のアクセス整理が少しやりやすくなります。
利点 2
authorized_keys の手管理を減らせる
手動で鍵を配り続けると、サーバー追加時の投入忘れや、古い鍵の消し忘れが起きやすいです。EC2 Instance Connect は、この 各サーバーへ静的な鍵一覧を配り続ける運用 を薄くできます。
利点 3
接続権限をIAMでも見やすくできる
どのインスタンスへ誰が接続できるかを、EC2やOSだけでなくIAMポリシー側でも整理しやすくなります。完全にそれだけで足りるわけではありませんが、サーバー内部のファイルだけで管理するより見通しは良くなります。
どんな場面に向いているか
EC2 Instance Connect が向いているのは、たとえば次のようなケースです。
特に、最初は少人数だから手動鍵配布でもよかったが、だんだん怖くなってきた という段階で相性がよいです。
向いていない、または別手段も考えたい場面
逆に、次のような場合は別の方法も比較した方がよいです。
- そもそも22番を開けたくない
- SSH自体をなるべく使わない運用へ寄せたい
- ブラウザやSSM経由の管理にまとめたい
- EC2がprivate subnetにいて、接続経路も見直したい
この場合は、AWS Systems Manager の Session Manager 系の方法も比較に入ります。EC2 Instance Connect は SSH鍵運用を軽くする には強いですが、SSHを使わない 方向とは少し別です。
EC2 Instance Connect Endpointとは何が違うのか
ここは混乱しやすい点です。
最近のAWSでは EC2 Instance Connect Endpoint という言葉も出てきます。
ざっくり分けると、こんな見方です。
| 用語 | 役割 |
|---|---|
| EC2 Instance Connect | 一時的な鍵を使ってSSH接続しやすくする仕組み |
| EC2 Instance Connect Endpoint | public IPv4 を前提にしない接続経路を作りやすくする仕組み |
つまり、片方は 鍵と接続のやり方、もう片方は どの経路で入るか に近いです。記事タイトルとしてよく混ざりますが、役割は同じではありません。
Session Managerとの違い
これも比較されやすいです。
| 項目 | EC2 Instance Connect | Session Manager |
|---|---|---|
| 基本の考え方 | SSHを使う | SSHなしでもセッションを張れる |
| 鍵の扱い | 一時鍵で軽くしやすい | SSH鍵前提ではない |
| 22番ポート | 場合によっては必要 | 使わない構成を取りやすい |
| 既存SSH運用との相性 | 高い | 運用を変える色が強い |
そのため、いまSSHで運用しているが、鍵配布だけつらい なら EC2 Instance Connect が入りやすいです。
逆に、接続経路そのものをもっと閉じたい 踏み台を減らしたい なら Session Manager の方が合うことがあります。
使うときの注意点
EC2 Instance Connect はIAMが関わりますが、OSユーザー側の扱いまで自動で安全になるわけではありません。どのLinuxユーザーへ入れるのか、sudo権限はどうするのか、作業ログはどう残すのかは別で整理が必要です。
SSHで入る以上、ネットワーク条件を無視できません。接続元を絞る、不要な公開を避ける、private subnet の構成では経路を見直す、といった基本は残ります。
鍵を配らない = 監査不要 ではない
固定鍵が減っても、誰がいつ接続したか、どの権限で入れたか、何を変更したかは別で見えるようにした方が安全です。CloudTrail やOS監査ログまで含めて考えると、実運用で崩れにくくなります。
よくある誤解
誤解 1
EC2 Instance Connect はSSH不要の仕組み
違います。EC2 Instance Connect は、SSHを使う前提で、鍵運用を軽くしやすくする仕組みです。
誤解 2
これを入れれば22番管理を考えなくてよい
そこまではいきません。SSH接続である以上、セキュリティグループや接続経路の設計は残ります。
誤解 3
これだけでアクセス管理が完成する
実際には、IAM、OSユーザー、sudo、監査ログ、作業手順まで含めて初めて安全寄りになります。EC2 Instance Connect は、その中の 鍵配布のつらさ を減らす部品です。
EC2 Instance Connectのよくある質問
Q. EC2 Instance Connect と Session Manager の違いは?
A. Instance Connect は SSH 経由(22番ポート)、Session Manager は SSH 不要(HTTPS 経由)。SSHプロトコルそのもの を使うかどうかが最大の違いです。Session Manager の方が現代的でセキュリティ的に強い設計。
Q. 料金はかかりますか?
A. EC2 Instance Connect 自体は無料。Instance Connect Endpoint(VPN/Bastion 不要のエンドポイント)も無料。SSH 接続のデータ転送料金は通常通り。
Q. パスワード認証は使えますか?
A. 使えません。一時的な公開鍵を AWS が EC2 に注入する仕組みで、パスワード認証ではなく公開鍵認証になります。
Q. プライベートサブネットの EC2 にも使えますか?
A. はい、EC2 Instance Connect Endpoint 経由で可能。Bastion ホストなしで、IAM 認証で安全にプライベート EC2 へ到達できます。
Q. ログ監査はどうしますか?
A. CloudTrail に SendSSHPublicKey 操作が記録されます。誰がいつどの EC2 に接続したか を IAM ユーザー単位で追跡可能。Session Manager と組み合わせると、コマンド履歴まで残せます。
Q. SSH 鍵の管理を辞められますか?
A. 大半は辞められます。固定の SSH 鍵を配布する代わりに、IAM 認証 + Instance Connect で都度生成、という運用が可能。誰の鍵か追跡不能 の問題が解消されます。
Q. CLI から使えますか?
A. はい、aws ec2-instance-connect ssh コマンドで CLI 経由で接続可能。AWS CLI v2 とプロファイル設定が必要ですが、慣れれば普通の ssh コマンドと同じ感覚で使えます。
まとめ
EC2 Instance Connect は、EC2へSSH接続するときに、固定鍵をあちこちへ配り続ける運用を減らしやすくするAWSの仕組みです。
SSHをやめる のではなく、SSH鍵を一時化しやすくする と理解するとズレにくいです。
既存のSSH運用を大きく変えずに、鍵配布の棚卸し、削除漏れ、属人化を少し減らしたいならかなり相性があります。
逆に、22番を閉じたい、踏み台を減らしたい、SSH自体を薄くしたいなら、Session Manager系も比較すると判断しやすいです。