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

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

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

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

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

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

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

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

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

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

(先頭に戻ります)

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

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

原因: アクセスに使用している IAM ID に必要な IAM アクセス許可 AWS CloudShell がありません。

解決策: 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 を使用して にアクセスしようとすると、シェルセッションを開始できず、ブラウザにエラーメッセージが表示されます。

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

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

(先頭に戻ります)

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

問題:通常の操作では、矢印キーを使用してコマンドラインインターフェースを操作したり、コマンド履歴を前後にスキャンすることができますできます。ただし、 PowerShell の特定のバージョンの で矢印キーを押すと 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。

(先頭に戻ります)

サポートされていないウェブソケットはセッションの開始に失敗する CloudShell

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

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

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

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

注記

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

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

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

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

(先頭に戻ります)

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

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

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

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

解決策: 明示的なインポートステートメントが不要になったり、関連するサービスごとの 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 CloudShell。次のエラーメッセージが表示されます: docker: 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 rmi。Docker の環境内の領域は限られていることに注意してください。Docker の詳細については、「Docker ドキュメントガイド」を参照してください。

docker push はタイムアウトし、再試行し続けます

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

原因: これは、アクセス許可の欠落、間違ったリポジトリへのプッシュ、または認証の欠如が原因で発生する可能性があります。

解決策: この問題を解決するには、正しいリポジトリにプッシュしていることを確認します。を実行して、適切に認証docker loginします。Amazon ECR リポジトリにプッシュするために必要なすべてのアクセス許可があることを確認します。

VPC 環境から VPC AWS CloudShell 内のリソースにアクセスできない

問題: VPC 環境の使用中に VPC AWS CloudShell 内のリソースにアクセスできない。

原因: AWS CloudShell VPC 環境は VPC のネットワーク設定を継承します。

解決策: この問題を解決するには、VPC がリソースにアクセスするために正しく設定されていることを確認します。詳細については、「VPC ドキュメント VPC を他のネットワークに接続する」および「」および「Network Access Analyzer ドキュメント」を参照してください。 AWS CloudShell VPC 環境が使用している IPv4 アドレスは、コマンドラインプロンプトまたは VPC コンソールページで環境`ip -a`内でコマンドを実行することで確認できます。

が AWS CloudShell VPC 環境に使用する ENI がクリーンアップされていない

問題: が VPC 環境に使用する ENI を AWS CloudShell クリーンアップできません。

原因: ロールに対して アクセスec2:DeleteNetworkInterface許可が有効になっていません。

解決策: この問題を解決するには、次のサンプルスクリプトに示すように、ロールに対して アクセスec2:DeleteNetworkInterface許可が有効になっていることを確認します。

{ "Effect": "Allow", "Action": [ "ec2:DeleteNetworkInterface" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByCloudShell": "" } }, "Resource": "arn:aws:ec2:*:*:network-interface/*" }

VPC 環境のみのアクセスCreateEnvironment許可を持つユーザーは、パブリック AWS CloudShell 環境にもアクセスできます。

問題: VPC 環境のみのCreateEnvironmentアクセス許可で制限されたユーザーは、パブリック AWS CloudShell 環境にアクセスすることもできます。

原因: VPC 環境CreateEnvironmentの作成許可のみを制限し、パブリック環境を既に作成している場合は、ウェブユーザーインターフェイスを使用してこの環境が削除されるまで、既存のパブリック CloudShell環境へのアクセスを保持します。ただし、 CloudShell を使用したことがない場合は、パブリック環境にアクセスできません。

解決策: パブリック AWS CloudShell 環境へのアクセスを制限するには、IAM 管理者がまず IAM ポリシーを制限付きで更新し、次にウェブ AWS CloudShell ユーザーインターフェイスを使用して既存のパブリック環境を手動で削除する必要があります。(アクション CloudShell 環境 を削除します)。