

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 接続関連の問題の診断
<a name="diagnosing-connectivity-issues"></a>

**このトピックの改善にご協力ください**  
 [より良いものにするために必要なことを教えてください](https://docs.aws.amazon.com//forms/aws-doc-feedback?hidden_service_name=IoT%20Docs&topic_url=http://docs.aws.amazon.com/en_us/iot/latest/diagnosing-connectivity-issues.html) 

への接続を成功させるには、以下 AWS IoT が必要です。
+ 有効な接続
+ 有効かつアクティブな証明書
+ 必要な接続とオペレーションを許可するポリシー

## 接続
<a name="troubleshooting-connect"></a>

正しいエンドポイントを見つけるにはどうすればよいですか?  
+ `endpointAddress` によって返される `aws iot [describe-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html) --endpoint-type iot:Data-ATS`

  または
+ `domainName` によって返される `aws iot [describe-domain-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-domain-configuration.html) –-domain-configuration-name "domain_configuration_name"`

正しい Server Name Indication (SNI) 値を見つけるにはどうすればよいですか?  
正しい SNI 値は、**[describe-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html)** によって返される `endpointAddress`、または **[describe-domain-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-domain-configuration.html)** コマンドによって返される `domainName` です。これは、前のステップのエンドポイントと同じアドレスです。デバイスを に接続する場合 AWS IoT Core、クライアントは [Server Name Indication (SNI) 拡張機能](https://tools.ietf.org/html/rfc3546#section-3.1)を送信できます。これは必須ではありませんが、強くお勧めします。[マルチアカウント登録](https://docs.aws.amazon.com//iot/latest/developerguide/x509-client-certs.html#multiple-account-cert)、[カスタムドメイン](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable-custom.html)、[VPC エンドポイント](https://docs.aws.amazon.com//iot/latest/developerguide/IoTCore-VPC.html)などの機能を使用するには、SNI 拡張機能を使用する必要があります。詳細については、「 [のトランスポートセキュリティ AWS IoT](transport-security.html)」を参照してください。

持続する接続性の問題を解決するにはどうすればよいですか?  
 AWS Device Advisor を使用してトラブルシューティングを行うことができます。Device Advisor の事前構築されたテストにより、デバイスソフトウェアを [TLS](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html)、[MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html)、[AWS IoT デバイスシャドウ](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html)、および [AWS IoT Jobs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html) の使用に関するベストプラクティスに照らして検証できます。  
 ここに既存の [Device Advisor](https://docs.aws.amazon.com/iot/latest/developerguide/device-advisor.html) コンテンツを参照してください。

## 認証
<a name="troubleshooting-authentication"></a>

 AWS IoT エンドポイントに接続するには、デバイスを[認証](client-authentication.md)する必要があります。認証[X.509 クライアント証明書](x509-client-certs.md)に を使用するデバイスの場合、証明書は に登録 AWS IoT され、アクティブである必要があります。

デバイスが AWS IoT エンドポイントを認証する方法  
 AWS IoT CA 証明書をクライアントの信頼ストアに追加します。[AWS IoT Coreのサーバー認証](x509-client-certs.html#server-authentication)のドキュメントを参照して、リンクから適切な CA 証明書をダウンロードします。

デバイスが に接続するときにチェックされるものは何ですか AWS IoT?  
デバイスが AWS IoTに接続しようとすると、次のようになります。  

1. AWS IoT は、有効な証明書と Server Name Indication (SNI) 値をチェックします。

1. AWS IoT は、使用された証明書がアカウント AWS IoT に登録され、アクティブ化されたことを確認します。

1. デバイスがメッセージのサブスクライブや発行など AWS IoT、 でアクションを実行しようとすると、接続に使用した証明書にアタッチされたポリシーをチェックして、デバイスがそのアクションを実行する権限があることを確認します。

正しく設定された証明書を検証するにはどうすればよいですか?  
OpenSSL の `s_client` コマンドを使用して、 AWS IoT エンドポイントへの接続をテストします。  

```
openssl s_client -connect custom_endpoint.iot.aws-region.amazonaws.com:8443 -CAfile CA.pem -cert cert.pem -key privateKey.pem
```
`openssl s_client` の使用の詳細については、[OpenSSL s\$1client ドキュメント](https://www.openssl.org/docs/man1.0.2/man1/openssl-s_client.html)を参照してください。

証明書のステータスを確認するにはどうすればよいですか?  
+ 

**証明書を一覧表示する**  
証明書 ID がわからない場合は、`aws iot [list-certificates](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates.html)` コマンドを使用してすべての証明書のステータスを確認できます。
+ 

**証明書の詳細を表示する**  
証明書の ID がわかっている場合、このコマンドは証明書に関するより詳細な情報を表示します。

  ```
  aws iot [describe-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-certificate.html) --certificate-id "certificateId"
  ```
+ 

**AWS IoT コンソールで証明書を確認する**  
[AWS IoT コンソール](https://console.aws.amazon.com/iot/home)の左側のメニューで、[**Secure**] (安全性) を選択し、[**Certificates**] (証明書) を選択します。

  接続に使用している証明書をリストから選択して、その詳細ページを開きます。

  証明書の詳細ページで、現在のステータスを確認できます。

  証明書のステータスは、詳細ページの右上にある [**Actions**] (アクション) メニューを使用して変更できます。

## Authorization
<a name="troubleshooting-authorization"></a>

AWS IoT リソースは を使用して[AWS IoT Core ポリシー](iot-policies.md)、これらのリソースが[アクションを実行](iot-policy-actions.md)することを許可します。アクションを承認するには、指定された AWS IoT リソースに、そのアクションを実行するアクセス許可を付与するポリシードキュメントがアタッチされている必要があります。

ブローカーから `PUBNACK` または `SUBNACK` レスポンスを受信しました。何をすればよいですか?  
呼び出しに使用する証明書にポリシーがアタッチされていることを確認します AWS IoT。すべてのパブリッシュ/サブスクライブオペレーションはデフォルトで拒否されます。  
添付されたポリシーが、実行しようとしている[[action](iot-policy-actions.md)](アクション)を承認していることを確認してください。  
アタッチされたポリシーが、承認されたアクションを実行しようとしている[リソース](iot-action-resources.md)を承認していることを確認してください。

ログに *AUTHORIZATION\$1FAILURE* エントリがあります。  
呼び出しに使用する証明書にポリシーがアタッチされていることを確認します AWS IoT。すべてのパブリッシュ/サブスクライブオペレーションはデフォルトで拒否されます。  
添付されたポリシーが、実行しようとしている[[action](iot-policy-actions.md)](アクション)を承認していることを確認してください。  
アタッチされたポリシーが、承認されたアクションを実行しようとしている[リソース](iot-action-resources.md)を承認していることを確認してください。

ポリシーで承認される内容を確認するにはどうすればよいですか?  
[AWS IoT コンソール](https://console.aws.amazon.com/iot/home)の左側のメニューで、**[セキュリティ]** を選択し、**[証明書]** を選択します。  
接続に使用している証明書をリストから選択して、その詳細ページを開きます。  
証明書の詳細ページで、現在のステータスを確認できます。  
証明書の詳細ページの左側のメニューで、**[Policies]** (ポリシー) を選択して、証明書にアタッチされているポリシーを表示します。  
目的のポリシーを選択して、その詳細ページを表示します。  
ポリシーの詳細ページで、ポリシーの**[Policy document]** (ポリシードキュメント) を確認して、何が許可されているかを確認します。  
ポリシードキュメントを変更するには、**[Edit policy document]** (ポリシードキュメントの編集) を選択します。

## セキュリティと ID
<a name="troubleshooting-security-identity"></a>

 AWS IoT カスタムドメイン設定のサーバー証明書を提供する場合、証明書には最大 4 つのドメイン名があります。

詳細については、「[AWS IoT Core endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#security-limits)」を参照してください。