

# 一般的な接続の前提条件
<a name="connection-prereqs-general"></a>

インスタンスに接続するための一般的な前提条件を次に示します。選択した接続オプションに固有の前提条件が別に存在する場合もあります。

**一般的な前提条件**
+ インスタンスのステータスチェックが成功していることを確認します。インスタンスが接続リクエストを受け入れる準備が整うまでに、数分かかることがあります。詳細については、「[ステータスチェックの表示](viewing_status.md)」を参照してください。
+ [必要なインスタンスの詳細を取得する](#connection-prereqs-get-info-about-instance).
+ [プライベートキーを見つけ、許可を設定する](#connection-prereqs-private-key).
+ [(オプション) インスタンスのフィンガープリントを取得する](#connection-prereqs-fingerprint).

## 必要なインスタンスの詳細を取得する
<a name="connection-prereqs-get-info-about-instance"></a>

インスタンスに接続する準備をするには、Amazon EC2 コンソールまたはコマンドラインを使用して次の情報を取得します。

![\[Amazon EC2 コンソールのインスタンスペインを開きます。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/connection-prereqs-console2.png)

+ **インスタンスのパブリック DNS 名を取得します。**

  Amazon EC2 コンソールから、インスタンスのパブリック DNS を取得できます。**[インスタンス]** ペインの **[パブリック IPv4 DNS]** 列を確認します。この列が非表示になっている場合は、画面右上部にある設定アイコン ![\[The gear icon.\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/settings-icon.png)を選択し、**[パブリック IPv4 DNS]** を選択してください。パブリック DNS は、**[インスタンス]** ペインのインスタンス情報セクションにもあります。Amazon EC2 コンソールの **[インスタンス]** ペインでインスタンスを選択すると、そのインスタンスに関する情報がページの下半分に表示されます。**[詳細]** タブで、**[パブリック IPv4 DNS]** を探します。

  その代わりに、[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) AWS CLIまたは [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) AWS Tools for Windows PowerShellコマンドを使用することもできます。

  **[パブリック IPv4 DNS]** が表示されない場合は、**[インスタンスの状態]** が **[実行中]** であり、プライベートサブネットでインスタンスを起動していないことを確認します。[インスタンス起動ウィザードを使用してインスタンスを起動した場合](ec2-launch-instance-wizard.md)、**[ネットワーク設定]** の **[パブリック IP の自動割り当て]** フィールドを編集して、値を **[無効]** に変更した可能性があります。**[パブリック IP の自動割り当て]** オプションを無効にすると、インスタンスは起動時にパブリック IP アドレスが割り当てられません。
+ **(IPv6 のみのインスタンス) インスタンスの IPv6 アドレスを取得します。**

  自分のインスタンスに IPv6 アドレスを割り当てている場合は、オプションで、パブリック IPv4 アドレスまたはパブリック IPv4 DNS のホスト名の代わりに、IPv6 アドレスを使用してインスタンスに接続することも可能です。ローカルコンピュータに IPv6 アドレスがあり、IPv6 を使用するように設定されている必要があります。Amazon EC2 コンソールから、インスタンスの IPv6 アドレスを取得できます。**[インスタンス]** ペインの **[IPv6 IPs]** 列を確認します。または、インスタンス情報セクションで IPv6 アドレスを確認できます。Amazon EC2 コンソールの **[インスタンス]** ペインでインスタンスを選択すると、そのインスタンスに関する情報がページの下半分に表示されます。**[詳細]** タブで、**[IPv6 アドレス]** を探します。

  その代わりに、[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) AWS CLIまたは [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) AWS Tools for Windows PowerShellコマンドを使用することもできます。IPv6 の詳細については、[IPv6 アドレス](using-instance-addressing.md#ipv6-addressing)を参照してください。
+ **(Linux インスタンス) インスタンスのユーザー名を取得します。**

  インスタンスに接続するにはユーザーアカウントのユーザー名、またはインスタンスの起動に使用した AMI のデフォルトのユーザー名を使用します。
  + **ユーザーアカウントのユーザー名を取得します。**

    ユーザーアカウントの作成方法については[Amazon EC2 Linux インスタンスのシステムユーザーを管理する](managing-users.md)を参照してください。
  + **インスタンスの起動に使用した AMI のデフォルトのユーザー名を取得します。**
    + **Amazon Linux** - `ec2-user`
    + **CentOS** – `centos` または `ec2-user`
    + **Debian** - `admin`
    + **Fedora** – `fedora` または `ec2-user`
    + **FreeBSD** – `ec2-user`
    + **RHEL** – `ec2-user` または `root`
    + **SUSE** – `ec2-user` または `root`
    + **Ubuntu** - `ubuntu`
    + **Oracle** – `ec2-user`
    + **Bitnami** – `bitnami`
    + **Rocky Linux** – `rocky`
    + **その他** – AMI プロバイダーに確認してください。

## プライベートキーを見つけ、許可を設定する
<a name="connection-prereqs-private-key"></a>

SSH を使用した Linux インスタンスへ初期接続、または RDP を使用した Windows インスタンスへの初期接続を行うには、プライベートキーファイルの場所を知る必要があります。SSH 接続の場合、お客様のみがプライベートキーを読み込みできるようにファイルのアクセス許可を設定する必要があります。

Amazon EC2 を使用する際のキーペアの仕組みについては、「[Amazon EC2 のキーペアと Amazon EC2 インスタンス](ec2-key-pairs.md)」を参照してください。
+ **プライベートキーを見つけます。**

  インスタンスの起動時に指定したキーペアの `.pem` ファイルの、コンピュータ上の場所への完全修飾パスを取得します。詳細については、「[起動時に指定されたパブリックキーを特定する](describe-keys.md#identify-key-pair-specified-at-launch)」を参照してください。

  プライベートキーファイルが見つからない場合は、「[プライベートキーを紛失しました。自分のインスタンスに接続するにはどうすればよいですか?](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair)」を参照してください。

  (Linux インスタンス) PuTTY を使用してインスタンスに接続していて、`.pem` ファイルを `.ppk` に変換する必要がある場合は、「[PuTTYgen を使用してプライベートキーを変換する](connect-linux-inst-from-windows.md#putty-private-key)」を参照してください。
+ **(Linux インスタンス) プライベートキーへのアクセス許可を設定し、お客様のみが読み込みできるようにします。**
  + **macOS または Linux から接続する**

    macOS または Linux コンピュータの SSH クライアントを使用して Linux インスタンスに接続する予定がある場合は、自分以外のユーザーが読み込むことができないように、次のコマンドを使用してプライベートキーファイルの許可を設定します。

    ```
    chmod 400 key-pair-name.pem
    ```

    これらのアクセス権限を設定しないと、このキーペアを使用してインスタンスに接続できません。詳細については、「[エラー: Unprotected Private キー ファイル (保護されていないプライベートキーファイル)](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key)」を参照してください。
  + **Windows から接続する**

    ファイルエクスプローラーを開き、`.pem` ファイルを右クリックしてください。**[プロパティ]** を選択し、**[セキュリティ]** タブ、**[詳細設定]** の順に選択してください。それから **[継承の無効化]** を選択してください。現在のユーザーを除くすべてのユーザーのアクセスを削除します。

## (オプション) インスタンスのフィンガープリントを取得する
<a name="connection-prereqs-fingerprint"></a>

中間者攻撃から自身を保護する場合、表示されるフィンガープリントを検証することで、接続しようとしているインスタンスの信頼性を検証できます。フィンガープリントの検証は、サードパーティが提供するパブリック AMI からインスタンスを起動した場合に役立ちます。

**タスクの概要**  
まず、インスタンスのインスタンスフィンガープリントを取得します。次に、インスタンスに接続してフィンガープリントを確認するように求められたら、この手順で取得したフィンガープリントと表示されるフィンガープリントを比較します。これらのフィンガープリントが一致しない場合、何者かが中間者 (MITM) 攻撃を試みている可能性があります。一致する場合には、安心してインスタンスに接続できます。

**インスタンスのフィンガープリントを取得するための前提条件**
+ インスタンスが `pending` の状態であってはいけません。フィンガープリントは、インスタンスの最初の起動が完了した後にのみ使用できます。
+ コンソール出力を取得するには、インスタンス所有者である必要があります。
+ インスタンスフィンガープリントを取得するには、さまざまな方法があります。AWS CLI を使用する場合は、ローカルコンピュータにインストールする必要があります。AWS CLI のインストールについては、*AWS Command Line Interface デベロッパーガイドの [Getting started with the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)を参照し*.てください。

**インスタンスのフィンガープリントを取得するには**

ステップ 1 では、インスタンスフィンガープリントを含むコンソール出力を取得します。ステップ 2 では、コンソール出力でインスタンスフィンガープリントを見つけます。

1. コンソール出力を取得するには、以下のいずれかの方法を使用します。

------
#### [ Console ]

   1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

   1. 左のナビゲーターの **[インスタンス]** を選択してください。

   1. インスタンスを選択してから、**[アクション]**、**[モニタリングとトラブルシューティング]**、**[システムログを取得]** の順に選択してください。

------
#### [ AWS CLI ]

   使用するローカルコンピュータ (お客様が接続しているインスタンス上ではなく) で [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html) コマンドを使用します。出力が大きい場合は、[出力をテキストファイルにパイプして](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html)読み込みやすいようにすることができます。

   ```
   aws ec2 get-console-output \
       --instance-id i-1234567890abcdef0 \
       --query Output \
       --output text > temp.txt
   ```

------
#### [ PowerShell ]

   ローカルコンピュータで、次の [Get-EC2ConsoleOutput](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ConsoleOutput.html) コマンドレットを使用します。

   ```
   $encodedOutput = (Get-EC2ConsoleOutput -InstanceId i-1234567890abcdef0).Output
   [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encodedOutput))
   ```

------

1. コンソール出力で、`BEGIN SSH HOST KEY FINGERPRINTS` にあるインスタンス (ホスト) フィンガープリントを見つけます。インスタンスフィンガープリントが複数ある場合があります。インスタンスに接続すると、フィンガープリントの 1 つだけが表示されます。

   正確な出力は、オペレーティングシステム、AMI バージョン、AWS でキーペアを作成したかどうかによって異なります。以下は出力の例です。

   ```
   ec2:#############################################################
   ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
   ec2: 256 SHA256:l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY no comment (ECDSA)
   ec2: 256 SHA256:kpEa+rw/Uq3zxaYZN8KT501iBtJOIdHG52dFi66EEfQ no comment (ED25519)
   ec2: 2048 SHA256:L8l6pepcA7iqW/jBecQjVZClUrKY+o2cHLI0iHerbVc no comment (RSA)
   ec2: -----END SSH HOST KEY FINGERPRINTS-----
   ec2: #############################################################
   ```
**注記**  
このフィンガープリントは、インスタンスに接続するときに参照してください。