9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EC2 Instance Connectでブラウザベースの接続ができない時の対処

Last updated at Posted at 2020-04-04

###Instance Connectのブラウザベースの接続
普段は自分のPCからsshでEC2のinstanceにログインしていましたが、
Instance Connectのブラウザベース接続というものがあると知りました。
これを使うとインターネット環境があればどこでも自由にEC2のinstanceへログインできるそうです。

そこで以下を参考にして、Instance Connectのブラウザベースで接続を試みました。
EC2 Instance Connect のセットアップ

Screenshot from 2020-04-04 15-26-14.png

すると、画面が黒いまま何も表示されない・・
Screenshot from 2020-04-04 15-26-25.png

そして、結局、接続失敗!!
Screenshot from 2020-04-04 15-49-55.png

ローカルPCからはsshでC2にログインできるのに、
Instance Connectのブラウザベースでは接続が失敗しました。

###試行錯誤した結果、この場合の確認ポイントは以下の3点でした。

####1.セキュリティグループのインバウンドの設定
対象のEC2インスタンスのセキュリティグループのインバウンドの設定に以下を追加する必要があります。
タイプ:ssh
プロトコル:TCP
ポート範囲:22
ソース:カスタム 3.112.23.0/29
Screenshot from 2020-04-04 10-05-40.png

####2.IAM(ユーザ)の設定
consoleにloginするIAM(ユーザ)に、以下のポリシーをアタッチします。

設定項目と設定値
Region:ap-northeast-1
AWS accountID:000000000000
InstanceID:i-99999999999999999
Osuser:ubuntu(AmazonLinux2のデフォルトのユーザー名はec2-user、Ubuntuの場合はubuntu)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey",
            "Resource": "arn:aws:ec2:ap-northeast-1:000000000000:instance/i-99999999999999999",
            "Condition": {
                "StringEquals": {
                    "ec2:osuser": "ubuntu"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        }
    ]
}

####3.instance側の設定
対象のinstanceにsshでログインして、以下を実行します。
sudo apt-get update
sudo apt-get install ec2-instance-connect

4つの新しいファイルが作成されていることを確認します。

$ ls /usr/share/ec2-instance-connect/
eic_curl_authorized_keys
eic_harvest_hostkeys
eic_parse_authorized_keys
eic_run_authorized_keys

これでブラウザベースのInstance Connectができるはずです!!


####これでも解決しない場合
なお、ここまでやっても接続できない場合、
以下のように許可の範囲を一時的に広げて確認してみましょう。

  • セキュリティグループのインバウンドのIPの範囲を「0.0.0.0/0」まで広げてみる
  • consoleにloginするuserのIAMにAmazonEC2FullAccessのポリシーをアタッチしてみる

EC2 Instance Connectはインターネットが繋がれば、どこからでもEC2のinstanceにログインできるため、事前に準備してログインできるようにしておくと何かあった時に役立つと思います。

参考

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

9
10
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
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?