Boto 구성 파일

이 페이지에서는 gsutil에서 boto 구성 파일이 사용되는 방법을 설명하고 이 파일을 사용하는 공동작업 예시를 제공합니다. boto 구성 파일은 Python용 Amazon S3 SDK인 boto에서도 사용됩니다.

구성 파일 개요

Boto 구성 파일에는 gsutil의 동작을 제어하는 값이 포함되어 있습니다. 예를 들어 prefer_api 변수는 우선적으로 사용하는 API gsutil을 결정합니다. 구성 파일을 직접 수정하여 Boto 구성 파일 변수를 변경할 수 있습니다. 대부분의 사용자는 이러한 변수를 수정할 필요가 없지만, 일반적으로 다음과 같은 이유로 수정합니다.

위치

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 구성 경로에서 지정할 수 있는 중앙 파일에 생성하고 저장합니다. 그러면 각 직원이 구성의 공유 부분을 수동으로 설정하지 않아도 되며, 관리자는 필요에 따라 이러한 공유 구성을 쉽게 변경할 수 있습니다.

이 작업을 완료하려면 다음 단계를 수행하세요.

  1. 모든 직원이 읽을 수 있는 중앙 boto 구성 파일을 생성합니다.

    이 경우 gcloud init를 사용하여 수행하면 됩니다.

    boto 구성 파일은 다음과 같은 내용을 포함할 수 있습니다.

    [Boto]
    proxy = yourproxy.com
    proxy_port = 8080
    proxy_type = http
     
    [GSUtil]
    parallel_composite_upload_threshold = 150M
    
  2. 직원이 Google Cloud CLI를 설치하도록 합니다.

    설치 중에 직원은 회사에서 사용하는 프로젝트 ID를 지정해야 합니다. 또한 사용자 인증 정보를 중앙에서 공유할 수 없으므로 개별 인증 사용자 인증 정보를 생성해야 합니다.

  3. 직원이 BOTO_PATH 환경 변수를 추가하도록 합니다.

    BOTO_PATH 환경 변수는 중앙에 위치한 구성 파일의 경로를 나열한 다음 직원의 로컬 구성 파일을 나열합니다. 예를 들어 중앙 구성 파일이 centralhub/ 디렉터리에 위치한 경우 jane 사용자를 위한 BOTO_PATH 환경 변수가 다음과 같을 수 있습니다.

    BOTO_PATH =/centralhub/boto.cfg:home/jane/.boto

직원은 gsutil을 실행할 때 중앙 boto 파일에 지정된 구성을 자동으로 사용하게 됩니다. 필요한 경우, 관리자는 중앙 구성 파일에서 프록시 설정, 동시 복합 업로드 기준, 기타 설정을 변경하고 중앙 구성 파일을 사용하여 변경 내용을 모든 직원에게 반영할 수 있습니다.