AWS CloudShell のトラブルシューティング - AWS CloudShell

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

AWS CloudShell のトラブルシューティング

使用中にAWS CloudShell、 CloudShell シェルのコマンドラインインターフェイスを使用してキータスクを起動または実行するときなど、問題が発生する可能性があります。この章では、可能性のある一般的ないくつかの問題のトラブルシューティング方法を紹介します。

に関するさまざまな質問への回答については CloudShell、AWS CloudShellFAQ を参照してください。また、AWS CloudShell ディスカッションフォーラムで回答を検索したり、質問を投稿したりすることもできます。このフォーラムに入るには、AWS にサインインする必要がある場合があります。当社に直接お問い合わせいただくこともできます。

に関連するエラーのトラブルシューティング

以下に挙げるインデックスに関するエラーが発生した場合、解決のために次の解決方法を使用することができますす。

環境を起動できません。再試行するには、ブラウザを更新するか、[アクション]、 [AWS CloudShell の再起動] を選択して再起動してください。

問題:AWS CloudShellから起動しようとするとAWS Management Console、IAM 管理者から必要な権限を得て、ブラウザを更新したり再起動したりしても、アクセスが拒否されます。 CloudShell

解決策:AWSサポート部 にお問い合わせください。

(先頭に戻ります)

環境を起動できません。必要なアクセス許可がありません。IAM 管理者に AWS CloudShell へのアクセス権を申請してください。

問題: AWS Management Console から AWS CloudShell を起動しようとすると、アクセスを拒否され、必要なアクセス許可がないと通知されます。

原因: AWS CloudShell へのアクセスに使用している IAM アイデンティティに必要な IAM アクセス許可がありません。

解決策: IAM 管理者に必要な権限の付与を申請してください。そのためには、AWS添付の管理ポリシー (AWSCloudShellFullAccess) を追加するか、埋め込まれたインラインポリシーを追加します。詳細については、「IAM ポリシーによる AWS CloudShell アクセスと使用状況の管理」を参照してください。

(先頭に戻ります)

AWS CloudShell コマンドラインにアクセスできません

問題:コンピューティング環境が使用するファイルを変更した後に、AWS CloudShell のコマンドラインにアクセスできまん。

解決策: .bashrc またはその他のファイルを誤って変更した後にアクセスできない場合、ホームディレクトリを削除することで AWS CloudShell をデフォルト設定に戻すことができます。

(先頭に戻ります)

外部 IP アドレスに ping できません

問題:コマンドライン ( ping amazon.com など) から ping コマンドを実行すると、次のメッセージが表示されます。

ping: socket: Operation not permitted

原因: ping ユーティリティは、インターネット制御メッセージプロトコル (ICMP) を使用して、エコー要求パケットをターゲットホストに送信します。ターゲットからのエコーレスポンスを待ちます。ICMP プロトコルが AWS CloudShell で有効になっていないため、ping ユーティリティはシェルのコンピューティング環境では動作しません。

解決策:では ICMP がサポートされていないためAWS CloudShell、次のコマンドを実行して Netcat をインストールできます。Netcat は、TCP または UDP を使用してネットワーク接続を読み書きするためのコンピュータネットワークユーティリティです。

sudo yum install nc nc -zv www.amazon.com 443

(先頭に戻ります)

ターミナルの準備中に問題が発生しました

問題: Microsoft Edge ブラウザを使用して AWS CloudShell にアクセスしようとすると、シェルセッションを開始できず、ブラウザにエラーメッセージが表示されます。

原因: AWS CloudShell は、Microsoft Edge の以前のバージョンとの互換性がありません。サポートされるブラウザの最新の 4 つのメジャーバージョンで AWS CloudShell にアクセスすることができます。

解決策: マイクロソフトのサイトから Edge ブラウザの最新版をインストールします。

(先頭に戻ります)

では矢印キーが正しく機能しない PowerShell

問題:通常の操作では、矢印キーを使用してコマンドラインインターフェースを操作したり、コマンド履歴を前後にスキャンすることができますできます。ただし、 PowerShell on の特定のバージョンでは矢印キーを押すとAWS CloudShell、文字が正しく出力されない場合があります。

原因:矢印キーが誤って文字を出力する状況は、Linux で実行されている PowerShell 7.2.x バージョンの既知の問題です。

解決策:矢印キーの動作を変更するエスケープシーケンスを削除するには、 PowerShell プロファイルファイルを編集し、変数をに設定します。$PSStyle PlainText

  1. AWS CloudShell コマンドラインで、以下のコマンドを入力してプロファイルファイルを生成します。

    vim ~/.config/powershell/Microsoft.PowerShell_profile.ps1
    注記

    既に編集中の場合は PowerShell、以下のコマンドでプロファイルファイルをエディターで開くこともできます。

    vim $PROFILE
  2. エディターで、ファイルの既存のテキストの末尾に移動し、 i を押して挿入モードに入り、次のステートメントを追加します。

    $PSStyle.OutputRendering = 'PlainText'
  3. 編集したら、Esc を押してコマンドモードに入力します。次に、次のコマンドを入力してファイルを保存し、エディタを終了します。

    :wq
注記

PowerShell変更内容は次回起動時に有効になります。

(先頭に戻ります)

サポートされていない Web ソケットがあると、セッションの開始に失敗します。 CloudShell

問題:AWS CloudShell を起動しようとすると、次の Failed to open sessions : Timed out while opening the session というメッセージが繰り返し表示されます。

原因: CloudShell WebSocket プロトコルによって異なります。これにより、Web ブラウザととの間で双方向のインタラクティブ通信が可能になります。AWS CloudShellプライベートネットワークでブラウザを使用している場合は、プロキシサーバーとファイアウォールによってインターネットへの安全なアクセスが容易になると考えられます。 WebSocket 通常、通信は問題なくプロキシサーバーを通過できます。しかし、プロキシサーバーが正しく動作しない場合もあります。 WebSockets この問題が発生すると、 CloudShell シェルセッションを開始できなくなり、接続を試みても最終的にタイムアウトになります。

解決策:接続タイムアウトは、 WebSocketsサポート対象外以外の問題が原因である可能性があります。その場合は、まず、 CloudShell コマンドラインインターフェイスがあるブラウザウィンドウを更新してください。

更新後もタイムアウトエラーが続く場合は、プロキシサーバーのドキュメントを参照してください。また、プロキシサーバーが Web ソケットを許可するように設定されていることを確認してください。または、ネットワークのシステム管理者に問い合わせてください。

注記

特定の URL を許可リストに登録して、詳細な権限を定義したいとしましょう。AWS Systems Manager WebSocketセッションが入力の送信と出力の受信のための接続を開くために使用する URL の一部を追加できます。AWS CloudShell コマンドはその Systems Manager セッションに送信されます。

Systems Manager StreamUrl が使用するこの形式はです wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)

リージョンは 、 AWS Systems Manager でサポートされている AWS リージョン リージョン識別子を表します。例えば、us-east-2 は米国東部 (オハイオ) のリージョン識別子です。

セッション ID は特定の Systems Manager セッションが正常に開始された後に作成されるため、URL 許可リストを更新するときしか wss://ssmmessages.region.amazonaws.com を指定できません。詳細については、AWS Systems ManagerAPI StartSessionリファレンスのオペレーションを参照してください

(先頭に戻ります)

AWSPowerShell.NetCore モジュールをインポートできない。

問題:をインポートするとき AWSPowerShell。 NetCore PowerShell by のモジュールにImport-Module -Name AWSPowerShell.NetCore、次のエラーメッセージが表示されます。

インポートモジュール:指定されたモジュール '. AWSPowerShell NetCoreどのモジュールディレクトリにも有効なモジュールファイルが見つからなかったため、'はロードされませんでした

原因: AWSPowerShell.NetCore モジュールが AWS CloudShell 内のサービスごとの AWS .Tools モジュールに置き換えられます。

解決策:明示的なインポートステートメントは不要になるか、関連するサービスごとの AWS .Tools モジュールに変更する必要がなくなる可能性があります。

  • ほとんどの場合、 .NET タイプが使用されていない限り、明示的なインポートステートメントは必要ありません。以下は、インポートステートメントの例です。

    • Get-S3Bucket

    • (Get-EC2Instance).Instances

  • .NET タイプを使用する場合は、サービスレベルモジュール (AWS.Tools.<Service>) をインポートします。構文の例を次に示します。

    Import-Module -Name AWS.Tools.EC2 $InstanceTag = [Amazon.EC2.Model.Tag]::new("Environment","Dev")
    Import-Module -Name AWS.Tools.S3 $LifecycleRule = [Amazon.S3.Model.LifecycleRule]::new()

詳細については、 AWS Tools for PowerShell の バージョン 4 の告知を参照してください。

(先頭に戻ります)

を使用しているときに Docker が動作しない AWS CloudShell

問題:使用時に Docker が正しく動作しない。AWS CloudShelldocker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?次のエラーメッセージが表示されます。

解決策:環境を再起動してみてください。このエラーメッセージは、Docker AWS CloudShell をサポートしていないリージョンで Docker を実行した場合に発生する可能性があります。サポートされているリージョンで Docker を実行していることを確認してください。どのリージョンが Docker コンテナの使用をサポートしているかについてはAWS CloudShell、「Docker リージョン」を参照してください。

Docker のディスク容量が不足しています。

問題:次のエラーメッセージが表示される:ERROR: failed to solve: failed to register layer: write [...]: no space left on device

原因:Dockerfile がで利用可能なディスク容量を超えています。AWS CloudShellこれは、個々のイメージが大きかったり、既存の Docker イメージが多すぎたりすることが原因である可能性があります。

解決策:df -h実行してディスク使用量を調べてください。sudo du -sh /folder/folder1実行して容量が大きいと思われる特定のフォルダーのサイズを確認し、他のファイルを削除して空き容量を増やすことを検討してください。1 つの選択肢は、未使用の Docker イメージを実行して削除することを検討することです。docker rmiDocker には環境内のスペースが限られていることに注意してください。Docker の詳細については、Docker ドキュメンテーションガイドを参照してください。

docker pushがタイムアウトになり、再試行が繰り返されます。

問題:docker push実行するとタイムアウトになり、再試行しても成功しません。

原因:権限がない、間違ったリポジトリにプッシュされている、または認証されていないことが原因である可能性があります。

解決策:この問題を解決するには、正しいリポジトリにプッシュしていることを確認してください。docker login実行して正しく認証してください。Amazon ECR リポジトリへのプッシュに必要なすべての権限があることを確認してください。