명령줄 옵션 - AWS Command Line Interface

명령줄 옵션

AWS CLI에서 명령줄 옵션은 기본 구성 설정, 해당 프로파일 설정 또는 해당 단일 명령에 대한 환경 변수 설정을 재정의하는 데 사용할 수 있는 전역 파라미터입니다. 명령줄 옵션을 통해 사용할 프로필을 지정할 수 있지만, 해당 옵션으로 자격 증명을 직접 지정할 수 없습니다.

명령줄 옵션 사용 방법

대부분의 명령줄 옵션은 다음 예에 나온 프로파일 이름 profile1과 같은 단순한 문자열입니다.

$ aws s3 ls --profile profile1 example-bucket-1 example-bucket-2 ...

인수를 가져오는 각 옵션에서는 공백이나 등호(=)를 사용하여 인수를 옵션 이름과 구분해야 합니다. 인수 값이 공백이 포함된 문자열인 경우 해당 인수의 앞뒤에 따옴표를 사용해야 합니다. 파라미터의 인수 유형 및 형식에 대한 자세한 내용은 AWS CLI에 대한 파라미터 값 지정 공통 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 동작과의 이전 버전 호환성을 제공합니다.

이는 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, offauto입니다. 기본 값은 auto입니다.

--디버그

디버그 로깅을 활성화하는 부울 스위치입니다. 기본적으로 AWS CLI는 명령 출력의 명령 결과와 관련된 성공 또는 실패에 대한 정리 정보를 제공합니다. --debug 옵션은 전체 Python 로그를 제공합니다. 여기에는 해당 명령의 작동에 대한 추가적인 stderr 진단 정보가 포함되어 있는데, 이는 명령이 예기치 않은 결과를 제공하는 이유를 해결할 때 유용할 수 있습니다. 디버그 로그를 쉽게 보려면 정보를 쉽게 검색할 수 있도록 로그를 파일로 보내는 것이 좋습니다. 이를 위해 다음 중 하나를 사용할 수 있습니다.

stderr 진단 정보 보내려면 2> debug.txt를 추가합니다. 여기서 debug.txt는 디버그 파일에 사용할 이름입니다.

$ aws servicename commandname options --debug 2> debug.txt

출력과 stderr 진단 정보둘 다 보내려면 &> debug.txt를 추가합니다. 여기서 debug.txt는 디버그 파일에 사용할 이름입니다.

$ aws servicename commandname options --debug &> debug.txt
--endpoint-url <string>

요청을 전송할 URL을 지정합니다. 대부분의 명령에서는 AWS CLI가 선택된 서비스 및 지정된 AWS 리전을 기반으로 자동으로 URL을 결정합니다. 하지만 일부 명령에서는 계정별 URL을 지정해야 합니다. 일부 AWS 서비스를 구성하여 프라이빗 VPC 내에서 직접 엔드포인트를 호스팅할 수도 있습니다. 이렇게 하려면 지정이 필요합니다.

각 리전에서 사용할 수 있는 표준 서비스 엔드포인트 목록은 Amazon Web Services 일반 참조에서 AWS 리전 및 엔드포인트를 참조하세요.

--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 요청 서명을 비활성화하는 부울 스위치입니다. 이렇게 하면 자격 증명이 로드되는 것을 방지할 수 있습니다.

--output <string>

이 명령에 사용할 출력 형식을 지정합니다. 다음 값 중 하나를 지정할 수 있습니다.

  • json - 출력은 JSON 문자열로 형식이 지정됩니다.

  • yaml - 출력은 YAML 문자열로 형식이 지정됩니다.

  • 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 ||| ...