기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudShell 문제 해결
를 사용하는 동안 셸 명령줄 인터페이스를 사용하여AWS CloudShell 주요 작업을CloudShell 시작하거나 수행할 때와 같은 문제가 발생할 수 있습니다. 이 장에서 다루는 정보는 발생할 수 있는 일반적인 문제를 해결하는 책에 대해 설명합니다.
에 대한 다양한 질문에 대한CloudShell 답변은 AWS CloudShellFAQ를
오류 해결
다음 색인화된 오류가 발생하면 아래 해결책에 따라 오류가 발생하면 아래 해결책에 따라 해결할 수 있습니다.
주제
환경을 시작할 수 없습니다. 필수 권한이 없습니다. IAM 관리자에게 액세스 권한을 요청하십시오.AWS CloudShell
문제:AWS CloudShell 에서 실행을 시도하면 액세스가 거부되고 필요한 권한이 없다는 알림이 표시됩니다.AWS Management Console
원인: 액세스에 사용하는 IAMAWS CloudShell ID에는 필요한 IAM 권한이 없습니다.
해결 방법: IAM 관리자에게 필요한 권한을 요청하십시오. 연결된AWS 관리형 정책 (AWSCloudShellFullAccess) 또는 내장된 인라인 정책을 추가하여 이 작업을 수행할 수 있습니다. 자세한 정보는 IAM 정책을 통한AWS CloudShell 액세스 및 사용 관리을 참조하세요.
(맨 위로 이동)
AWS CloudShell명령줄에 액세스할 수 없습니다.
문제: 컴퓨팅 환경에서 사용하는 파일을 수정한 후 명령줄에 액세스할 수 없습니다AWS CloudShell.
해결 방법: 파일을 잘못.bashrc
수정하거나 다른 파일을 수정한 후 액세스할 수 없는 경우 홈 디렉터리를 삭제하여 기본 설정으로AWS CloudShell 돌아갈 수 있습니다.
(맨 위로 이동)
외부 IP 주소를 핑할 수 없습니다.
문제: 명령줄에서 ping 명령 (예:ping amazon.com
) 을 실행하면 다음 메시지가 나타납니다.
ping: socket: Operation not permitted
원인: ping 유틸리티는 ICMP (인터넷 제어 메시지 프로토콜) 를 사용하여 대상 호스트에 에코 요청 패킷을 보냅니다. 대상으로부터 에코가 응답하기를 기다립니다. 에서AWS CloudShell ICMP 프로토콜이 활성화되지 않았으므로 ping 유틸리티가 셸의 컴퓨팅 환경에서 작동하지 않습니다.
(맨 위로 이동)
터미널 준비에 몇 가지 문제가 발생했습니다.
문제: Microsoft Edge 브라우저를AWS CloudShell 사용하여 액세스하려고 하면 셸 세션을 시작할 수 없고 브라우저에 오류 메시지가 표시됩니다.
원인: 이전 버전의 Microsoft Edge와AWS CloudShell 호환되지 않습니다. 지원되는 브라우저의 최신 네 가지 주요 버전을AWS CloudShell 사용하여 액세스할 수 있습니다.
해결 방법: Microsoft 사이트에서
(맨 위로 이동)
화살표 키가 제대로 작동하지 않음PowerShell
문제: 정상 작동 시 화살표 키를 사용하여 명령줄 인터페이스를 탐색하고 명령 기록을 앞뒤로 검색할 수 있습니다. 그러나 특정 버전의PowerShellAWS CloudShell on에서는 화살표 키를 누르면 문자가 잘못 출력될 수 있습니다.
원인: 화살표 키가 문자를 잘못 출력하는 상황은 Linux에서 실행되는PowerShell 7.2.x 버전에서 알려진 문제입니다.
해결 방법: 화살표 키의 동작을 수정하는 이스케이프 시퀀스를 제거하려면PowerShell 프로필 파일을 편집하고$PSStyle
변수를 로 설정하십시오PlainText
.
-
AWS CloudShell명령줄에 다음 명령을 입력하여 프로필 파일을 엽니다.
vim ~/.config/powershell/Microsoft.PowerShell_profile.ps1
참고
이미 실행한PowerShell 경우 다음 명령을 사용하여 편집기에서 프로필 파일을 열 수도 있습니다.
vim $PROFILE
-
편집기에서 파일의 기존 텍스트 끝으로 이동하여 i를 눌러 삽입 모드로 전환한 다음 다음 명령문을 추가합니다.
$PSStyle.OutputRendering = 'PlainText'
-
편집한 후 키를Esc 눌러 명령 모드로 들어갑니다. 그런 다음 다음 명령을 입력하여 파일을 저장하고 편집기를 종료합니다.
:wq
참고
변경 사항은 다음에 시작할 때 적용됩니다PowerShell.
(맨 위로 이동)
지원되지 않는 웹 소켓으로 인해CloudShell 세션 시작 실패
문제:AWS CloudShell 시작하려고 할 때 다음 메시지가 반복적으로 나타납니다Failed to open sessions : Timed out while opening
the session
.
원인: 웹 브라우저와 간의 양방향 대화형 통신을 허용하는 WebSocket프로토콜에CloudShell 따라 다릅니다AWS CloudShell. 사설 네트워크에서 브라우저를 사용하는 경우 프록시 서버와 방화벽을 통해 인터넷에 안전하게 액세스할 수 있습니다. WebSocket통신은 일반적으로 문제 없이 프록시 서버를 통과할 수 있습니다. 그러나 프록시 서버가 제대로 작동하지 않는 경우도 있습니다.WebSockets 이 문제가 발생하면 셸 세션을 시작할CloudShell 수 없으며 결국 연결 시도 시간이 초과됩니다.
해결 방법: 연결 시간 초과는 지원되지 않는 문제 이외의 다른 문제로 인해 발생할 수WebSockets 있습니다. 이런 경우에는 먼저CloudShell 명령줄 인터페이스가 있는 브라우저 창을 새로 고치십시오.
새로 고침 후에도 여전히 시간 초과 오류가 발생하는 경우 프록시 서버의 설명서를 참조하십시오. 그리고 프록시 서버가 웹 소켓을 허용하도록 구성되어 있는지 확인하세요. 네트워크 시스템 관리자에게 문의할 수도 있습니다.
참고
특정 URL을 허용 목록에 추가하여 세분화된 권한을 정의하고 싶다고 가정해 보겠습니다. AWS Systems Manager세션이 입력 전송 및 출력 수신을 위한WebSocket 연결을 여는 데 사용하는 URL의 일부를 추가할 수 있습니다. AWS CloudShell명령이 해당 Systems Manager 세션으로 전송됩니다.
Systems Manager 사용하는 형식은 다음과 같습니다
wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)
.StreamUrl
지역은 에서AWS 리전 지원하는 의 지역 식별자를 나타냅니다AWS Systems Manager. 예를 들어,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 .Tools 모듈로 대체되었습니다AWS CloudShell.
해결 방법: 명시적인 import 명령문은 더 이상 필요하지 않거나 관련 서비스별AWS .Tools 모듈로 변경할 필요가 없을 수 있습니다.
-
대부분의 경우.Net 유형을 사용하지 않는 한 명시적인 import 문은 필요하지 않습니다. 다음은 임포트 명세서의 예입니다.
-
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 공지를
(맨 위로 이동)