이 페이지에서는 gsutil에서 boto 구성 파일이 사용되는 방법을 설명하고 이 파일을 사용하는 공동작업 예시를 제공합니다. boto 구성 파일은 Python용 Amazon S3 SDK인 boto에서도 사용됩니다.
구성 파일 개요
Boto 구성 파일에는 gsutil의 동작을 제어하는 값이 포함되어 있습니다. 예를 들어 prefer_api
변수는 우선적으로 사용하는 API gsutil을 결정합니다. 구성 파일을 직접 수정하여 Boto 구성 파일 변수를 변경할 수 있습니다. 대부분의 사용자는 이러한 변수를 수정할 필요가 없지만, 일반적으로 다음과 같은 이유로 수정합니다.
- 프록시를 통해 작동하도록 gsutil 설정
- 고객 관리 또는 고객 제공 암호화 키 사용
- 전역 gsutil 동작의 특수한 맞춤설정 수행
위치
boto 구성 파일의 기본 위치는 Linux 및 macOS의 경우 사용자 홈 디렉터리인 ~/.boto이고, Windows의 경우 %HOMEDRIVE%%HOMEPATH%입니다. gsutil version -l
명령어를 실행하여 구성 파일의 위치를 확인할 수 있습니다.
BOTO_CONFIG
환경 변수를 설정하여 gsutil에서 구성 파일을 찾을 위치를 재정의할 수 있습니다. 또한 :
구분 경로(Windows의 경우 ;
)를 사용해 BOTO_PATH
환경 변수를 설정하여 로드할 boto 구성 파일의 경로를 설정할 수 있습니다. 예를 들어 BOTO_PATH
환경 변수를 다음과 같이 설정합니다.
/etc/projects/my_group_project.boto.cfg:/home/mylogin/.boto
gsutil이 경로에서 찾은 각 구성 파일을 순서대로 로드합니다. 여러 사용자 간에 공유 구성 상태를 설정하려는 경우에 유용합니다. 이러한 데이터 공유 및 공동작업 시나리오는 구성 파일 사용 예시를 참조하세요.
구조
구성 파일에는 여러 [Credentials]
, [Boto]
, [GSUtil]
, [OAuth2]
섹션이 포함되어 있습니다. 다음은 현재 정의된 구성 설정으로, 섹션별로 구분되어 있습니다. 사용법은 각 설정 앞에 있는 주석의 boto 구성 파일에 설명되어 있습니다.
[Credentials] aws_access_key_id aws_secret_access_key gs_access_key_id gs_host gs_host_header gs_json_host gs_json_host_header gs_json_port gs_oauth2_refresh_token gs_port gs_secret_access_key gs_service_client_id gs_service_key_file gs_service_key_file_password s3_host s3_host_header s3_port [Boto] proxy proxy_type proxy_port proxy_user proxy_pass proxy_rdns http_socket_timeout ca_certificates_file https_validate_certificates debug max_retry_delay num_retries [GoogleCompute] service_account [GSUtil] check_hashes content_language decryption_key1 ... 100 default_api_version disable_analytics_prompt encryption_key json_api_version max_upload_compression_buffer_size parallel_composite_upload_component_size parallel_composite_upload_threshold sliced_object_download_component_size sliced_object_download_max_components sliced_object_download_threshold parallel_process_count parallel_thread_count gzip_compression_level prefer_api resumable_threshold resumable_tracker_dir (deprecated in 4.6, use state_dir) rsync_buffer_lines software_update_check_period state_dir tab_completion_time_logs tab_completion_timeout task_estimation_threshold test_cmd_regional_bucket_location test_notification_url use_magicfile test_hmac_service_account test_hmac_alt_service_account test_hmac_list_service_account [OAuth2] client_id client_secret oauth2_refresh_retries provider_authorization_uri provider_label provider_token_uri token_cache
파일을 수정할 때 gs_access_key_id
와 같은 설정 이름을 잘못 수정하거나 [Credentials]
와 같은 섹션 구분 기호를 삭제하지 않도록 주의하세요.
최신 구성 파일로 업데이트
시간이 지나면서 새 구성 제어 가능 기능이 boto 구성 파일에 추가되지만 대부분의 gsutil 사용자는 일단 구성 파일을 만든 다음 장시간 보관합니다. 즉, 최신 버전의 gsutil로 업데이트할 때 새로운 기능이 명확하게 표시되지 않습니다. 최신 설정 및 문서가 포함된 최신 파일 구성을 가져오려면 현재 파일(예: .boto_old
)의 이름을 바꾸거나 gcloud init
를 실행(또는 기존 독립형 버전의 gustil을 사용하는 경우 -a
또는 -e
플래그와 함께 gsutil config
실행)한 다음 이전 파일에서 유지하려는 구성 설정을 새로 만든 파일로 전송합니다. 하지만 OAuth2 사용자 인증 정보를 사용하고 OAuth2 구성 프로세스를 거치면 이전 OAuth2 사용자 인증 정보가 무효화됩니다.
구성 파일 사용 예시
이 예에서는 한 작은 회사가 Cloud Storage를 직원용 저장소 시스템으로 사용하려 합니다. IT 관리자는 Google Cloud 콘솔에서 프로젝트를 만들고 직원마다 버킷을 만듭니다. 직원이 Cloud Storage를 더 쉽게 사용할 수 있도록 프록시 구성, 동시 복합 업로드 기준 등의 전사적 설정을 직원이 BOTO 구성 경로에서 지정할 수 있는 중앙 파일에 생성하고 저장합니다. 그러면 각 직원이 구성의 공유 부분을 수동으로 설정하지 않아도 되며, 관리자는 필요에 따라 이러한 공유 구성을 쉽게 변경할 수 있습니다.
이 작업을 완료하려면 다음 단계를 수행하세요.
모든 직원이 읽을 수 있는 중앙 boto 구성 파일을 생성합니다.
이 경우
gcloud init
를 사용하여 수행하면 됩니다.boto 구성 파일은 다음과 같은 내용을 포함할 수 있습니다.
[Boto] proxy = yourproxy.com proxy_port = 8080 proxy_type = http [GSUtil] parallel_composite_upload_threshold = 150M
직원이 Google Cloud CLI를 설치하도록 합니다.
설치 중에 직원은 회사에서 사용하는 프로젝트 ID를 지정해야 합니다. 또한 사용자 인증 정보를 중앙에서 공유할 수 없으므로 개별 인증 사용자 인증 정보를 생성해야 합니다.
직원이 BOTO_PATH 환경 변수를 추가하도록 합니다.
BOTO_PATH 환경 변수는 중앙에 위치한 구성 파일의 경로를 나열한 다음 직원의 로컬 구성 파일을 나열합니다. 예를 들어 중앙 구성 파일이
centralhub/
디렉터리에 위치한 경우jane
사용자를 위한 BOTO_PATH 환경 변수가 다음과 같을 수 있습니다.BOTO_PATH =/centralhub/boto.cfg:home/jane/.boto
직원은 gsutil을 실행할 때 중앙 boto 파일에 지정된 구성을 자동으로 사용하게 됩니다. 필요한 경우, 관리자는 중앙 구성 파일에서 프록시 설정, 동시 복합 업로드 기준, 기타 설정을 변경하고 중앙 구성 파일을 사용하여 변경 내용을 모든 직원에게 반영할 수 있습니다.