Help us understand the problem. What is going on with this article?

EC2 Instance Connect の特徴や注意点についてまとめてみる

はじめに

2019/6/27 に EC2 に SSH するための新しい機能 である
Amazon EC2 Instance Connect が利用できるようになりました

Introducing Amazon EC2 Instance Connect
https://aws.amazon.com/jp/about-aws/whats-new/2019/06/introducing-amazon-ec2-instance-connect/

軽く触った程度ではありますが、気になった点などをまとめてみました。

Session Manager との違い

ブラウザやAWS CLIベースのシェルアクセスを提供する機能として
AWS Systems Manager Session Manager が以前から利用できました。

Session Manager の特徴

セッションマネージャーは SSM Agentを介してシェルを利用するため、SSH接続ではありません。
そのためOS観点ではユーザーログインの履歴が残らないなどのデメリットもあります。
もちろんセッションマネージャーのログとしてAWS側には残りますし、
SSH自体使う必要がないのも大きなメリットです。

また2019/7/9 にはSession Manager側でSSHおよびSCPをトンネリングして
EC2に接続できる機能も追加されています。

Session Manager launches tunneling support for SSH and SCP
https://aws.amazon.com/about-aws/whats-new/2019/07/session-manager-launches-tunneling-support-for-ssh-and-scp/

Instance Connect の特徴

EC2 Instance Connect は 通常のSSHを利用しながらも AWS側の API を利用するので
CloudTrailに接続記録が残ったりIAMでログインできる人を制御できるのが特徴です。
また接続の仕組みとして Instance Connect のAPIは1回限り(60秒間)有効な使い捨ての
SSHキーをセットアップするため、よりセキュアなSSH接続を実現するすることができます。

またコンソールや専用のCLI(EC2 Instance Connect CLI)だけでなく、
PuTTY や TeraTerm など 任意のSSHクライアントを利用して接続することができます。

どちらが良い悪いではなく、どのような管理を行いたいかによって
利用者がより柔軟に接続方法を選択できるようになったと感じています。

セキュリティグループの設定

コンソールやCLIで Instance Connect で接続するには対象のEC2が
パブリックに接続できる必要があります。
特にコンソールから接続する際にはセキュリティグループの考慮が必要で、
EC2 Instance Connectが利用するIPアドレス範囲に絞るべきです。

使用されるIPのレンジは 公開されており,
2019/6/28 時点で東京リージョンは3.112.23.0/29 となっています。

    {
      "ip_prefix": "13.209.1.56/29",
      "region": "ap-northeast-2",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "13.233.177.0/29",
      "region": "ap-south-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "13.239.158.0/29",
      "region": "ap-southeast-2",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "13.52.6.112/29",
      "region": "us-west-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "18.202.216.48/29",
      "region": "eu-west-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "18.206.107.24/29",
      "region": "us-east-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "18.228.70.32/29",
      "region": "sa-east-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "18.237.140.160/29",
      "region": "us-west-2",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "3.0.5.32/29",
      "region": "ap-southeast-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "3.112.23.0/29",
      "region": "ap-northeast-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "3.120.181.40/29",
      "region": "eu-central-1",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "3.16.146.0/29",
      "region": "us-east-2",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "3.8.37.24/29",
      "region": "eu-west-2",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "35.180.112.80/29",
      "region": "eu-west-3",
      "service": "EC2_INSTANCE_CONNECT"
    },
    {
      "ip_prefix": "35.183.92.176/29",
      "region": "ca-central-1",
      "service": "EC2_INSTANCE_CONNECT"
    }

AWS IP アドレスの範囲
https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-ip-ranges.html

ただしAWSが使用するIPレンジは、変更される可能性があるため、
必要に応じて変更のチェックと設定の変更を行うという運用も必要になってくるのではと思います。

以上です。
参考になれば幸いです。

参考

Connecting to Your Linux Instance Using EC2 Instance Connect
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away