구성 및 자격 증명 파일 설정 - AWS Command Line Interface

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

구성 및 자격 증명 파일 설정

AWS CLI에서 유지되는 파일에 자주 사용되는 구성 설정과 자격 증명을 저장할 수 있습니다.

파일은 profiles로 나뉩니다. 기본적으로 CLI는 default라는 프로파일에서 확인된 설정을 사용합니다. 대체 설정을 사용하려면 추가 프로파일을 생성해 참조할 수 있습니다. 명명된 프로파일에 대한 자세한 내용은 명명된 프로파일 단원을 참조하십시오.

지원되는 환경 변수 중 하나를 설정하거나 명령줄 파라미터를 사용하여 개별 설정을 재정의할 수 있습니다. 구성 설정 우선 순위에 대한 자세한 내용은 구성 설정 및 우선 순위 단원을 참조하십시오.

구성 설정이 저장되는 장소

AWS CLI는 aws configure를 사용하여 지정하는 민감한 자격 증명 정보를 홈 디렉터리의 .aws라는 폴더에 있는 credentials라는 로컬 파일에 저장합니다. aws configure를 사용하여 지정하는 덜 민감한 구성 옵션은 config라는 로컬 파일에 저장되며, 홈 디렉터리의 .aws 폴더에도 저장됩니다.

config 파일에 자격 증명 저장

AWS CLI는 config 파일에서 자격 증명을 읽을 수 있으므로 모든 프로파일 설정을 단일 파일에 보관할 수 있습니다. 동일한 이름을 공유하는 프로파일에 대한 자격 증명이 두 파일 모두에 있는 경우 자격 증명 파일의 키가 우선합니다.

이들 파일은 다양한 언어의 소프트웨어 개발 키트(SDK)에서도 사용됩니다. SDK 중 하나를 사용하는 경우 AWS CLI는 또한 자격 증명을 자체 파일에 저장해야 하는지 여부를 확인합니다.

홈 디렉터리 위치는 운영 체제에 따라 달라지지만 Windows에서는 %UserProfile% 환경 변수를, Unix 기반 시스템에서는 $HOME 또는 ~(물결표) 환경 변수를 사용하여 참조됩니다. AWS_CONFIG_FILE 환경 변수를 다른 로컬 경로로 설정하여 config 파일에 대한 기본 위치가 아닌 위치를 지정할 수 있습니다. 세부 정보는 환경 변수를 사용하여 AWS CLI 구성 단원을 참조하십시오.

예를 들어 aws configure로 구성된 기본 프로파일에 대해 CLI에서 생성된 파일은 다음과 유사합니다.

~/.aws/credentials

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default] region=us-west-2 output=json

여러 개의 명명된 프로파일이 있는 파일의 예는 명명된 프로파일 단원을 참조하십시오.

AWS Identity and Access Management(IAM) 역할을 지정하는 공유 프로파일을 사용할 때 AWS CLI에서 AWS STS AssumeRole 작업을 호출하여 임시 자격 증명을 검색합니다. 이러한 자격 증명은 ~/.aws/cli/cache에 저장됩니다. 후속 AWS CLI 명령은 캐시된 임시 자격 증명이 만료될 때까지 사용하고 해당 시점에서 AWS CLI가 자격 증명을 자동으로 새로 고칩니다.

구성 설정 지정 및 보기

파일에서 구성 설정을 보고 지정하는 몇 가지 방법이 있습니다.

자격 증명 및 구성 파일

텍스트 편집기에서 configcredentials 파일을 직접 편집하여 설정을 보고 편집합니다. 자세한 내용은 구성 설정이 저장되는 장소를 참조하십시오.

설정을 제거하려면 configcredentials 파일에서 해당 설정을 삭제합니다.

aws configure

자격 증명, 리전 및 출력 형식을 빠르게 설정하고 보려면 이 명령을 실행합니다. 다음 예제는 샘플 값을 보여줍니다.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

자세한 내용은 aws configure를 통한 빠른 구성를 참조하십시오.

aws configure set

aws configure set를 사용하여 자격 증명 또는 구성 설정을 지정할 수 있습니다. --profile 설정으로 보거나 수정하려는 프로파일을 지정합니다.

예를 들어 다음 명령은 integ라는 프로파일에서 region을 설정합니다.

$ aws configure set region us-west-2 --profile integ

설정을 제거하려면 빈 문자열을 값으로 사용하거나 텍스트 편집기에서 configcredentials 파일의 설정을 수동으로 삭제합니다.

$ aws configure set cli_pager "" --profile integ
aws configure get

aws configure get을 사용하여 설정한 자격 증명 또는 구성 설정을 검색할 수 있습니다. --profile 설정으로 보거나 수정하려는 프로파일을 지정합니다.

예를 들어 다음 명령은 integ라는 프로파일에서 region 설정을 검색합니다.

$ aws configure get region --profile integ us-west-2

출력이 비어 있으면 설정이 명시적으로 지정되지 않고 기본값을 사용합니다.

aws configure import
이 기능은 AWS CLI 버전 2에서만 사용할 수 있습니다.

다음 기능은 AWS CLI 버전 2를 사용하는 경우에만 사용할 수 있습니다. AWS CLI 버전 1을 실행하는 경우에는 사용할 수 없습니다. 버전 2 설치 방법에 대한 자세한 내용은 AWS CLI 버전 2 설치, 업데이트 및 제거 단원을 참조하십시오.

AWS 웹 콘솔에서 생성된 CSV 자격 증명을 가져옵니다. IAM 사용자 이름과 일치하는 프로파일 이름을 이용해 CSV 파일을 가져옵니다.

$ aws configure import --csv file://credentials.csv
aws configure list

모든 구성 데이터를 나열하려면 aws configure list 명령을 사용합니다. 이 명령은 구성한 모든 설정의 AWS CLI 이름, 해당 값 및 구성을 검색한 위치를 표시합니다.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles
이 기능은 AWS CLI 버전 2에서만 사용할 수 있습니다.

다음 기능은 AWS CLI 버전 2를 사용하는 경우에만 사용할 수 있습니다. AWS CLI 버전 1을 실행하는 경우에는 사용할 수 없습니다. 버전 2 설치 방법에 대한 자세한 내용은 AWS CLI 버전 2 설치, 업데이트 및 제거 단원을 참조하십시오.

모든 프로파일 이름을 나열하려면 aws configure list-profiles 명령을 사용합니다.

$ aws configure list-profiles default test

지원되는 config 파일 설정

config 파일에서는 다음 설정이 지원됩니다. 같은 이름의 환경 변수나 같은 이름의 명령줄 옵션으로 재정의되지 않는 한, 지정된(또는 기본 설정된) 프로파일에 나열된 값들이 사용됩니다. 어떤 순서 설정이 우선적으로 사용되는지에 대한 자세한 내용은 구성 설정 및 우선 순위 단원을 참조하십시오.

Global settings(글로벌 설정)

api_versions

일부 AWS 서비스는 이전 버전과의 호환성을 지원하기 위해 여러 개의 API 버전을 유지하고 있습니다. 기본적으로 CLI 명령은 가장 최근에 출시된 API 버전을 사용합니다. config 파일에 api_versions 설정을 포함시켜 프로파일에서 사용할 API 버전을 지정할 수 있습니다.

이는 뒤에 들여 쓴 줄이 하나 이상 나오는 "중첩" 설정으로, 각각의 줄은 하나의 AWS 서비스와 사용할 API 버전을 식별합니다. 사용 가능한 API 버전을 알아보려면 각 서비스의 설명서를 참조하십시오.

다음 예제는 두 AWS 서비스에 대한 API 버전을 지정하는 방법을 보여줍니다. 이러한 API 버전은 이러한 설정이 포함된 프로파일 하에서 실행되는 명령에서만 사용됩니다.

api_versions = ec2 = 2015-03-01 cloudfront = 2015-09-017

이 설정에는 동등한 수준의 환경 변수 또는 명령줄 파라미터가 없습니다.

aws_access_key_id

명령 요청을 인증하기 위한 자격 증명의 일부로 사용되는 AWS 액세스 키를 지정합니다. 이 키는 config 파일에 저장될 수도 있지만, credentials 파일에 저장하는 것이 좋습니다.

AWS_ACCESS_KEY_ID 환경 변수로 재정의할 수도 있습니다. 명령줄 옵션으로 액세스 키 ID를 지정할 수는 없습니다.

aws_access_key_id = 123456789012
aws_secret_access_key

명령 요청을 인증하기 위한 자격 증명의 일부로 사용되는 AWS 비밀 키를 지정합니다. 이 키는 config 파일에 저장될 수도 있지만, credentials 파일에 저장하는 것이 좋습니다.

AWS_SECRET_ACCESS_KEY 환경 변수로 재정의할 수도 있습니다. 명령줄 옵션으로 보안 액세스 키를 지정할 수는 없습니다.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token

AWS 세션 토큰을 지정합니다. 세션 토큰은 수동으로 임시 보안 자격 증명을 지정하는 경우에만 필요합니다. 이 키는 config 파일에 저장될 수도 있지만, credentials 파일에 저장하는 것이 좋습니다.

AWS_SESSION_TOKEN 환경 변수로 재정의할 수도 있습니다. 명령줄 옵션으로 세션 토큰을 지정할 수는 없습니다.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

SSL 인증서를 확인하는 데 사용되는 CA 인증서 번들(확장자가 .pem인 파일)을 지정합니다.

AWS_CA_BUNDLE 환경 변수나 --ca-bundle 명령줄 옵션으로 재정의할 수도 있습니다.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt
이 기능은 AWS CLI 버전 2에서만 사용할 수 있습니다.

다음 기능은 AWS CLI 버전 2를 사용하는 경우에만 사용할 수 있습니다. AWS CLI 버전 1을 실행하는 경우에는 사용할 수 없습니다. 버전 2 설치 방법에 대한 자세한 내용은 AWS CLI 버전 2 설치, 업데이트 및 제거 단원을 참조하십시오.

AWS CLI 버전 2에 대한 자동 프롬프트를 활성화합니다. 두 가지 설정을 사용할 수 있습니다.

  • onaws 명령을 실행할 때마다 전체 자동 프롬프트 모드를 사용합니다. 여기에는 전체 명령 또는 불완전한 명령 다음에 Enter 키를 누르는 것이 포함됩니다.

    cli_auto_prompt = on
  • on-partial은 부분 자동 프롬프트 모드를 사용합니다. 명령이 불완전하거나 클라이언트 측 유효성 검사 오류로 인해 실행할 수 없는 경우 자동 프롬프트가 사용됩니다. 이 모드는 기존 스크립트 또는 Runbook이 있거나, 모든 명령에 대한 프롬프트가 아니라 익숙하지 않은 명령에 대해서만 자동 프롬프트를 사용하려는 경우 특히 유용합니다.

    cli_auto_prompt = on-partial

aws_cli_auto_prompt 환경 변수 또는 --cli-auto-prompt--no-cli-auto-prompt 명령줄 파라미터를 사용하여 이 설정을 재정의할 수 있습니다.

AWS CLI 버전 2 자동 프롬프트 기능에 대한 자세한 내용은 명령에 AWS CLI 프롬프트 사용 섹션을 참조하세요.

cli_binary_format
이 기능은 AWS CLI 버전 2에서만 사용할 수 있습니다.

다음 기능은 AWS CLI 버전 2를 사용하는 경우에만 사용할 수 있습니다. AWS CLI 버전 1을 실행하는 경우에는 사용할 수 없습니다. 버전 2 설치 방법에 대한 자세한 내용은 AWS CLI 버전 2 설치, 업데이트 및 제거 단원을 참조하십시오.

AWS CLI 버전 2에서 이진 입력 파라미터를 해석하는 방법을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • base64 – 이것이 기본값입니다. BLOB(이진 대용량 객체)로 입력되는 입력 파라미터는 base64로 인코딩된 문자열을 받습니다. 실제 이진 콘텐츠를 전달하려면 해당 콘텐츠를 파일에 넣고 fileb:// 접두사와 함께 파일 경로와 이름을 파라미터 값으로 입력합니다. 파일에 포함된 base64 인코딩 텍스트를 전달하려면 file:// 접두사와 함께 파일 경로와 이름을 파라미터 값으로 입력합니다.

  • raw-in-base64-out – 이진 값을 리터럴로 전달해야 하는 이전 버전 AWS CLI 버전 1 동작과의 호환성을 지원합니다.

이 항목은 동등한 수준의 환경 변수를 갖지 않습니다. --cli-binary-format raw-in-base64-out 파라미터를 사용하여 단일 명령에서 값을 지정할 수 있습니다.

cli_binary_format = raw-in-base64-out

fileb:// 접두사 표기법을 사용하여 파일의 이진 값을 참조하는 경우 AWS CLI에서 항상 파일에 원시 이진 콘텐츠가 포함될 것으로 예상하며 값을 변환하지 않습니다.

file:// 접두사 표기법을 사용하여 파일의 이진 값을 참조하는 경우 AWS CLI에서 현재 cli_binary_format 설정에 따라 파일을 처리합니다. 해당 설정의 값이 base64(명시적으로 설정되지 않은 경우 기본값)이면 CLI에서 파일에 base64로 인코딩된 텍스트가 포함될 것으로 예상하고, 이 설정의 값이 raw-in-base64-out이면 CLI에서 파일에 원시 이진 콘텐츠가 포함될 것으로 예상합니다.

cli_follow_urlparam
이 기능은 AWS CLI 버전 1에서만 사용할 수 있습니다.

다음 기능은 AWS CLI 버전 1을 사용하는 경우에만 사용할 수 있습니다. AWS CLI 버전 2를 실행하는 경우에는 사용할 수 없습니다.

CLI가 http:// 또는 https://로 시작하는 명령줄 파라미터에서 URL 링크를 따르려고 하는지 여부를 지정합니다. 활성화하면 검색된 콘텐츠가 URL 대신 파라미터 값으로 사용됩니다.

  • true – 기본값입니다. 지정된 경우 http:// 또는 https://로 시작하는 모든 문자열 파라미터를 가져오고 다운로드된 모든 콘텐츠가 해당 명령에 대한 파라미터 값으로 사용됩니다.

  • false: – 지정된 경우 CLI는 http:// 또는 https://로 시작하는 파라미터 문자열 값을 다른 문자열과 다르게 취급하지 않습니다.

이 항목은 동등한 수준의 환경 변수나 명령줄 옵션을 가지고 있지 않습니다.

cli_follow_urlparam = false
cli_pager
이 기능은 AWS CLI 버전 2에서만 사용할 수 있습니다.

다음 기능은 AWS CLI 버전 2를 사용하는 경우에만 사용할 수 있습니다. AWS CLI 버전 1을 실행하는 경우에는 사용할 수 없습니다. 버전 2 설치 방법에 대한 자세한 내용은 AWS CLI 버전 2 설치, 업데이트 및 제거 단원을 참조하십시오.

출력에 사용할 페이저 프로그램을 지정합니다. 기본적으로 AWS CLI 버전 2는 운영 체제의 기본 페이저 프로그램을 통해 모든 출력을 반환합니다.

AWS_PAGER 환경 변수로 재정의할 수도 있습니다.

cli_pager=less

외부 페이징 프로그램 사용을 모두 비활성화하려면, 다음 예제와 같이 변수를 빈 문자열로 설정합니다.

cli_pager=
cli_timestamp_format

출력에 포함된 타임스탬프 값의 형식을 지정합니다. 다른 값 중 하나를 지정할 수 있습니다.

  • iso8601 – AWS CLI 버전 2의 기본값입니다. 지정된 경우 AWS CLI는 ISO 8601에 따라 모든 타임스탬프의 형식을 변경합니다.

  • wire – AWS CLI 버전 1의 기본값입니다. 지정된 경우 AWS CLI는 HTTP 쿼리 응답에서 수신된 것과 똑같이 모든 타임스탬프 값을 표시합니다.

이 항목은 동등한 수준의 환경 변수나 명령줄 옵션을 가지고 있지 않습니다.

cli_timestamp_format = iso8601
credential_process

CLI가 이 명령에서 사용할 인증 자격 증명을 생성 또는 수신하기 위해 CLI가 실행하는 외부 명령을 지정합니다. 이 명령은 특정 형식으로 자격 증명을 반환해야 합니다. 이 설정을 사용하는 방법에 대한 자세한 내용은 외부 프로세스를 통해 자격 증명 소싱 단원을 참조하십시오.

이 항목은 동등한 수준의 환경 변수나 명령줄 옵션을 가지고 있지 않습니다.

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

AWS CLI에서 role_arn 파라미터로 지정된 역할을 수임하는 데 사용할 자격 증명을 찾을 수 있는 위치를 지정하기 위해 Amazon EC2 인스턴스 또는 EC2 컨테이너 내에서 사용됩니다. source_profilecredential_source 모두를 동일한 프로파일에서 지정할 수 없습니다.

이 파라미터는 다음 세 가지 값 중 하나를 가질 수 있습니다.

  • 환경 – AWS CLI가 환경 변수에서 소스 자격 증명을 검색하도록 지정합니다.

  • Ec2InstanceMetadata – AWS CLI가 EC2 인스턴스 프로파일에 연결된 IAM 역할을 사용하여 소스 자격 증명을 가져오도록 지정합니다.

  • EcsContainer – AWS CLI가 ECS 컨테이너에 연결된 IAM 역할을 소스 자격 증명으로 사용하도록 지정합니다.

credential_source = Ec2InstanceMetadata
duration_seconds

역할 세션의 최대 기간(초)을 지정합니다. 이 값의 범위는 900초(15분)부터 해당 역할에 대한 최대 세션 기간 설정(최대값: 43200초)까지 가능합니다. 이는 선택적 파라미터이며 기본적으로 값이 3600초로 설정됩니다.

external_id

타사에서 고객 계정의 역할을 수임하는 데 사용하는 고유한 식별자를 지정합니다. 이는 ExternalId 작업의 AssumeRole 파라미터로 매핑됩니다. 이 파라미터는 역할에 대한 신뢰 정책에서 ExternalId에 값을 지정하는 경우에만 필요합니다. 자세한 내용은 IAM 사용 설명서AWS 리소스에 대한 액세스 권한을 타사에 부여할 때 외부 게이트웨이를 사용하는 방법을 참조하십시오.

max_attempts

AWS CLI 재시도 핸들러에서 사용하는 최대 재시도 시도 횟수 값을 지정합니다. 여기서 초기 호출은 사용자가 제공한 max_attempts 값에 포함됩니다.

AWS_MAX_ATTEMPTS 환경 변수를 사용하여 이 값을 재정의할 수 있습니다.

max_attempts = 3
mfa_serial

역할 수임 시 사용하는 MFA 디바이스의 식별 번호입니다. 이는 수임 중인 역할의 신뢰 정책에 MFA 인증을 필요로 하는 조건이 포함된 경우에만 필수입니다. 이 값은 하드웨어 디바이스용 일련 번호(예: GAHT12345678) 또는 가상 MFA 디바이스용 Amazon 리소스 이름(ARN)(예: arn:aws:iam::123456789012:mfa/user)일 수 있습니다.

output

이 프로파일을 사용하여 요청된 명령의 기본 출력 형식을 지정합니다. 다음 값 중 하나를 지정할 수 있습니다.

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

  • yaml – 출력은 YAML 문자열로 형식이 지정됩니다. (AWS CLI 버전 2에서만 사용 가능)

  • yaml-stream – 출력은 스트리밍되고 YAML 문자열로 형식이 지정됩니다. 스트리밍을 통해 대용량 데이터 유형을 빠르게 처리할 수 있습니다. (AWS CLI 버전 2에서만 사용 가능)

  • text – 출력은 여러 줄의 탭으로 구분된 문자열 값으로 형식이 지정됩니다. 출력을 grep, sed 또는 awk와 같은 텍스트 프로세서로 전달하는 데 사용할 수 있습니다.

  • table – 출력은 셀 테두리를 형성하기 위해 +|- 문자를 사용하여 표로 형식이 지정됩니다. 일반적으로 읽기는 쉽지만 프로그래밍 방식으로는 유용하지 않은 "인간 친화적" 형식으로 정보를 표시합니다.

AWS_DEFAULT_OUTPUT 환경 변수나 --output 명령줄 옵션으로 재정의할 수도 있습니다.

output = table
parameter_validation

AWS CLI 클라이언트가 AWS 서비스 엔드포인트에 전달하기 전에 파라미터를 검증할지 여부를 지정합니다.

  • true – 기본값입니다. 지정된 경우 CLI는 명령줄 파라미터를 로컬로 확인합니다.

  • false – 지정된 경우 CLI는 AWS 서비스 엔드포인트에 전달하기 전에 명령줄 파라미터를 검증하지 않습니다.

이 항목은 동등한 수준의 환경 변수나 명령줄 옵션을 가지고 있지 않습니다.

parameter_validation = false
region

이 프로파일을 사용하여 요청된 명령에서 요청을 전송할 AWS 리전을 지정합니다.

  • Amazon Web Services 일반 참조AWS 리전 및 엔드포인트에 나열된 대로 선택한 서비스에서 사용할 수 있는 모든 리전 코드를 지정할 수 있습니다.

  • aws_global을 사용하면 리전 엔드포인트 외에 AWS Security Token Service(AWS STS) 및 Amazon Simple Storage Service(Amazon S3)와 같이 전역 엔드포인트를 지원하는 서비스에 전역 엔드포인트를 지정할 수 있습니다.

AWS_DEFAULT_REGION 환경 변수 또는 --region 명령줄 옵션을 사용하여 이 값을 재정의할 수 있습니다.

region = us-west-2
retry_mode

AWS CLI에 사용될 재시도 모드를 지정합니다. 레거시(기본값), 표준 및 적응형, 이렇게 3가지 재시도 모드를 사용할 수 있습니다. 재시도에 대한 자세한 내용은 AWS CLI 재시도을 참조하십시오.

AWS_RETRY_MODE 환경 변수를 사용하여 이 값을 재정의할 수 있습니다.

retry_mode = standard
role_arn

AWS CLI 명령을 실행하는 데 사용할 IAM 역할의 Amazon 리소스 이름(ARN)을 지정합니다. 또한 다음 파라미터 중 하나를 지정하여 이 역할을 수임할 수 있는 권한이 있는 자격 증명을 식별해야 합니다.

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name
role_session_name

역할 세션에 연결할 이름을 지정합니다. 이 값은 AWS CLI가 AssumeRole 작업을 호출할 때 RoleSessionName 파라미터에 제공되고 수임한 역할 사용자 ARN의 일부가 됩니다. arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. 이는 선택 가능한 파라미터입니다. 이 값을 제공하지 않은 경우 세션 이름이 자동으로 생성됩니다. 이 이름은 이 세션과 연결된 항목에 대한 AWS CloudTrail 로그에 나타납니다.

role_session_name = maria_garcia_role
source_profile

AWS CLI에서 role_arn 파라미터로 지정한 역할을 수임하는 데 사용할 수 있는 장기 자격 증명으로 명명된 프로파일을 지정합니다. source_profilecredential_source 모두를 동일한 프로파일에서 지정할 수 없습니다.

source_profile = production-profile
sso_account_id (AWS CLI 버전 2에서만 사용 가능)

연결된 AWS SSO 사용자에게 부여할 권한이 있는 IAM 역할이 포함된 AWS 계정 ID를 지정합니다.

이 설정에는 환경 변수 또는 명령줄 옵션이 없습니다.

sso_account_id = 123456789012
sso_region (AWS CLI 버전 2에서만 사용 가능)

AWS SSO 포털 호스트가 포함된 AWS 리전을 지정합니다. 이 값은 기본 CLI region 파라미터와 별개이며 다른 리전일 수 있습니다.

이 설정에는 환경 변수 또는 명령줄 옵션이 없습니다.

aws_sso_region = us_west-2
sso_role_name (AWS CLI 버전 2에서만 사용 가능)

이 프로파일을 사용할 때 사용자의 권한을 정의하는 IAM 역할의 기억하기 쉬운 이름을 지정합니다.

이 설정에는 환경 변수 또는 명령줄 옵션이 없습니다.

sso_role_name = ReadAccess
sso_start_url (AWS CLI 버전 2에서만 사용 가능)

조직의 AWS SSO 사용자 포털을 가리키는 URL을 지정합니다. AWS CLI는 이 URL을 통해 AWS SSO 서비스와의 세션을 설정하여 사용자를 인증합니다.

이 설정에는 환경 변수 또는 명령줄 옵션이 없습니다.

sso_start_url = https://my-sso-portal.awsapps.com/start
sts_regional_endpoints

AWS CLI에서 AWS CLI 클라이언트가 AWS Security Token Service(AWS STS)와 통신하는 데 사용하는 AWS 서비스 엔드포인트를 결정하는 방법을 지정합니다.

  • AWS CLI 버전 1의 기본값은 legacy입니다.

  • AWS CLI 버전 2의 기본값은 regional입니다.

다음 두 값 중 하나를 지정할 수 있습니다.

  • legacy – AWS 리전 ap-northeast-1, ap-south-1, ap-southeast-1, ap-southeast-2, aws-global, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1us-west-2에 전역 STS 엔드포인트 sts.amazonaws.com을 사용합니다. 다른 모든 리전은 해당 리전 엔드포인트를 자동으로 사용합니다.

  • regional – AWS CLI에서는 현재 구성된 리전에 항상 AWS STS 엔드포인트를 사용합니다. 예를 들어 클라이언트가 us-west-2를 사용하도록 구성된 경우, AWS STS에 대한 모든 호출은 전역 엔드포인트 sts.amazonaws.com 대신 리전 엔드포인트 sts.us-west-2.amazonaws.com에 대해 이루어집니다. 이 설정이 활성화된 상태에서 전역 엔드포인트에 요청을 보내려면 Region을 aws-global로 설정하면 됩니다.

AWS_STS_REGIONAL_ENDPOINTS 환경 변수를 사용하여 이 설정을 덮어쓸 수 있습니다. 이 값은 명령줄 파라미터로 설정할 수 없습니다.

web_identity_token_file

자격 증명 공급자가 제공하는 OAuth 2.0 액세스 토큰 또는 OpenID Connect ID 토큰을 포함하는 파일의 경로를 지정합니다. AWS CLI에서 이 파일의 내용을 로드하고 해당 파일을 AssumeRoleWithWebIdentity 작업에 대한 WebIdentityToken 인수로 전달합니다.

tcp_keepalive

AWS CLI 클라이언트가 TCP keep-alive 패킷을 사용할 것인지 여부를 지정합니다.

이 항목은 동등한 수준의 환경 변수나 명령줄 옵션을 가지고 있지 않습니다.

tcp_keepalive = false

S3 사용자 지정 명령 설정

Amazon S3은 AWS CLI가 Amazon S3 작업을 수행하는 방법을 구성하는 몇 가지 설정을 지원합니다. 일부 설정은 s3apis3 네임스페이스의 모든 S3 명령에 적용됩니다. 다른 설정은 특별히 공통 작업을 추상화하고 API 작업에 대한 일대일 매핑을 한 번 이상 수행하는 S3 "사용자 지정" 명령을 위한 것입니다. aws s3 이전 명령인 cp, sync, mvrm에는 S3 이전을 제어하는 데 사용할 수 있는 추가 설정이 있습니다.

이러한 옵션은 모두 config 파일에서 s3 중첩 설정을 지정하여 구성할 수 있습니다. 각 설정은 자체의 줄에서 들여쓰기가 됩니다.

참고

이러한 설정은 전적으로 선택 사항입니다. 이러한 설정을 구성하지 않고도 aws s3 이전 명령을 성공적으로 사용할 수 있어야 합니다. 이러한 설정은 성능을 조정하거나 aws s3 명령을 실행 중인 특정 환경을 설명할 수 있도록 하기 위해 제공됩니다.

아래 설정은 s3 또는 s3api 네임스페이스의 모든 S3 명령에 적용됩니다.

addressing_style

사용할 주소 지정 방식을 지정합니다. 버킷 이름이 호스트 이름에 있는지 또는 URL의 일부분인지 여부를 제어합니다. 유효 값은 path, virtualauto입니다. 기본 값은 auto입니다.

S3 엔드포인트는 두 가지 방식으로 구성할 수 있습니다. 첫 번째는 virtual이라고 하는 방식으로 호스트 이름의 일부로 버킷 이름을 포함하고 있습니다. 예: https://bucketname.s3.amazonaws.com. 아니면 path 방식을 사용하여 마치 URI의 경로인 것처럼 버킷 이름을 취급합니다(예: https://s3.amazonaws.com/bucketname). CLI은 auto를 사용하도록 기본 설정되어 있는데, 가능한 경우 virtual 방식을 사용하되, 필요할 때는 path 방식으로 돌아갑니다. 예를 들어 DNS를 준수하지 않은 버킷 이름은 호스트 이름의 일부가 될 수 없고 해당 경로에 있어야 합니다. auto에서는 CLI가 이 조건을 탐지하여 사용자를 대신해 path 방식으로 자동 전환합니다. 주소 지정 방식을 path로 설정한 경우에는 AWS CLI에서 구성한 AWS 리전이 버킷의 리전과 일치하는지 확인해야 합니다.

payload_signing_enabled

SHA256이 sigv4 페이로드를 서명하는지 여부를 지정합니다. HTTPS를 사용할 때 업로드(UploadPartPutObject)를 스트리밍하기 위해 기본적으로 이 옵션이 비활성화되어 있습니다. 업로드(UploadPartPutObject) 스트리밍을 위해 이 값이 기본적으로 false로 설정됩니다. 단, ContentMD5가 존재하고(기본적으로 생성) 엔드포인트가 HTTPS를 사용하는 경우에 한합니다.

true로 설정되어 있는 경우, S3 요청은 사용자를 위해 계산되어 요청 서명에 포함되어 있는 SHA256 체크섬의 형태로 추가적인 내용 확인을 받게 됩니다. false로 설정되어 있는 경우에는 체크섬이 계산되지 않습니다. 이 옵션을 비활성화하는 것이 체크섬 계산에서 생성된 성능 오버헤드를 줄이는 데 유용할 수 있습니다.

use_dualstack_endpoint

모든 s3s3api 명령에서 Amazon S3 이중 IPv4/IPv6 엔드포인트를 사용합니다. 기본값은 false입니다. 이 옵션은 use_accelerate_endpoint 설정에서 함께 사용할 수 없습니다.

true로 설정되어 있으면 AWS CLI가 모든 Amazon S3 요청을 구성된 리전에 대한 이중 IPv4/IPv6 엔드포인트에 전달합니다.

use_accelerate_endpoint

모든 s3s3api 명령에서 Amazon S3 가속 엔드포인트를 사용합니다. 기본값은 false입니다. 이 옵션은 use_dualstack_endpoint 설정에서 함께 사용할 수 없습니다.

true로 설정되어 있으면 AWS CLI가 Amazon S3 요청을 s3-accelerate.amazonaws.comS3 Accelerate 엔드포인트에 전달합니다. 이 엔드포인트를 사용하려면 버킷에서 S3 Accelerate를 사용하도록 활성화해야 합니다. 모든 요청은 가상의 버킷 주소 지정 방식(my-bucket.s3-accelerate.amazonaws.com)을 사용하여 전송됩니다. 엔드포인트에서 이러한 작업을 지원하지 않기 때문에 어떤 ListBuckets, CreateBucketDeleteBucket 요청도 S3 가속 엔드포인트로 전송되지 않습니다. s3 또는 s3api 명령에서 --endpoint-url 파라미터가 https://s3-accelerate.amazonaws.com 또는 http://s3-accelerate.amazonaws.com으로 설정되어 있는 경우에는 이 동작도 설정할 수 있습니다.

다음 설정은 s3 네임스페이스 명령 집합의 명령에만 적용됩니다.

max_bandwidth

Amazon S3에 데이터를 업로드하고 Amazon S3에서 데이터를 다운로드하는 데 사용할 수 있는 최대 대역폭을 지정합니다. 기본 값은 제한 없음입니다.

이 값은 S3 명령이 Amazon S3와 데이터를 주고 받는 데 사용할 수 있는 최대 대역폭을 제한합니다. 이 값은 업로드 및 다운로드에만 적용되고, 복사 또는 삭제 작업에는 적용되지 않습니다. 이 값은 초당 바이트로 표현됩니다. 이 값을 다음과 같이 형태로 지정할 수 있습니다.

  • 정수. 예를 들어 1048576은 초당 1MB로 최대 대역폭 사용량을 설정합니다.

  • 뒤에 속도 접미사가 붙는 정수. KB/s, MB/s 또는 GB/s를 사용하여 속도 접미사를 지정할 수 있습니다. 예, 300KB/s, 10MB/s.

일반적으로 먼저 max_concurrent_requests를 낮춰서 대역폭 사용량을 낮추려고 시도하는 것이 좋습니다. 이렇게 해도 원하는 속도로 대역폭 사용량이 적절하게 제한되지 않는 경우에는 대역폭 사용량을 추가로 제한하는 데 사용되는 max_bandwidth 설정을 사용할 수 있습니다. 이는 max_concurrent_requests가 현재 실행 중인 스레드의 수를 제어하기 때문입니다. 대신에 먼저 max_bandwidth 값을 낮추되, max_concurrent_requests 설정은 높게 놔두면 스레드가 불필요하게 대기해야 하는 결과가 발생할 수 있습니다. 이로 인해 리소스 사용량과 연결 제한 시간이 초과할 수 있습니다.

max_concurrent_requests

동시 요청의 최대 수를 지정합니다. 기본값은 10입니다.

aws s3 이전 명령은 멀티스레드가 됩니다. 해당 시점에 여러 개의 Amazon S3 요청이 실행 중일 수 있습니다. 예를 들어, aws s3 cp localdir s3://bucket/ --recursive 명령을 사용하여 S3 버킷에 파일을 업로드하면 AWS CLI는 localdir/file1, localdir/file2localdir/file3 파일을 동시에 업로드할 수 있습니다. max_concurrent_requests 설정은 동시에 실행 가능한 이전 작업의 최대 수를 지정합니다.

몇 가지 이유에서 이 값을 변경해야 할 수도 있습니다.

  • 이 값을 줄이기 – 어떤 환경에서는 기본 설정된 10개의 동시 요청으로 인해 시스템이 압도될 수 있습니다. 이로 인해 연결 제한 시간이 발생하거나 시스템의 응답 속도가 느려질 수 있습니다. 이 값을 낮추면 S3 이전 명령에서 리소스를 덜 사용하게 됩니다. 하지만 S3 이전이 완료되는 데 더 많은 시간이 소요될 수 있다는 단점이 있습니다. 대역폭을 제한하기 위한 도구를 사용하는 경우에는 이 값을 낮추는 것이 필수로 요구될 수 있습니다.

  • 이 값을 늘리기 – 어떤 경우에는 필요한 만큼 네트워크 대역폭을 사용하여 가능한 신속하게 S3 이전을 완료하고 싶을 수 있습니다. 이런 경우에는 기본적인 동시 요청 수로는 사용 가능한 모든 네트워크 대역폭을 활용하기에 충분하지 않을 수 있습니다. 이 값을 늘리면 S3 이전을 완료하는 데 소요되는 시간을 줄일 수 있습니다.

max_queue_size

작업 대기열의 최대 작업 수를 지정합니다. 기본값은 1000입니다.

AWS CLI는 내부적으로 Amazon S3 작업을 대기열에 추가하는 모델을 사용하는데, 소비자는 이를 실행하여 max_concurrent_requests에 따라 수를 제한합니다. 작업은 보통 단일 S3 작업에 매핑됩니다. 예를 들어 작업은 PutObjectTask, GetObjectTask 또는 UploadPartTask가 될 수 있습니다. 작업이 대기열에 추가되는 속도는 소비자가 작업을 완료하는 속도보다 훨씬 빠를 수 있습니다. 무한 증가를 피하기 위해 작업 대기열 크기가 특정 크기로 제한됩니다. 이 설정은 최대 크기의 값을 변경합니다.

일반적으로 이 설정을 변경할 필요는 없습니다. 또한 이 설정은 CLI가 실행이 필요하다고 인식하고 있는 작업의 수에 해당됩니다. 이는 곧 CLI가 기본적으로 1000건의 작업만 미리 볼 수 있다는 것을 의미합니다. 이 값을 늘리면 CLI가 대기열 저장 속도가 작업 완료 속도보다 빠르다는 가정 하에 필요한 총 작업 수를 보다 신속하게 알 수 있습니다. max_queue_size가 커질수록 메모리가 더 필요하게 된다는 단점이 있습니다.

multipart_chunksize

개별 파일의 멀티파트 이전을 위해 AWS CLI가 사용하는 청크 크기를 지정합니다. 기본값은 8MB이며 최소 5MB입니다.

파일 이전이 multipart_threshold를 초과하면 CLI는 파일을 이 크기의 청크로 분할합니다. multipart_threshold와 동일한 구문을 사용하여, 즉 정수 형태의 바이트 수를 사용하거나 크기와 접미사를 사용하는 방법으로 이 값을 지정할 수 있습니다.

multipart_threshold

개별 파일의 멀티파트 이전을 위해 AWS CLI가 사용하는 크기 임계값을 지정합니다. 기본값은 8MB입니다.

파일을 업로드, 다운로드 또는 복사할 때 파일이 이 크기를 초과하면 S3 명령이 멀티파트 작업으로 전환됩니다. 이 값을 두 가지 방법으로 지정할 수 있습니다.

  • 먼저 바이트 단위의 파일 크기입니다. 예: 1048576.

  • 두 번째는 크기 접미사가 포함된 파일 크기입니다. KB, MB, GB 또는 TB를 사용할 수 있습니다. 예를 들면 10MB, 1GB와 같습니다.

    참고

    S3은 멀티파트 작업에 사용할 수 있는 유효 값에 제약을 둘 수 있습니다. 자세한 내용은 Amazon Simple Storage Service 개발자 가이드S3 멀티파트 업로드 설명서를 참조하십시오.

이러한 설정은 모두 상위 수준 config 파일의 s3 키에서 지정됩니다(development 프로파일의 경우 다음 예제 참조).

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path