- Rclone을 사용하여 클라우드에서 객체 스토리지로 데이터 이동
- 객체 스토리지에 대한 Rclone 구성
객체 스토리지에 대한 Rclone 구성
OCI Object Storage API와 함께 Rclone을 사용하여 OCI Object Storage 버킷으로 데이터를 마이그레이션할 수 있습니다. 대상 마이그레이션 버킷을 염두에 두거나 OCI Object Storage 버킷을 생성하는 방법을 알아보려면 객체 스토리지에 데이터 넣기 자습서를 참조하십시오.
첫번째 단계에는 적절한 인증서와 API 끝점을 얻는 단계가 포함됩니다. 이 솔루션은 Linux 호스트에서 Rclone을 사용하고 OCI 사용자 및 API 키를 사용하는 인증을 사용합니다. Rclone Oracle Object Storage 설명서에서 추가 권한 부여 방법과 Rclone 다운로드 및 설치 방법에 대한 정보를 참조하십시오.
주:
위의 참조된 리소스에 대해서는 이 플레이북의 다른 곳에서 적절한 링크를 참조하십시오.OCI 사용자 및 API 키로 인증 설정, OCI 테넌시 네임스페이스 및 버킷 구획 가져오기
API 서명 쌍을 생성하고, 구성 파일을 설정하고, 테넌시 네임스페이스, 구획 정보 및 지역별 오브젝트 스토리지 API 엔드포인트를 가져옵니다.
- 먼저 API 서명 키 쌍을 생성합니다.
- 유저 세부 정보를 확인합니다.
- 자신을 위해 API 키를 생성하는 경우 [프로파일] 메뉴(사용자 메뉴 아이콘)를 열고 사용자 설정을 누릅니다.
- 다른 사용자에 대한 API 키를 생성하는 관리자인 경우 콘솔에서 ID, 사용자 순으로 누릅니다. 목록에서 사용자를 찾아 사용자의 이름을 눌러 세부정보를 봅니다.
- 리소스 섹션의 페이지 왼쪽에서 API 키를 누릅니다.
- API 키 추가를 누릅니다.
- API 키 목록의 왼쪽 위에 있는 API 키 추가를 누릅니다. API 키 추가 대화상자가 나타납니다.
- 개인 키 다운로드를 누르고 키를
.oci
디렉토리에 저장합니다. 대부분의 경우 공개 키를 다운로드할 필요가 없습니다.주:
.oci
디렉토리가 없는 경우 홈 디렉토리에 디렉토리를 만듭니다.- 브라우저에서 개인 키를 다른 디렉토리로 다운로드하는 경우 해당 개인 키를
.oci
디렉토리로 이동해야 합니다.
- 추가를 누릅니다.
키가 OCI 사용자의 리소스에 추가되고 구성 파일 미리보기가 나타납니다. 프로파일은 DEFAULT로 표시됩니다. 나중에 Rclone 구성을 설정할 때 프로파일 이름이 필요합니다. 텍스트 상자에서 구성 파일 조각을 복사하여 .oci 디렉토리의 config 파일에 붙여넣습니다. 위의 e단계의 위치와 일치하도록 구성 파일의
key_file
경로를 업데이트합니다. 파일 경로를 저장하여 Rclone 구성을 설정합니다.
- 유저 세부 정보를 확인합니다.
- 오브젝트 스토리지 네임스페이스 문자열을 가져옵니다.
- 프로파일 메뉴를 열고 테넌시: <your_tenancy_name>를 누릅니다. 네임스페이스 문자열이 오브젝트 스토리지 설정 아래에 나열됩니다.
- Rclone을 설정할 때 필요한 대로 이름 공간 문자열을 복사합니다.
- 버킷 구획 및 지역을 확인합니다.
- OCI 콘솔에서 스토리지, 오브젝트 스토리지 및 아카이브 스토리지, 버킷 순으로 이동하여 데이터가 마이그레이션될 버킷의 이름을 찾습니다.
- 버킷 이름을 누르면 세부정보가 표시됩니다.
- OCI 콘솔 페이지의 왼쪽 상단 모서리를 살펴보고 버킷이 위치한 리전과 리전 이름을 확인합니다. Rclone을 설정할 때 이 정보가 필요합니다.
- 구획 옆에 있는 이름 링크를 눌러 구획 세부정보를 봅니다.
- 구획 세부정보 페이지의 구획 정보 탭에서 구획 OCID를 복사합니다. Rclone을 설정할 때 이 정보가 필요합니다.
OCI Object Storage에 대한 Rclone 구성
다음으로 OCI Object Storage에 대한 Rclone을 구성해야 합니다. 다음 절차를 따르십시오.
- Linux 시스템으로 이동하고
rclone config
를 실행하여 대화식 설정 프로세스를 시작합니다.$ rclone config No remotes found, make a new one? e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q>
n) New remote
옵션을 선택하고 프롬프트가 표시되면 새 원격의 이름을 입력합니다.Enter name for new remote. <enter your name here>
- 다음 프롬프트는 스토리지 유형을 묻고 옵션 목록을 표시합니다. OCI Object Storage(
oracleobjectstorage
)와 연결된 번호를 선택합니다.Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. . . . 35 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH) \ (swift) 36 / Oracle Cloud Infrastructure Object Storage \ (oracleobjectstorage) 37 / Pcloud \ (pcloud) <snip> Storage> 36
주:
이 글을 쓰면 옵션은 숫자 36입니다. 이 숫자는 Rclone 릴리스가 추가 저장소 선택 항목을 추가함에 따라 변경됩니다. OCI Object Storage에 대한 메뉴 옵션을 선택 중인지 확인해야 합니다. - 사용할 인증 제공자를 선택합니다. 이 예에서는
2 OCI user and API Key
옵션이 선택됩니다.Option provider. Choose your Auth Provider Choose a number from below, or type in your own string value. Press Enter for the default (env_auth). 1 / automatically pickup the credentials from runtime(env), first one to provide auth wins \ (env_auth) / use an OCI user and an API key for authentication. 2 | you’ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key. | https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm \ (user_principal_auth) / use instance principals to authorize an instance to make API calls. 3 | each instance has its own identity, and authenticates using the certificates that are read from instance metadata. | https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm \ (instance_principal_auth) / use workload identity to grant OCI Container Engine for Kubernetes workloads policy-driven access to OCI resources using OCI Identity and Access Management (IAM). 4 | https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm \ (workload_identity_auth) 5 / use resource principals to make API calls \ (resource_principal_auth) 6 / no credentials needed, this is typically for reading public buckets \ (no_auth) provider> 2
- OCI 테넌시 객체 스토리지 네임스페이스를 입력합니다('OCI 사용자 및 API 키를 사용하여 인증 설정, OCI 테넌시 네임스페이스 및 버킷 구획 가져오기'에서 단계 2b를 수행할 때 생성 및 기록됨).
Option namespace. Object storage namespace Enter a value. namespace> namespace_name
- 버킷 구획 OCID를 입력합니다('OCI 사용자 및 API 키를 사용하여 인증 설정, OCI 테넌시 네임스페이스 및 버킷 구획 가져오기'에서 단계 3e를 수행할 때 생성 및 기록됨).
Option compartment. Object storage compartment OCID Enter a value. compartment> ocid1.compartment.oc1xxx.xxxx.xxxx.xxxx
- 버킷 영역("OCI 사용자 및 API 키를 사용하여 인증 설정, OCI 테넌시 네임스페이스 및 버킷 구획 가져오기"에서 단계 3c를 수행할 때 생성 및 기록한 버킷 영역)을 입력합니다.
Option region. Object storage Region Enter a value. region> us-ashburn-1
- 다음 프롬프트는 끝점에 대한 프롬프트입니다. 이 프롬프트를 비워 두면 기본 영역 끝점이 선택됩니다. Rclone은 수집된 정보를 사용하여 전체 끝점 URL을 구성합니다.
Option endpoint. Endpoint for Object storage API. Leave blank to use the default endpoint for the region. Enter a value. Press Enter to leave empty. endpoint>
- OCI 구성 파일 위치의 전체 경로와 config_profile 정보("OCI 사용자 및 API 키를 사용하여 인증 설정, OCI 테넌시 네임스페이스 및 버킷 구획 가져오기"에서 단계 1f를 수행할 때 생성 및 기록됨)를 입력하고, 고급 구성을 위해 n으로 응답합니다.
Option config_file. Path to OCI config file Choose a number from below, or type in your own string value. Press Enter for the default (~/.oci/config). 1 / oci configuration file location \ (~/.oci/config) config_file> /home/username/.oci/config Option config_profile. Profile name inside the oci config file Choose a number from below, or type in your own string value. Press Enter for the default (Default). 1 / Use the default profile \ (Default) config_profile> DEFAULT Edit advanced config? y) Yes n) No (default) y/n> n
- 모든 항목이 올바르면 Rclone에 구성에 대한 요약이 표시됩니다. 구성을 저장하려면 y를 선택합니다.
Options: - type: oracleobjectstorage - provider: user_principal_auth - namespace: namespace - compartment: ocid1.compartment.oc1xxx.xxxx.xxxx.xxxx - region: us-ashburn-1 - config_file: /home/username/.oci/config - config_profile: DEFAULT Keep this "foo" remote? y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== remote_name oracleobjectstorage
- 구성 인터페이스를 종료합니다.
e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
- 구획에 버킷을 나열하여 Rclone 접속을 테스트합니다.
$ rclone lsd remote_name: -1 2024-04-19 00:08:33 -1 bucket1