AWS CLI에서 명령줄 옵션은 기본 구성 설정, 해당 프로파일 설정 또는 해당 단일 명령에 대한 환경 변수 설정을 재정의하는 데 사용할 수 있는 전역 파라미터입니다. 명령줄 옵션을 통해 사용할 프로필을 지정할 수 있지만, 해당 옵션으로 보안 인증을 직접 지정할 수 없습니다.
명령줄 옵션 사용 방법
대부분의 명령줄 옵션은 다음 예에 나온 프로파일 이름 profile1
과 같은 단순한 문자열입니다.
$
aws s3 ls --profile
profile1
amzn-s3-demo-bucket1 amzn-s3-demo-bucket2 ...
인수를 가져오는 각 옵션에서는 공백이나 등호(=)를 사용하여 인수를 옵션 이름과 구분해야 합니다. 인수 값이 공백이 포함된 문자열인 경우 해당 인수의 앞뒤에 따옴표를 사용해야 합니다. 파라미터의 인수 유형 및 형식에 대한 자세한 내용은 AWS CLI에서 파라미터 값 지정 섹션을 참조하세요.
AWS CLI에서 지원되는 전역 명령줄 옵션
AWS CLI에서 다음 명령줄 옵션을 사용하여 기본 구성 설정, 해당 프로파일 설정 또는 해당 단일 명령에 대한 환경 변수 설정을 재정의할 수 있습니다.
- --ca-bundle
<string>
-
SSL 인증서를 확인할 때 사용할 CA(인증 기관) 인증서 번들을 지정합니다.
정의된 경우 이 옵션은 프로파일 설정
ca_bundle
의 값 및AWS_CA_BUNDLE
환경 변수를 재정의합니다. - --cli-auto-prompt
-
단일 명령에 대해 자동 프롬프트 모드를 활성화합니다. 다음 예제에 표시된 것처럼 언제든지 지정할 수 있습니다.
$
aws --cli-auto-prompt
$
aws dynamodb --cli-auto-prompt
$
aws dynamodb describe-table --cli-auto-prompt
이 옵션은
aws_cli_auto_prompt
환경 변수 및cli_auto_prompt
프로파일 설정을 재정의합니다.AWS CLI 버전 2 자동 프롬프트 기능에 대한 자세한 내용은 AWS CLI에서 명령 프롬프트 활성화 및 사용 섹션을 참조하세요.
- --cli-binary-format
-
AWS CLI 버전 2에서 이진 입력 파라미터를 해석하는 방법을 지정합니다. 다음 값 중 하나일 수 있습니다.
-
base64 - 기본값입니다. BLOB(이진 대용량 객체)로 입력되는 입력 파라미터는 base64로 인코딩된 문자열을 받습니다. 실제 이진 콘텐츠를 전달하려면 해당 콘텐츠를 파일에 넣고
fileb://
접두사와 함께 파일 경로와 이름을 파라미터 값으로 입력합니다. 파일에 포함된 base64 인코딩 텍스트를 전달하려면file://
접두사와 함께 파일 경로와 이름을 파라미터 값으로 입력합니다. -
raw-in-base64-out – AWS CLI 버전 1의 기본값입니다. 설정 값이
raw-in-base64-out
이면file://
접두사를 사용하여 참조된 파일이 텍스트로 읽히고 AWS CLI에서 이진수로 인코딩을 시도합니다.
이는
cli_binary_format
파일 구성 설정을 재정의합니다.$
aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function \ --invocation-type Event \ --payload '{ "name": "Bob" }' \ response.json
fileb://
접두사 표기법을 사용하여 파일의 이진 값을 참조하는 경우 AWS CLI에서 항상 파일에 원시 이진 콘텐츠가 포함될 것으로 예상하며 값을 변환하지 않습니다.file://
접두사 표기법을 사용하여 파일의 이진 값을 참조하는 경우 AWS CLI에서 현재cli_binary_format
설정에 따라 파일을 처리합니다. 해당 설정의 값이base64
(명시적으로 설정되지 않은 경우 기본값)이면 AWS CLI에서 파일에 base64로 인코딩된 텍스트가 포함될 것으로 예상합니다. 이 설정의 값이raw-in-base64-out
이면 AWS CLI에서 파일에 원시 이진 콘텐츠가 포함될 것으로 예상합니다. -
- --cli-connect-timeout
<integer>
-
최대 소켓 연결 시간을 초 단위로 지정합니다. 이 값이 0으로 설정되어 있으면 소켓 연결이 무한 대기 상태(차단 상태)가 되고 제한 시간이 적용되지 않습니다.
- --cli-read-timeout
<integer>
-
최대 소켓 읽기 시간을 초 단위로 지정합니다. 이 값이 0으로 설정되어 있으면 소켓 읽기가 무한 대기 상태(차단 상태)가 되고 제한 시간이 적용되지 않습니다.
- --color
<string>
-
색상 출력에 대한 지원 여부를 지정합니다. 유효 값은
on
,off
및auto
입니다. 기본 값은auto
입니다. - --디버그
-
디버그 로깅을 활성화하는 부울 스위치입니다. 기본적으로 AWS CLI는 명령 출력의 명령 결과와 관련된 성공 또는 실패에 대한 정리 정보를 제공합니다.
--debug
옵션은 전체 Python 로그를 제공합니다. 여기에는 해당 명령의 작동에 대한 추가적인stderr
진단 정보가 포함되어 있는데, 이는 명령이 예기치 않은 결과를 제공하는 이유를 해결할 때 유용할 수 있습니다. 디버그 로그를 쉽게 보려면 정보를 쉽게 검색할 수 있도록 로그를 파일로 보내는 것이 좋습니다. 이를 위해 다음 중 하나를 사용할 수 있습니다.stderr
진단 정보만 보내려면2> debug.txt
를 추가합니다. 여기서debug.txt
는 디버그 파일에 사용할 이름입니다.$
aws
2>servicename
commandname
options
--debugdebug.txt
출력과
stderr
진단 정보둘 다 보내려면&> debug.txt
를 추가합니다. 여기서debug.txt
는 디버그 파일에 사용할 이름입니다.$
aws
&>servicename
commandname
options
--debugdebug.txt
- --endpoint-url
<string>
-
요청을 전송할 URL을 지정합니다. 대부분의 명령에서는 AWS CLI가 선택된 서비스 및 지정된 AWS 리전을 기반으로 자동으로 URL을 결정합니다. 하지만 일부 명령에서는 계정별 URL을 지정해야 합니다. 일부 AWS 서비스를 구성하여 프라이빗 VPC 내에서 직접 엔드포인트를 호스팅할 수도 있습니다. 이렇게 하려면 지정이 필요합니다.
다음 명령 예제에서는 사용자 지정 Amazon S3 엔드포인트 URL을 사용합니다.
$
aws s3 ls --endpoint-url
http://localhost:4567
엔드포인트 우선순위
엔드포인트 구성 설정은 시스템 또는 사용자 환경 변수, 로컬 AWS 구성 파일 또는 명령줄에서 파라미터로 명시적으로 선언된 위치 등 다양한 장소에 있습니다. AWS CLI는 이러한 엔드포인트 설정을 특정 순서로 확인하고 우선순위가 가장 높은 엔드포인트 설정을 사용합니다. 엔드포인트 우선순위 목록은 엔드포인트 구성 및 설정 우선 순위 섹션을 참조하시기 바랍니다.
- --no-cli-auto-prompt
-
단일 명령에 대해 자동 프롬프트 모드를 비활성화합니다.
$
aws dynamodb describe-table --table-name Table1 --no-cli-auto-prompt
이 옵션은
aws_cli_auto_prompt
환경 변수 및cli_auto_prompt
프로파일 설정을 재정의합니다.AWS CLI 버전 2 자동 프롬프트 기능에 대한 자세한 내용은 AWS CLI에서 명령 프롬프트 활성화 및 사용 섹션을 참조하세요.
- --no-cli-pager
-
명령 출력에 페이저를 사용하도록 활성화하는 부울 스위치입니다.
- --no-paginate
-
출력의 페이지 매김을 생성하는 모든 명령 결과를 수신하기 위해 AWS CLI가 자동으로 수행하는 다중 호출을 비활성화하는 부울 스위치입니다. 즉, 출력의 첫 번째 페이지만 표시됩니다.
- --no-sign-request
-
AWS 서비스 엔드포인트에 대한 HTTP 요청 서명을 비활성화하는 부울 스위치입니다. 이렇게 하면 보안 인증이 로드되는 것을 방지할 수 있습니다.
- --no-verify-ssl
-
기본적으로 AWS CLI는 AWS 서비스와 통신할 때 SSL을 사용합니다. AWS CLI는 각 SSL 연결 및 호출에 대해 SSL 인증서를 확인합니다. 이 옵션을 사용하면 SSL 인증서를 확인하는 기본 동작이 재정의됩니다.
주의
이 옵션은 모범 사례가 아닙니다.
--no-verify-ssl
을 사용하는 경우 클라이언트와 AWS 서비스 간 트래픽이 더 이상 보호되지 않습니다. 즉, 트래픽이 보안 위험이 되며 중간자 공격에 취약합니다. 인증서에 문제가 있는 경우 대신 해당 문제를 해결하는 것이 좋습니다. 인증서 문제 해결 단계는 SSL 인증서 오류 섹션을 참조하세요. - --output
<string>
-
이 명령에 사용할 출력 형식을 지정합니다. 다음 값 중 하나를 지정할 수 있습니다.
-
yaml-stream - 출력은 스트리밍되고 YAML
문자열로 형식이 지정됩니다. 스트리밍을 통해 대용량 데이터 유형을 빠르게 처리할 수 있습니다. -
text - 출력은 여러 줄의 탭으로 구분된 문자열 값으로 형식이 지정됩니다. 출력을
grep
,sed
또는awk
와 같은 텍스트 프로세서로 전달하는 데 사용할 수 있습니다. -
table - 출력은 셀 테두리를 형성하기 위해 +|- 문자를 사용하여 표로 형식이 지정됩니다. 일반적으로 읽기는 쉽지만 프로그래밍 방식으로는 유용하지 않은 "인간 친화적" 형식으로 정보를 표시합니다.
- --profile
<string>
-
이 명령에 사용할 명명된 프로필을 지정합니다. 명명된 프로필을 추가로 설정하려면
aws configure
명령을--profile
옵션과 함께 사용하면 됩니다.$
aws configure --profile
<profilename>
- --query
<string>
-
응답 데이터를 필터링할 때 사용할 JMESPath 쿼리
를 지정합니다. 자세한 내용은 AWS CLI에서 출력 필터링 단원을 참조하십시오. - --region
<string>
-
이 명령의 AWS 요청을 전송할 AWS 리전을 지정합니다. 지정할 수 있는 모든 리전 목록은 Amazon Web Services 일반 참조의 AWS 리전 및 엔드포인트를 참조하세요.
- --version
-
실행 중인 AWS CLI 프로그램의 현재 버전을 표시하는 부울 스위치입니다.
명령줄 옵션의 일반적인 용도
명령줄 옵션의 일반적인 용도는 AWS 리전에서 리소스를 확인하고 읽기 쉽게 또는 스크립팅할 때 사용하기 쉽게 출력 형식을 변경하는 것입니다. 다음 예제에서는 인스턴스가 있는 리전을 찾을 때까지 각 리전에 대해 describe-instances 명령을 실행합니다.
$
aws ec2 describe-instances --output table --region
us-west-1
------------------- |DescribeInstances| +-----------------+
$aws ec2 describe-instances --output table --region
us-west-2
------------------------------------------------------------------------------ | DescribeInstances | +----------------------------------------------------------------------------+ || Reservations || |+-------------------------------------+------------------------------------+| || OwnerId | 012345678901 || || ReservationId | r-abcdefgh || |+-------------------------------------+------------------------------------+| ||| Instances ||| ||+------------------------+-----------------------------------------------+|| ||| AmiLaunchIndex | 0 ||| ||| Architecture | x86_64 ||| ...