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 を使用して接続
Options
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
トラブルシューティング
インスタンスへの接続を試みた際にエラーが発生した場合は、以下を参照してください。