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

EC2 Instance Connect を使用して接続

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

制約事項

  • サポートされている Linux ディストリビューション

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

    • Ubuntu 16.04 以降

  • アフリカ (ケープタウン)、アジアパシフィック (香港)、アジアパシフィック (ジャカルタ)、アジアパシフィック (大阪)、中国 (北京)、中国 (寧夏)、欧州 (ミラノ)、中東 (バーレーン)、中東 (アラブ首長国連邦) を除くすべての AWS リージョンでサポートされています。

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

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

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

前提条件

  • インスタンスに EC2 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 コンソールを使用してインスタンスに接続できます。インスタンスConnect によりアクセス許可が処理され、正常な接続が行われます。

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

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/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 アドレスを持つインスタンスに対して機能します。

要件

  • キーペアの要件

  • プライベート 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_key および my_key.pub) は、次のコマンドを使用して生成できます。

    $ ssh-keygen -t rsa -f my_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_key.pub
  3. プライベートキーを使用してインスタンスに接続する

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

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

トラブルシューティング

インスタンスへの接続を試みた際にエラーが発生した場合は、以下を参照してください。