EC2 Instance Connect を使用して Linux インスタンスに接続する
以下の手順では、Amazon EC2 コンソール、AWS CLI、または SSH クライアントから EC2 Instance Connect を使用して Linux インスタンスに接続する方法について説明します。
EC2 Instance Connect を使用してインスタンスに接続するとAWS CLI、EC2 Instance Connect API から SSH パブリックキーがインスタンスメタデータにプッシュされ、60 秒間保持されます。ユーザーにアタッチされた IAM ポリシーは、このアクションを承認します。独自の SSH キーを使用する場合は、SSH クライアントを使用し、EC2 Instance Connect を使用して SSH キーをインスタンスに明示的にプッシュできます。
要件
始める前に、前提条件を確認してください。
Amazon EC2 コンソールを使用した接続
Amazon EC2 コンソールから EC2 Instance Connect を使用してインスタンスに接続できます。
要件
Amazon EC2 コンソールを使用して接続するには、インスタンスにパブリック IPv4 またはパブリック IPv6 アドレスが必要です。インスタンスにプライベート IPv4 アドレスのみが存在する場合は、ec2-instance-connectAWS CLIコマンド を使用して接続できます。
Amazon EC2 コンソールを使用して Linux インスタンスに接続するには
Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/
を開いてください。 -
ナビゲーションペインで、[インスタンス] を選択してください。
-
インスタンスを選択し、[接続] を選択してください。
-
[EC2 Instance Connect] タブを選択してください。
-
[接続タイプ] で、[EC2 Instance Connect を使用して接続] を選択してください。
-
選択する場合は、接続する IP アドレスを選択してください。それ以外の場合は、IP アドレスが自動的に選択されます。
-
[ユーザー名] でユーザー名を確認します。
-
コネクト を選択して接続を確立します。ブラウザ内ターミナルウィンドウが開きます。
AWS CLI を使用して接続する
ec2-instance-connect
接続タイプ
auto
(デフォルト)-
CLI は、次の順序でインスタンスの IP アドレスを使用し、対応する接続タイプを使用して接続を試みます。
-
パブリック IPv4:
direct
-
プライベート IPv4:
eice
-
パブリック IPv6:
direct
-
direct
-
CLI は、次の順序でインスタンスの IP アドレスを使用して接続を試みます (EC2 Instance Connectエンドポイント 経由では接続しません)。
-
パブリック IPv4
-
パブリック IPv6
-
プライベート IPv4 (EC2 Instance Connect Endpoint 経由で接続しない)
-
eice
-
EC2 Instance Connect は、インスタンスのプライベート IPv4 アドレスと EC2 Instance Connect エンドポイント を使用して接続を試みます。
注記
将来的には、auto
接続タイプの動作を変更する可能性があります。希望する接続タイプを確実に使用するには、--connection-type
を direct
または eice
のいずれかに明示的に設定することをお勧めします。
ec2-instance-connect
要件
AWS CLI バージョン 2 を使用する必要があります。詳細については、「AWS CLI の最新バージョンを使用してインストールまたは更新を行う」を参照してください。
インスタンス ID を使用してインスタンスに接続するには
インスタンス ID のみがわかっていて、インスタンスへの接続時に使用する接続タイプを EC2 Instance Connect に決定させる場合は、ec2-instance-connectssh
パラメータとインスタンス ID を指定します。
aws ec2-instance-connect ssh --instance-id
i-1234567890example
インスタンス ID と EC2 Instance Connect Endpoint を使用してインスタンスに接続するには
EC2 Instance Connect Endpoint を介してインスタンスに接続する場合は、前述のコマンドを使用し、--connection-type
パラメータと eice
値も指定します。
aws ec2-instance-connect ssh --instance-id
i-1234567890example
--connection-type eice
インスタンス ID と独自のプライベートキーファイルを使用してインスタンスに接続するには
独自のプライベートキーを使用して EC2 Instance Connect Endpoint 経由でインスタンスに接続する場合は、インスタンス ID とプライベートキーファイルへのパスを指定します。パスに file://
を含めないでください。次のようなパスは失敗します: file:///path/to/key
。
aws ec2-instance-connect ssh --instance-id
i-1234567890example
--private-key-file/path/to/key
.pem
ヒント
このコマンドの使用時にエラーが発生した場合は、ssh
パラメータがこのメジャーバージョンでのみ使用できるため、AWS CLI バージョン 2 を使用していることを確認してください。また、AWS CLI バージョン 2 の最新マイナーバージョンに定期的に更新して、最新の機能にアクセスすることをお勧めします。詳細については、「AWS Command Line Interface ユーザーガイド」の「AWS CLI バージョン 2 について」を参照してください。
独自のキーと SSH クライアントを使用して接続する
EC2 Instance Connect API の使用中に、独自の SSH キーを使用して、選択した SSH クライアントからインスタンスに接続できます。これは、インスタンスにパブリックキーをプッシュする EC2 Instance Connect 機能からメリットを得ることを可能にします。この接続方法は、パブリック IP アドレスとプライベート IP アドレスを持つインスタンスに対して機能します。
要件
-
キーペアの要件
-
サポートされているタイプ: RSA (OpenSSH および SSH2) および ED25519
-
サポートされている長さ: 2048 および 4096
-
詳細については、「サードパーティー製のツールを使用してキーペアを作成し、アマゾン 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 パブリックキーをインスタンスにプッシュします。AL2023 または Amazon Linux 2 を使用してインスタンスを起動した場合、AMI のデフォルトのユーザー名は ec2-user
です。Ubuntu を使用してインスタンスを起動した場合、AMI のデフォルトのユーザー名はubuntu
です。以下に、
ec2-user
を認証するために、指定されたアベイラビリティーゾーンで指定されたインスタンスにパブリックキーをプッシュする例を示しています。aws ec2-instance-connect send-ssh-public-key \ --region
us-west-2
\ --availability-zoneus-west-2b
\ --instance-idi-001234a4bf70dec41EXAMPLE
\ --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
トラブルシューティング
インスタンスへの接続を試みた際にエラーが発生した場合は、以下を参照してください。