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 コンソールからブラウザベースのクライアントを使用してインスタンスに接続するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
インスタンスを選択し、[接続] を選択します。
-
[EC2 Instance Connect] を選択します。
-
ユーザー名を検証し、[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 Connect
-i
は、mssh の使用時にはサポートされません。mssh コマンドを使用してインスタンスに接続する場合は、Instance Connect がキーペアを管理するため、どの種類の ID ファイルも指定する必要はありません。
独自のキーと SSH クライアントを使用して接続する
EC2 Instance Connect API の使用中に、独自の SSH キーを使用して、選択した SSH クライアントからインスタンスに接続できます。これにより、インスタンスにパブリックキーをプッシュする Instance Connect 機能を活用できます。この接続方法は、パブリック IP アドレスとプライベート IP アドレスを持つインスタンスに対して機能します。
要件
-
キーペアの要件
-
サポートされているタイプ: RSA (OpenSSH および SSH2) および ED25519
-
サポートされている長さ: 2048 および 4096
-
詳細については、サードパーティー製のツールを使用してキーペアを作成し、Amazon EC2 にパブリックキーをインポートする を参照してください。
-
-
プライベート IP アドレスのみを持つインスタンスに接続する場合、SSH セッションを開始するローカルコンピューターには、EC2 Instance Connect サービスエンドポイントへの接続 (SSH パブリックキーをインスタンスにプッシュするため) と、SSH セッションを確立するためのインスタンスのプライベート IP アドレスへのネットワーク接続が必要です。EC2 Instance Connect のサービスエンドポイントには、インターネットまたは AWS Direct Connect パブリック仮想インターフェイス経由で到達が可能です。インスタンスのプライベート IP アドレスに接続するには、AWS Direct Connect
、AWS Site-to-Site VPN や VPC ピアリングなどのサービスを利用できます。
独自のキーと任意の SSH クライアントを使用してインスタンスに接続するには
-
(オプション) 新しい SSH プライベートキーとパブリックキーを生成する
新しい SSH プライベートキーとパブリックキー (
my_key
およびmy_key.pub
) は、次のコマンドを使用して生成できます。$
ssh-keygen -t rsa -f my_key
-
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-zoneus-west-2b
\ --instance-os-userec2-user
\ --ssh-public-key file://my_key.pub
-
プライベートキーを使用してインスタンスに接続する
パブリックキーがインスタンスメタデータから削除される前に (削除されるまでの時間は 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
トラブルシューティング
インスタンスへの接続を試みた際にエラーが発生した場合は、以下を参照してください。