EC2 Instance Connect を使用して接続 - Amazon Elastic Compute Cloud

EC2 Instance Connect を使用して接続

次の手順では、EC2 Instance Connect を使用して Linux インスタンスに接続する方法について説明します。

インスタンスへの接続を試みているときにエラーが表示された場合は、インスタンスへの接続に関するトラブルシューティング および EC2 Instance Connect を使用して EC2 インスタンスへ接続しようとしたときの問題のトラブルシューティング方法を教えてくださいをご参照ください。

制約事項

  • 以下の Linux ディストリビューションがサポートされています。

    • Amazon Linux 2 (すべてのバージョン)

    • Ubuntu 16.04 以降

  • Amazon EC2 コンソール (ブラウザベースのクライアント) を使用して接続するには、インスタンスにパブリック IPv4 アドレスが必要です。

  • インスタンスにパブリック IP アドレスがない場合は、SSH クライアントまたは EC2 Instance Connect CLI を使用して、同じ VPC 内のマシン、または VPN または AWS Direct Connect を介して VPC に接続されたマシンなどのプライベートネットワーク経由でインスタンスに接続できます。

  • EC2 Instance Connect は IPv6 アドレスを使用した接続をサポートしていません。

前提条件

  • インスタンスに Instance Connect をインストールします。

    詳細については、「EC2 Instance Connect のセットアップ」を参照してください。

  • (オプション) ローカルコンピュータに SSH クライアントをインストールします。

    ユーザーが Amazon EC2 コンソール (ブラウザベースのクライアント) または EC2 Instance Connect CLI のみを使用してインスタンスに接続する場合、SSH クライアントをインストールする必要はありません。ほとんどの場合、ローカルコンピュータにはデフォルトで SSH クライアントがインストールされています。SSH クライアントがあるかどうかを確認するには、コマンドラインで ssh と入力します。使用するローカルコンピュータでこのコマンドが認識されない場合、SSH クライアントをインストールできます。Linux または macOS X に SSH クライアントをインストールする詳細については、「http://www.openssh.com」を参照してください。Windows 10 に SSH クライアントをインストールする詳細については、「Windows の OpenSSH」を参照してください。

  • (オプション) ローカルコンピュータに EC2 Instance Connect CLI をインストールします。

    ユーザーが Amazon EC2 コンソール (ブラウザベースのクライアント) または SSH クライアントのみを使用してインスタンスに接続する場合は、EC2 Instance Connect CLI をインストールする必要はありません。詳細については、「タスク 3: (オプション) EC2 Instance Connect CLI をインストールする」を参照してください。この接続方法は、パブリック IP アドレスを持つインスタンスに対して機能します。

EC2 Instance Connect を使用して接続

Amazon EC2 コンソール (ブラウザベースのクライアント) を使用した接続

コンソールからインスタンスを選択し、EC2 Instance Connect を使用して接続することを選択することにより、Amazon EC2 コンソール (ブラウザベースのクライアント) を使用してインスタンスに接続できます。Instance Connect からアクセス許可が付与され、正常に接続されます。

Amazon EC2 コンソールからブラウザベースのクライアントを使用してインスタンスに接続するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択し、[接続] を選択します。

  4. [EC2 Instance Connect] を選択します。

  5. ユーザー名を検証し、[Connect (接続)] を選択してターミナルウィンドウを開きます。

EC2 Instance Connect CLI を使用して接続する

EC2 Instance Connect CLI を使用してインスタンスに接続するには、インスタンス ID のみを指定します。Instance Connect CLI によって次の 3 つのアクションが 1 つの呼び出しで実行されます: 1 回限り使用の SSH パブリックキーが生成されます。このキーがインスタンスにプッシュされて 60 秒間保持されます。ユーザーがインスタンスに接続されます。Instance Connect CLI では基本的な SSH/SFTP コマンドを使用できます。

この接続方法は、パブリック IP アドレスとプライベート IP アドレスを持つインスタンスに対して機能します。プライベート IP アドレスのみを持つインスタンスに接続する場合、セッションを開始するローカルコンピューターには、EC2 Instance Connect サービスエンドポイントへの接続 (SSH パブリックキーをインスタンスにプッシュするため) と、インスタンスのプライベート IP アドレスへのネットワーク接続が必要です。EC2 Instance Connect サービスエンドポイントは、インターネットまたは AWS Direct Connect パブリック仮想インターフェイス経由で到達可能です。インスタンスのプライベート IP アドレスに接続するには、AWS Direct ConnectAWS Site-to-Site VPNVPC ピアリングなどのサービスを利用できます。

注記

-i は、mssh の使用時にはサポートされません。mssh コマンドを使用してインスタンスに接続する場合は、Instance Connect がキーペアを管理するため、どの種類の ID ファイルも指定する必要はありません。

Amazon Linux 2

EC2 Instance Connect CLI を使用してインスタンスに接続するには

次のように、mssh コマンドをインスタンス ID と共に使用します。AMI のユーザー名を指定する必要はありません。

$ mssh i-001234a4bf70dec41EXAMPLE
Ubuntu

EC2 Instance Connect CLI を使用してインスタンスに接続するには

次のように、mssh コマンドを Ubuntu AMI のインスタンス ID とデフォルトのユーザー名と共に使用します。AMI のユーザー名を指定する必要があります。指定しない場合、Authentication failed というエラーが表示されます。

$ mssh ubuntu@i-001234a4bf70dec41EXAMPLE

独自のキーと SSH クライアントを使用して接続する

EC2 Instance Connect API の使用中に、独自の SSH キーを使用して、選択した SSH クライアントからインスタンスに接続できます。これにより、インスタンスにパブリックキーをプッシュする Instance Connect 機能を活用できます。この接続方法は、パブリック IP アドレスとプライベート IP アドレスを持つインスタンスに対して機能します。

要件

  • サポートされる RSA キータイプは、OpenSSH および SSH2 です。サポートされている長さは 2048 および 4096 です。詳細については、「オプション 2: 独自のパブリックキーを Amazon EC2 にインポートする」を参照してください。

  • プライベート IP アドレスのみを持つインスタンスに接続する場合、SSH セッションを開始するローカルコンピューターには、EC2 Instance Connect サービスエンドポイントへの接続 (SSH パブリックキーをインスタンスにプッシュするため) と、SSH セッションを確立するためのインスタンスのプライベート IP アドレスへのネットワーク接続が必要です。EC2 Instance Connect サービスエンドポイントは、インターネットまたは AWS Direct Connect パブリック仮想インターフェイス経由で到達可能です。インスタンスのプライベート IP アドレスに接続するには、AWS Direct ConnectAWS Site-to-Site VPNVPC ピアリングなどのサービスを利用できます。

独自のキーと任意の SSH クライアントを使用してインスタンスに接続するには

  1. (オプション) 新しい SSH プライベートキーとパブリックキーを生成する

    新しい SSH プライベートキーとパブリックキー (my_rsa_key および my_rsa_key.pub) は、次のコマンドを使用して生成できます。

    $ ssh-keygen -t rsa -f my_rsa_key
  2. SSH パブリックキーをインスタンスにプッシュする

    send-ssh-public-key コマンドを使用して、SSH パブリックキーをインスタンスにプッシュします。Amazon Linux 2 を使用してインスタンスを起動した場合、AMI のデフォルトのユーザー名は ec2-user です。Ubuntu を使用してインスタンスを起動した場合、AMI のデフォルトのユーザー名は ubuntu です。

    以下に、ec2-user を認証するために、指定されたアベイラビリティーゾーンで指定されたインスタンスにパブリックキーをプッシュする例を示しています。

    $ aws ec2-instance-connect send-ssh-public-key \ --instance-id i-001234a4bf70dec41EXAMPLE \ --availability-zone us-west-2b \ --instance-os-user ec2-user \ --ssh-public-key file://my_rsa_key.pub
  3. プライベートキーを使用してインスタンスに接続する

    パブリックキーがインスタンスメタデータから削除される前に (削除されるまでの時間は 60 秒です)、プライベートキーを使用してインスタンスに接続するには、ssh コマンドを使用します。パブリックキーに対応するプライベートキー、インスタンスを起動するために使用した AMI のデフォルトのユーザー名、およびインスタンスのパブリック DNS 名を指定します (プライベートネットワーク経由で接続する場合は、プライベート DNS 名または IP アドレスを指定します)。IdentitiesOnly=yes オプションを追加し、ssh config 内のファイルと指定したキーのみが接続に使用されるようにします。

    $ ssh -o "IdentitiesOnly=yes" -i my_rsa_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com