문제 해결 AWS CloudShell - AWS CloudShell

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

문제 해결 AWS CloudShell

를 사용하는 동안 AWS CloudShell쉘 명령줄 인터페이스를 사용하여 주요 작업을 시작 CloudShell 하거나 수행할 때와 같은 문제가 발생할 수 있습니다. 이 장에서는 일반적으로 접할 수 있는 문제를 해결하는 방법을 설명하겠습니다.

에 대한 다양한 질문에 대한 답변은 섹션을 CloudShell참조하세요AWS CloudShell FAQs. AWS CloudShell 토론 포럼에서 답을 검색하고 질문을 올릴 수도 있습니다. 이 포럼에 들어갈 때 AWS에 로그인해야 할 수 있습니다. 또한 직접 당사에 문의할 수도 있습니다.

오류 해결

다음 색인에 있는 오류를 접한 경우, 아래 해결 방법에 따라 오류를 해결할 수 있습니다.

오류: “환경을 시작할 수 없습니다. 다시 시도하려면 브라우저를 새로 고치거나 작업, 다시 시작을 선택하여 다시 시작합니다 AWS CloudShell .

문제: AWS CloudShell 에서 를 시작하려고 하면 IAM 관리자의 필수 권한이 있고 브라우저를 새로 고치거나 를 다시 시작한 후에도 액세스가 AWS Management Console거부됩니다 CloudShell.

해결 방법: AWS 지원에 문의하십시오.

(맨 위로 이동)

오류: “환경을 시작할 수 없습니다. 필요한 권한이 없습니다. IAM 관리자에게 “에 대한 액세스 권한을 부여하도록 요청합니다. AWS CloudShell

문제: AWS CloudShell 에서 시작하려고 하면 액세스 AWS Management Console가 거부되고 필요한 권한이 없다는 알림이 표시됩니다.

원인: 에 액세스하는 데 사용하는 IAM 자격 증명에 필요한 IAM 권한이 AWS CloudShell 없습니다.

해결 방법: IAM 관리자에게 필요한 권한을 제공하도록 요청합니다. 연결된 AWS 관리형 정책(AWSCloudShellFullAccess) 또는 임베디드 인라인 정책을 추가하여 이 작업을 수행할 수 있습니다. 자세한 내용은 IAM 정책을 사용한 AWS CloudShell 액세스 및 사용 관리 단원을 참조하십시오.

(맨 위로 이동)

AWS CloudShell 명령줄에 액세스할 수 없음

문제: 컴퓨팅 환경에서 사용하는 파일을 수정한 후에는 의 명령줄에 액세스할 수 없습니다 AWS CloudShell.

해결 방법: .bashrc 또는 다른 파일을 잘못 수정한 후 액세스 권한을 잃는 경우 홈 디렉터리를 삭제하여 기본 설정 AWS CloudShell 으로 돌아갈 수 있습니다. 8단계: 쉘 세션 홈 디렉터리 삭제

(맨 위로 이동)

외부 IP 주소를 ping할 수 없음

문제: 명령줄에서 ping 명령(예: ping amazon.com)을 실행하면 다음 메시지가 나타납니다.

ping: socket: Operation not permitted

원인 : ping 유틸리티는 Internet Control Message Protocol(ICMP)을 사용하여 에코 요청 패킷을 대상 호스트로 보냅니다. 대상에서 응답할 때까지 에코를 기다립니다. ICMP 프로토콜은 에서 활성화되지 않으므로 AWS CloudShell ping 유틸리티는 쉘의 컴퓨팅 환경에서 작동하지 않습니다.

해결 방법 : 에서 지원되지 ICMP 않으므로 다음 명령을 실행하여 Netcat을 설치할 AWS CloudShell수 있습니다. Netcat은 TCP 또는 를 사용하여 네트워크 연결을 읽고 쓰기 위한 컴퓨터 네트워킹 유틸리티입니다UDP.

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

(맨 위로 이동)

터미널 준비 시 문제가 발생했습니다.

문제: Microsoft Edge 브라우저를 AWS CloudShell 사용하여 에 액세스하려고 하면 쉘 세션을 시작할 수 없으며 브라우저에 오류 메시지가 표시됩니다.

원인 : AWS CloudShell 은 Microsoft Edge의 이전 버전과 호환되지 않습니다. 지원되는 브라우저의 최신 4가지 메이저 버전을 AWS CloudShell 사용하여 에 액세스할 수 있습니다.

해결 방법: Microsoft 사이트에서 최신 버전 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.

원인 :WebSocket 는 프로토콜 에 따라 CloudShell 다르므로 웹 브라우저와 간에 양방향 대화형 통신을 사용할 수 있습니다 AWS CloudShell. 프라이빗 네트워크에서 브라우저를 사용하는 경우 프록시 서버에서 인터넷에 대한 보안 액세스를 용이하게 할 수 있으며 Firewalls. WebSocket communication은 일반적으로 문제 없이 프록시 서버를 통과할 수 있습니다. 그러나 프록시 서버가 제대로 작동하지 않는 경우 WebSockets 도 있습니다. 이 문제가 발생하면 는 쉘 세션을 시작할 CloudShell 수 없으며 연결 시도가 결국 시간 초과됩니다.

해결 방법: 지원되지 않는 이외의 문제로 인해 연결 제한 시간이 초과될 수 있습니다 WebSockets. 이 경우 먼저 CloudShell 명령줄 인터페이스가 있는 브라우저 창을 새로 고칩니다.

새로고침한 후에도 시간 초과 오류가 계속 발생하는 경우 프록시 서버 설명서를 참조하십시오. 또한 프록시 서버가 Web Socket을 허용하도록 구성되어 있는지 확인하십시오. 아니면 네트워크 시스템 관리자에게 문의하십시오.

참고

특정 를 허용 목록으로 지정하여 세분화된 권한을 정의하려고 한다고 가정해 보겠습니다URLs. 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 모듈을 가져올 수 없음

문제: 로 AWSPowerShell.NetCore 모듈을 가져오 PowerShell 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()

자세한 정보는 버전 4 공지( AWS Tools for PowerShell)에서 확인하십시오.

(맨 위로 이동)

를 사용할 때 도커가 실행되지 않음 AWS CloudShell

문제: 를 사용할 때 도커가 제대로 실행되지 않습니다 AWS CloudShell. 다음과 같은 오류 메시지가 표시됩니다docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

해결 방법: 환경을 다시 시작해 보세요. 이 오류 메시지는 지원하지 않는 GovCloud 리전 AWS CloudShell 에서 Docker를 실행할 때 발생할 수 있습니다. 지원되는 AWS 리전에서 Docker를 실행 중인지 확인합니다. Docker를 사용할 수 있는 리전 목록은 의 지원되는 AWS 리전을 참조하세요. AWS CloudShell

도커에 디스크 공간이 부족합니다.

문제: 다음과 같은 오류 메시지가 표시됩니다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하여 크기가 클 수 있다고 생각되는 특정 폴더의 크기를 평가하고 공간을 확보하기 위해 다른 파일을 삭제하는 것이 좋습니다. 한 가지 옵션은 를 실행하여 미사용 Docker 이미지를 제거하는 것입니다docker rmi. Docker에 대한 자세한 내용은 Docker 설명서 가이드 를 참조하세요.

docker push 가 제한 시간을 초과하고 계속 재시도합니다.

문제: 실행 시 docker push 제한 시간이 초과되어 성공하지 않고 계속 재시도합니다.

원인: 권한 누락, 잘못된 리포지토리로 푸시 또는 인증 부족으로 인해 발생할 수 있습니다.

해결 방법: 이 문제를 해결하려면 올바른 리포지토리로 푸시해야 합니다. docker login 를 실행하여 올바르게 인증합니다. Amazon ECR리포지토리로 푸시하는 데 필요한 모든 권한이 있는지 확인합니다.

내 AWS CloudShell VPC 환경에서 내 리소스에 액세스할 VPC 수 없음

문제: 내 AWS CloudShell VPC 환경을 사용하는 VPC 동안 내 리소스에 액세스할 수 없습니다.

원인: 환경 AWS CloudShell VPC은 의 네트워크 설정을 상속합니다VPC.

해결 방법: 이 문제를 해결하려면 리소스에 액세스하도록 VPC 이 올바르게 설정되어 있는지 확인하세요. 자세한 내용은 VPC 설명서 다른 네트워크에 연결 및 Network Access Analyzer 설명서 Network Access Analyzer 를 참조VPC하세요. https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html 명령줄 프롬프트 또는 VPC 콘솔 페이지에서 환경 `ip -a` 내에서 명령을 실행하여 환경이 사용 중인 IPv4 AWS CloudShell VPC 주소를 찾을 수 있습니다.

내 VPC 환경에 AWS CloudShell 대해 에서 ENI 사용하는 가 정리되지 않음

문제: 내 VPC 환경에 대해 AWS CloudShell 에서 ENI 사용하는 를 정리할 수 없습니다.

원인: 역할에 대한 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 환경 삭제 ).

자격 증명이 에서 작동하지 않습니다. CloudShell

문제: 에서 AWS CLI 전화를 걸면 내부 서버 오류라는 오류 메시지가 CloudShell표시됩니다.

원인: 다음은 이 문제의 가능한 원인입니다.

  • 가 보안 인증 정보를 새로 고치는 데 CloudShell 사용한 putCredentials API 호출이 실패했습니다. putCredentials 작업에 대한 IAM 권한이 부족하여 API 호출이 실패할 수 있습니다. 자세한 내용은 액세스 권한 AWS 서비스 단원을 참조하십시오. 이미 putCredentials 작업에 대한 IAM 권한이 있는 경우 네트워크 문제 또는 의 운영 문제로 인해 API 호출이 실패할 수 있습니다 CloudShell.

  • 콘솔 세션이 만료되었지만 CloudShell 환경이 여전히 실행 중이므로 AWS 보안 인증 정보는 더 이상 유효하지 않습니다. 자격 증명이 더 이상 유효하지 않으면 CloudShell에서 API 전화를 걸지 못합니다.

해결 방법: putCredentials 작업에 필요한 IAM 권한이 이미 있는 경우 웹 페이지를 새로 고치십시오. 문제가 해결되지 않고 오류가 계속 발생하면 AWS 지원 부서에 문의하세요.

에서 Amazon Q 인라인 제안에 액세스할 수 없음 AWS CloudShell

문제: Z 쉘로 전환한 후에는 터미널에 CloudShell 인라인 제안이 표시되지 않습니다.

원인 : 기존 CloudShell 환경을 사용하는 경우 닷파일에 Amazon Q 인라인 제안에 필요한 구성이 포함되어 있지 않을 수 있습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 따르세요.

  1. q integrations install dotfiles를 실행합니다.

  2. 새 CloudShell 탭을 엽니다.

  3. 를 입력하여 Z 쉘로 전환zsh한 다음 Enter 키를 누릅니다.

에서 Amazon Q CLI 기능에 액세스할 수 없음 AWS CloudShell

문제: 인라인 제안 CloudShell, 채팅 및 번역과 같은 에서 Amazon Q CLI 기능을 사용하려고 하면 가 표시됩니다AccessDeniedError.

원인: 필요한 IAM 권한이 없습니다.

해결 방법: 관리자에게 필요한 IAM 권한을 제공하도록 요청합니다. 자세한 내용은 Amazon Q 개발자 사용 설명서의 Amazon Q 개발자에 대한 자격 증명 기반 정책 예제를 참조하세요.