

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

# 一般的なトラブルシューティングの問題
<a name="troubleshooting-general"></a>

**Topics**
+ [一般的なトラブルシューティングのチェックリスト](#troubleshooting-checklist)
+ [CodeDeploy デプロイリソースは、一部の AWS リージョンでのみ でサポートされています](#troubleshooting-supported-regions)
+ [このガイドの手順が CodeDeploy コンソールと一致しない](#troubleshooting-old-console)
+ [必要な IAM ロールを取得できない](#troubleshooting-iam-cloudformation)
+ [何らかのテキストエディタを使用して AppSpec ファイルとシェルスクリプトを作成すると、デプロイが失敗する場合がある](#troubleshooting-text-editors)
+ [macOS の Finder を使用してアプリケーションリビジョンをバンドルすると、デプロイが失敗することがある](#troubleshooting-bundle-with-finder)

## 一般的なトラブルシューティングのチェックリスト
<a name="troubleshooting-checklist"></a>

次のチェックリストを使用して、失敗したデプロイをトラブルシューティングできます。

1. デプロイが失敗した理由を確認するには、「[CodeDeploy デプロイの詳細を表示する](deployments-view-details.md)」および「[CodeDeploy を用いてインスタンスの詳細の表示](instances-view-details.md)」を参照してください。原因を特定できない場合は、このチェックリストの項目を確認します。

1. インスタンスが正しく設定されているかどうかを確認します。
   + インスタンスは、指定された EC2 キーペアで起動されましたか? 詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 キーペア](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2-key-pairs.html)」を参照してください。
   + 正しい IAM インスタンスプロファイルがインスタンスにアタッチされていますか? 詳細については、「[CodeDeploy と共に動作するように Amazon EC2 インスタンスを構成します](instances-ec2-configure.md)」および「[ステップ 4: Amazon EC2 インスタンス用の IAM インスタンスプロファイルを作成する](getting-started-create-iam-instance-profile.md)」を参照してください。
   + インスタンスにタグが付けられていますか? 詳細については、「*Amazon EC2 ユーザーガイド*」の「[コンソールでのタグの操作](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console)」を参照してください。
   + CodeDeploy エージェントは、インスタンスにインストール後、更新、実行されていますか? 詳細については、「[CodeDeploy エージェントのオペレーションの管理](codedeploy-agent-operations.md)」を参照してください。インストールされているエージェントのバージョンを確認するには、「[CodeDeploy エージェントのバージョンを特定します。](codedeploy-agent-operations-version.md)」を参照してください。

1. アプリケーションとデプロイグループの設定を確認します。
   + アプリケーション設定を確認するには、「[CodeDeploy を使用してアプリケーション詳細を表示する](applications-view-details.md)」を参照してください。
   + デプロイグループの設定を確認するには、「[CodeDeploy を使用したデプロイグループの詳細の表示](deployment-groups-view-details.md)」を参照してください。

1. アプリケーションリビジョンが正しく設定されていることを確認します
   + AppSpec ファイルの形式を確認します。詳細については、「[CodeDeploy 用のアプリケーション仕様ファイルをリビジョンに追加](application-revisions-appspec-file.md)」および「[CodeDeploy AppSpec ファイルのリファレンス](reference-appspec-file.md)」を参照してください。
   + GitHub レポジトリで Amazon S3 バケットを調べ、アプリケーションリビジョンが予期されている場所にあることを確認します。
   + CodeDeploy アプリケーションリビジョンの詳細を調べ、正しく登録されていることを確認します。詳細については、「[CodeDeploy を使用したアプリケーションリビジョン詳細の表示](application-revisions-view-details.md)」を参照してください。
   + Amazon S3 からデプロイする場合は、Amazon S3 バケットをチェックし、アプリケーションリビジョンをダウンロードするアクセス許可が CodeDeploy に付与されていることを確認します。バケットポリシーの詳細については、[デプロイの前提条件](deployments-create-prerequisites.md) を参照してください。
   + GitHub からデプロイする場合、GitHub リポジトリをチェックし、アプリケーションリビジョンをダウンロードするアクセス許可が CodeDeploy に付与されていることを確認します。詳細については、「[CodeDeploy でデプロイを作成する](deployments-create.md)」および「[CodeDeploy のアプリケーションを使用した GitHub の認証](integrations-partners-github.md#behaviors-authentication)」を参照してください。

1. サービスロールが正しく設定されているかどうかを確認します。詳細については、「[ステップ 2: CodeDeployのサービスのロールを作成する](getting-started-create-service-role.md)」を参照してください。

1. 「[CodeDeploy の開始方法](getting-started-codedeploy.md)」のステップに従って次の操作を行ったことを確認します。
   + 適切なアクセス許可を持つユーザーをプロビジョニングしました。
   +  AWS CLIをインストールまたはアップグレードして設定する。
   + IAM インスタンスプロファイルとサービスロールを作成する。

   詳細については、「[の ID とアクセスの管理 AWS CodeDeploy](security-iam.md)」を参照してください。

1.  AWS CLI バージョン 1.6.1 以降を使用していることを確認します。インストールしたバージョンを確認するには、**aws --version** を呼び出します。

それでも失敗したデプロイをトラブルシューティングできない場合は、このトピックの他の問題を確認します。

## CodeDeploy デプロイリソースは、一部の AWS リージョンでのみ でサポートされています
<a name="troubleshooting-supported-regions"></a>

または AWS CLI CodeDeploy コンソールからアプリケーション、デプロイグループ、インスタンス、またはその他のデプロイリソースが表示されないか、アクセスできない場合は、「」の AWS リージョン[とエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region)にリストされているリージョンのいずれかを参照していることを確認してください*AWS 全般のリファレンス*。

CodeDeploy デプロイで使用される EC2 インスタンスと Amazon EC2 Auto Scaling グループは、これらの AWS リージョンのいずれかで起動および作成する必要があります。

を使用している場合は AWS CLI、 から **aws configure** コマンドを実行します AWS CLI。その後、デフォルトの AWS リージョンを表示および設定できます。

CodeDeploy コンソールを使用している場合は、ナビゲーションバーのリージョンセレクタから、サポートされている AWS リージョンのいずれかを選択します。

**重要**  
中国 (北京) リージョンまたは中国 (寧夏)でサービスを使用するには、そのリージョンのアカウントと認証情報が必要です。他の AWS リージョンのアカウントと認証情報は、北京および寧夏リージョンでは機能せず、その逆も同様です。  
CodeDeploy リソースキットのバケット名や CodeDeploy エージェントのインストール手順など、中国リージョン向けのいくつかのリソースに関する情報は、今回の「*CodeDeploy ユーザーガイド*」には含まれていません。  
詳細については:  
*[中国 (北京) リージョンでの の開始方法 AWS の](http://docs.amazonaws.cn/en_us/aws/latest/userguide/introduction.html) *[CodeDeploy](http://docs.amazonaws.cn/en_us/aws/latest/userguide/codedeploy.html) 
「*CodeDeploy User Guide for the China Regions* (中国リージョン向け CodeDeploy ユーザーガイド)」([英語版](http://docs.amazonaws.cn/en_us/codedeploy/latest/userguide/welcome.html) \$1 [中国語版](http://docs.amazonaws.cn/codedeploy/latest/userguide/welcome.html))

## このガイドの手順が CodeDeploy コンソールと一致しない
<a name="troubleshooting-old-console"></a>

 このガイドの手順は、新しいコンソールデザインで記述されています。古いバージョンのコンソールを使用した場合、古い概念が反映され、本ガイドの基本的な手順がそのまま適用されます。新しいコンソールのヘルプにアクセスするには、情報アイコンを選択します。

## 必要な IAM ロールを取得できない
<a name="troubleshooting-iam-cloudformation"></a>

 AWS CloudFormation スタックの一部として作成された IAM インスタンスプロファイルまたはサービスロールに依存している場合、スタックを削除すると、すべての IAM ロールも削除されます。これが、IAM ロールが IAM コンソールに表示されなくなり、CodeDeploy が予期どおり動作しなくなる理由と考えられます。この問題を解決するには、削除された IAM ロールを再作成する必要があります。

## 何らかのテキストエディタを使用して AppSpec ファイルとシェルスクリプトを作成すると、デプロイが失敗する場合がある
<a name="troubleshooting-text-editors"></a>

テキストエディタによっては、不適合で非表示の文字がファイルに含まれる場合があります。テキストエディタを使用して AppSpec ファイルやシェルスクリプトファイルを作成または変更し、Amazon Linux、Ubuntu Server、または RHEL インスタンスで実行する場合、これらのファイルに依存するデプロイは失敗する可能性があります。CodeDeploy がこれらのファイルをデプロイ中に使用したときに、このような文字が存在すると、トラブルシューティングが困難な AppSpec ファイルの検証エラーにつながり、スクリプトの実行が失敗する可能性があります。

CodeDeploy コンソールのデプロイのイベント詳細ページで、[**ログを表示する**] を選択します。(または AWS CLI 、 を使用して [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html) コマンドを呼び出します。) `invalid character`、`command not found`、`file not found` のようなエラーを探します。

この問題に対処するには、次のことをお勧めします。
+ 改行 (`^M` 文字) などの非表示の文字を AppSpec ファイルとシェルスクリプトファイルに含めるテキストエディタは使用しない。
+ AppSpec ファイルやシェルスクリプトファイルで改行など非表示の文字を表示するテキストエディタを使用して、対象となる可能性のある文字を見つけ、削除できるようにする。このようなタイプのテキストエディタの例については、インターネットで「改行を表示するテキストエディタ」を検索します。
+ Amazon Linux、Ubuntu サーバー、または RHEL インスタンスで動作するテキストエディタを使用して、Amazon Linux、Ubuntu サーバー、または RHEL インスタンスで動作するシェルスクリプトファイルを作成してください。このようなタイプのテキストエディタの例については、インターネットで「Linux シェルスクリプトエディタ」を検索します。
+ Windows または macOS でテキストエディタを使用して、Amazon Linux、Ubuntu Server、 または RHEL インスタンスで実行するシェルスクリプトファイルを作成する場合は、Windows または macOS 形式のテキストを Unix 形式に変換するプログラムまたはユーティリティを使用する。このようなプログラムとユーティリティの例については、インターネットで「DOS から UNIX へ」または「Mac から UNIX へ」を検索します。必ず、ターゲットのオペレーティングシステムで、変換されたシェルスクリプトファイルをテストします。

## macOS の Finder を使用してアプリケーションリビジョンをバンドルすると、デプロイが失敗することがある
<a name="troubleshooting-bundle-with-finder"></a>

Mac の Finder グラフィカルユーザーインタフェース (GUI) アプリケーションを使用して、AppSpec ファイルおよび関連ファイルとスクリプトをアプリケーションリビジョンのアーカイブ (.zip) ファイルにバンドル (zip) すると、デプロイが失敗する場合があります。これは、Finder が .zip ファイルに中間の `__MACOSX` フォルダを作成し、そこにコンポーネントファイルを配置するためです。CodeDeploy はコンポーネントファイルを見つけることができないため、デプロイは失敗します。

この問題に対処するには、 を使用して [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html) コマンド AWS CLI を呼び出し、コンポーネントファイルを期待される構造に圧縮することをお勧めします。または、GUI の代わりにターミナルを使用してコンポーネントファイルを zip 圧縮できます。ターミナルでは、中間の `__MACOSX` フォルダは作成されません。