EC2 インスタンスでの EC2 Instance Connect のインストール
EC2 Instance Connect を使用して Linux インスタンスに接続するには、EC2 Instance Connect がインストールされている必要があります。EC2 Instance Connect をインストールすると、インスタンスに SSH デーモンが設定されます。
EC2 Instance Connect パッケージの詳細については、GitHub ウェブサイトの「aws/aws-ec2-instance-connect-config
注記
SSH 認証の AuthorizedKeysCommand および AuthorizedKeysCommandUser 設定を構成した場合、EC2 Instance Connect をインストールしても更新されません。そのため、EC2 Instance Connect は使用できません。
インストール条件
EC2 Instance Connect をインストールする前に、以下の前提条件を満たしていることを確認してください。
- 
					インスタンスが以下のいずれかを使用していることを確認します。 - 
							バージョン 2.0.20190618 より前の Amazon Linux 2 * 
- 
							AL2023 最小 AMI または Amazon ECS 最適化 AMI 
- 
							CentOS Stream 8 および 9 
- 
							14.2.1 より前の MacOS Sonoma、13.6.3 より前の Ventura、12.7.2 より前の Monterey * 
- 
							Red Hat Enterprise Linux (RHEL) 8 および 9 
- 
							Ubuntu 16.04 および 18.04 
 ヒント* Amazon Linux 2、MacOS、Ubuntu の場合: 上記のバージョンよりも新しいバージョンを使用してインスタンスを起動した場合、EC2 Instance Connect はプリインストールされており、手動インストールは不要です。 
- 
							
- 
					EC2 Instance Connect の一般的な前提条件を確認します。 詳細については、「EC2 Instance Connect の前提条件」を参照してください。 
- 
					ローカルマシン上の SSH クライアントを使用してインスタンスに接続するための前提条件を確認します。 詳細については、「SSH を使用した Linux インスタンスへの接続」を参照してください。 
- 
        インスタンスの ID を取得します。 自分のインスタンスの ID は、Amazon EC2 コンソールを使用して ([インスタンス ID] 列から) 取得できます。その代わりに、describe-instances AWS CLIまたは Get-EC2Instance AWS Tools for Windows PowerShellコマンドを使用することもできます。 
EC2 Instance Connect を手動でインストールする
注記
以下のいずれかの AMI を使用してインスタンスを起動した場合は、EC2 Instance Connect がプリインストールされているため、このステップをスキップできます。
- 
						AL2023 標準 AMI 
- 
						Amazon Linux 2 2.0.20190618 以降 
- 
						macOS Sonoma 14.2.1 以降 
- 
						macOS Ventura 13.6.3 以降 
- 
						macOS Monterey 12.7.2 以降 
- 
						Ubuntu 20.04 以降 
インスタンスのオペレーティングシステムに応じて、以下のいずれかの手順を使用して EC2 Instance Connect をインストールします。
- Amazon Linux 2
- 
						EC2 Instance Connect を Amazon Linux 2 で起動したインスタンスにインストールするには- 
								SSH を使用してインスタンスに接続します。 次のコマンド内のサンプル値を独自の値に置き換えます。インスタンスの起動時にインスタンスに割り当てた SSH キーペアと、インスタンスを起動するために使用した AMI のデフォルトのユーザー名を使用します。Amazon Linux 2 の場合、デフォルトのユーザー名は ec2-userです。$ssh -imy_ec2_private_key.pemec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.comインスタンスへの接続の詳細については、SSH クライアントを使用して Linux インスタンスに接続する を参照してください。 
- 
								インスタンスに EC2 Instance Connect パッケージをインストールします。 [ec2-user ~]$sudo yum install ec2-instance-connect3 つの新しいスクリプトが /opt/aws/bin/フォルダに表示されます。eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
- 
								(オプション) EC2 インスタントコネクト がインスタンスに正常にインストールされたことを確認します。 [ec2-user ~]$sudo less /etc/ssh/sshd_configAuthorizedKeysCommand行とAuthorizedKeysCommandUser行に以下の値が含まれていれば、EC2 Instance Connect は正常にインストールされています。AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect- 
										AuthorizedKeysCommandは、インスタンスメタデータからキーを探すようにeic_run_authorized_keysスクリプトを設定します。
- 
										AuthorizedKeysCommandUserは、システムユーザーを として設定します。ec2-instance-connect
 注記AuthorizedKeysCommandやAuthorizedKeysCommandUserを設定済みである場合は、EC2 Instance Connect をインストールしても値は変更されないため、EC2 Instance Connect は使用できません。
- 
										
 
- 
								
- CentOS
- 
						EC2 Instance Connect を CentOS で起動したインスタンスにインストールするには- 
								SSH を使用してインスタンスに接続します。 次のコマンド内のサンプル値を独自の値に置き換えます。インスタンスの起動時にインスタンスに割り当てた SSH キーペアと、インスタンスを起動するために使用した AMI のデフォルトのユーザー名を使用します。CentOS の場合、デフォルトのユーザー名は centosまたはec2-userです。$ssh -imy_ec2_private_key.pemcentos@ec2-a-b-c-d.us-west-2.compute.amazonaws.comインスタンスへの接続の詳細についてはSSH クライアントを使用して Linux インスタンスに接続するを参照してください。 
- 
								HTTP または HTTPS プロキシを使用する場合は、現在のシェルセッションで http_proxyまたはhttps_proxyの環境変数を設定する必要があります。プロキシを使用していない場合は、この手順を省略できます。 - 
										HTTP プロキシサーバーの場合は、次のコマンドを実行します。 $export http_proxy=http://hostname:port$export https_proxy=http://hostname:port
- 
										HTTPS プロキシサーバーの場合は、次のコマンドを実行します。 $export http_proxy=https://hostname:port$export https_proxy=https://hostname:port
 
- 
										
- 
								次のコマンドを実行して、インスタンスに EC2 Instance Connect パッケージをインストールします。 CentOS 用の EC2 インスタントコネクト 設定ファイルは Red Hat Package Manager (RPM) パッケージで提供され、CentOS 8 と CentOS 9 用の異なる RPM パッケージ、および Intel/AMD (x86_64) または ARM (AArch64) で実行されるインスタンスタイプ用の異なる RPM パッケージが含まれています。 オペレーティングシステムと CPU アーキテクチャに合ったコマンドブロックを使用してください。 - 
										CentOS 8 Intel/AMD (x86_64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel8.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel8.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
- 
										CentOS 9 Intel/AMD (x86_64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel9.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel9.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
 次の新しいスクリプトが /opt/aws/bin/フォルダに表示されます。eic_run_authorized_keys
- 
										
- 
								(オプション) EC2 インスタントコネクト がインスタンスに正常にインストールされたことを確認します。 - 
										CentOS 8 の場合: [ec2-user ~]$sudo less /lib/systemd/system/sshd.service.d/ec2-instance-connect.conf
- 
										CentOS 9 の場合: [ec2-user ~]$sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
 AuthorizedKeysCommand行とAuthorizedKeysCommandUser行に以下の値が含まれていれば、EC2 Instance Connect は正常にインストールされています。AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect- 
										AuthorizedKeysCommandは、インスタンスメタデータからキーを探すようにeic_run_authorized_keysスクリプトを設定します。
- 
										AuthorizedKeysCommandUserは、システムユーザーを として設定します。ec2-instance-connect
 注記AuthorizedKeysCommandやAuthorizedKeysCommandUserを設定済みである場合は、EC2 Instance Connect をインストールしても値は変更されないため、EC2 Instance Connect は使用できません。
- 
										
 
- 
								
- macOS
- 
						EC2 Instance Connect を macOS で起動したインスタンスにインストールするには- 
								SSH を使用してインスタンスに接続します。 次のコマンド内のサンプル値を独自の値に置き換えます。インスタンスの起動時にインスタンスに割り当てた SSH キーペアと、インスタンスを起動するために使用した AMI のデフォルトのユーザー名を使用します。macOS インスタンスの場合、デフォルトのユーザー名は ec2-userです。$ssh -imy_ec2_private_key.pemec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.comインスタンスへの接続の詳細についてはSSH クライアントを使用して Linux インスタンスに接続するを参照してください。 
- 
								次のコマンドを使用して Homwbrew を更新します。このアップデートでは、Homebrew が認識しているソフトウェアが一覧表示されます。EC2 Instance Connect パッケージは、macOS インスタンスでは Homebrew 経由で提供されます。詳細については、 を参照してください。Amazon EC2 Mac インスタンス上のオペレーティングシステムとソフトウェアの更新 [ec2-user ~]$brew update
- 
								インスタンスに EC2 Instance Connect パッケージをインストールします。これによりソフトウェアがインストールされ、sshd がそれを使用するように設定されます。 [ec2-user ~]$brew install ec2-instance-connect次の新しいスクリプトが /opt/aws/bin/フォルダに表示されます。eic_run_authorized_keys
- 
								(オプション) EC2 インスタントコネクト がインスタンスに正常にインストールされたことを確認します。 [ec2-user ~]$sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.confAuthorizedKeysCommand行とAuthorizedKeysCommandUser行に以下の値が含まれていれば、EC2 Instance Connect は正常にインストールされています。AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect- 
										AuthorizedKeysCommandは、インスタンスメタデータからキーを探すようにeic_run_authorized_keysスクリプトを設定します。
- 
										AuthorizedKeysCommandUserは、システムユーザーを として設定します。ec2-instance-connect
 注記AuthorizedKeysCommandやAuthorizedKeysCommandUserを設定済みである場合は、EC2 Instance Connect をインストールしても値は変更されないため、EC2 Instance Connect は使用できません。
- 
										
 
- 
								
- RHEL
- 
						EC2 インスタントコネクト を Red Hat Enterprise Linux (RHEL) で起動したインスタンスにインストールするには- 
								SSH を使用してインスタンスに接続します。 次のコマンド内のサンプル値を独自の値に置き換えます。インスタンスの起動時にインスタンスに割り当てた SSH キーペアと、インスタンスを起動するために使用した AMI のデフォルトのユーザー名を使用します。RHEL の場合、デフォルトのユーザー名は ec2-userまたはrootです。$ssh -imy_ec2_private_key.pemec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.comインスタンスへの接続の詳細についてはSSH クライアントを使用して Linux インスタンスに接続するを参照してください。 
- 
								HTTP または HTTPS プロキシを使用する場合は、現在のシェルセッションで http_proxyまたはhttps_proxyの環境変数を設定する必要があります。プロキシを使用していない場合は、この手順を省略できます。 - 
										HTTP プロキシサーバーの場合は、次のコマンドを実行します。 $export http_proxy=http://hostname:port$export https_proxy=http://hostname:port
- 
										HTTPS プロキシサーバーの場合は、次のコマンドを実行します。 $export http_proxy=https://hostname:port$export https_proxy=https://hostname:port
 
- 
										
- 
								次のコマンドを実行して、インスタンスに EC2 Instance Connect パッケージをインストールします。 RHEL 用の EC2 インスタントコネクト 設定ファイルは Red Hat Package Manager (RPM) パッケージで提供され、RHEL 8 と RHEL 9 用の異なる RPM パッケージ、および Intel/AMD (x86_64) または ARM (AArch64) で実行されるインスタンスタイプ用の異なる RPM パッケージが含まれています。 オペレーティングシステムと CPU アーキテクチャに合ったコマンドブロックを使用してください。 - 
										RHEL 8 Intel/AMD (x86_64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel8.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel8.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
- 
										RHEL 9 Intel/AMD (x86_64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel9.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64) [ec2-user ~]$mkdir /tmp/ec2-instance-connect[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel9.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
 次の新しいスクリプトが /opt/aws/bin/フォルダに表示されます。eic_run_authorized_keys
- 
										
- 
								(オプション) EC2 インスタントコネクト がインスタンスに正常にインストールされたことを確認します。 - 
										RHEL 8 の場合: [ec2-user ~]$sudo less /lib/systemd/system/sshd.service.d/ec2-instance-connect.conf
- 
										RHEL 9 の場合: [ec2-user ~]$sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
 AuthorizedKeysCommand行とAuthorizedKeysCommandUser行に以下の値が含まれていれば、EC2 Instance Connect は正常にインストールされています。AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect- 
										AuthorizedKeysCommandは、インスタンスメタデータからキーを探すようにeic_run_authorized_keysスクリプトを設定します。
- 
										AuthorizedKeysCommandUserは、システムユーザーを として設定します。ec2-instance-connect
 注記AuthorizedKeysCommandやAuthorizedKeysCommandUserを設定済みである場合は、EC2 Instance Connect をインストールしても値は変更されないため、EC2 Instance Connect は使用できません。
- 
										
 
- 
								
- Ubuntu
- 
						EC2 Instance Connect を Ubuntu 16.04 で起動したインスタンスにインストールするには- 
								SSH を使用してインスタンスに接続します。 次のコマンド内のサンプル値を独自の値に置き換えます。インスタンスの起動時にインスタンスに割り当てた SSH キーペアを使用し、インスタンスを起動するために使用した AMI のデフォルトのユーザー名を使用します。Ubuntu AMI の場合、ユーザー名は ubuntuです。$ssh -imy_ec2_private_key.pemubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.comインスタンスへの接続の詳細については、SSH クライアントを使用して Linux インスタンスに接続する を参照してください。 
- 
								(オプション) インスタンスに最新の Ubuntu AMI があることを確認します。 次のコマンドを実行して、インスタンスのすべてのパッケージを更新します。 ubuntu:~$sudo apt-get updateubuntu:~$sudo apt-get upgrade
- 
								インスタンスに EC2 Instance Connect パッケージをインストールします。 ubuntu:~$sudo apt-get install ec2-instance-connect3 つの新しいスクリプトが /usr/share/ec2-instance-connect/フォルダに表示されます。eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
- 
								(オプション) EC2 インスタントコネクト がインスタンスに正常にインストールされたことを確認します。 ubuntu:~$sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.confAuthorizedKeysCommand行とAuthorizedKeysCommandUser行に以下の値が含まれていれば、EC2 Instance Connect は正常にインストールされています。AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f AuthorizedKeysCommandUser ec2-instance-connect- 
										AuthorizedKeysCommandは、インスタンスメタデータからキーを探すようにeic_run_authorized_keysスクリプトを設定します。
- 
										AuthorizedKeysCommandUserは、システムユーザーを として設定します。ec2-instance-connect
 注記AuthorizedKeysCommandやAuthorizedKeysCommandUserを設定済みである場合は、EC2 Instance Connect をインストールしても値は変更されないため、EC2 Instance Connect は使用できません。
- 
										
 
-