Configurar o Rclone para o Serviço Object Storage

Você pode usar o Rclone com a API nativa do OCI Object Storage para migrar dados para os Buckets do OCI Object Storage. Tenha um bucket de migração de destino em mente ou consulte o tutorial Colocar dados no armazenamento de objetos para saber como criar um bucket do OCI Object Storage.
As primeiras etapas incluem a obtenção de credenciais adequadas e o ponto final da API. Esta solução usará o Rclone em um host Linux e a autenticação com um usuário do OCI e uma chave de API. Consulte a documentação do Rclone Oracle Object Storage para obter métodos de autorização adicionais e informações sobre como fazer download e instalar o Rclone.

Observação:

Para os recursos mencionados acima, consulte "Explore mais", em outro lugar deste manual, para obter links apropriados.

Configurar a Autenticação com um Usuário do OCI e uma Chave de API, Obter o Namespace da Tenancy do OCI e o Compartimento do Bucket

Gere um par de assinatura de API, configure um arquivo de configuração e obtenha o namespace da tenancy, as informações do compartimento e o Ponto Final regional da API do Object Storage.

  1. Primeiro, gere um par de chaves de assinatura de API:
    1. Veja os detalhes do usuário.
      • Se você estiver criando uma chave de API para você mesmo, abra o menu Perfil (ícone de menu Usuário) e clique em Definições do Usuário.
      • Se você for um administrador que cria uma chave de API para outro usuário, na Console, clique em Identidade e depois em Usuários. Localize o usuário na lista e clique no nome dele para ver os detalhes.
    2. No lado esquerdo da página, na seção Recursos, clique em Chaves de API.
    3. Clique em Adicionar Chave de API.
    4. Clique em Adicionar Chave de API no canto superior esquerdo da lista Chaves de API. A caixa de diálogo Adicionar Chave de API é exibida.
    5. Clique em Download de Chave Privada e salve a chave no diretório .oci. Na maioria dos casos, você não precisa fazer download da chave pública.

      Observação:

      • Se você não tiver um diretório .oci, crie um no diretório home
      • Se o navegador fizer download da chave privada para outro diretório, certifique-se de movê-la para o diretório .oci
      .
    6. Clique em Adicionar.

      A chave é adicionada aos recursos do usuário do OCI e a Visualização do Arquivo de Configuração é exibida. Observe que o perfil está marcado como DEFAULT; você precisará do nome do perfil mais tarde ao configurar o Rclone. Copiar e colar o snippet do arquivo de configuração da caixa de texto para um arquivo em um arquivo chamado config no diretório .oci. Atualize o caminho key_file no arquivo de configuração para corresponder ao local na etapa e, acima. Salve o caminho do arquivo para configurar a configuração Rclone.

  2. Obtenha a string de namespace do serviço Object Storage:
    1. Abra o menu Perfil e clique em Tenancy: <your_tenancy_name>. Sua string de namespace está listada em Definições do Serviço Object Storage.
    2. Copie a string de namespace, pois você precisará dela ao configurar o Rclone.
  3. Determine o compartimento e a região do bucket:
    1. Na Console do OCI, navegue até Armazenamento, Object Storage & Archive Storage, Buckets e localize o nome do bucket no qual os dados serão migrados.
    2. Clique no nome do bucket para exibir os detalhes.
    3. Procure no canto superior esquerdo da página da Console do OCI e anote a região em que seu bucket está localizado e o nome da região. Você precisará dessas informações ao configurar o Rclone.
    4. Clique no link do nome ao lado de Compartimento para exibir os detalhes do compartimento.
    5. Na página de detalhes do Compartimento, consulte a guia Informações do Compartimento e copie o OCID do compartimento. Você precisará dessas informações ao configurar o Rclone,

Configurar o Rclone para o OCI Object Storage

Em seguida, você precisa configurar o Rclone para o OCI Object Storage. Use o seguinte procedimento.

  1. Navegue até o sistema Linux e execute rclone config para iniciar um processo de configuração interativo:
    $ 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>
  2. Selecione a opção n) New remote e, quando solicitado, informe um nome para o novo controle remoto:
    Enter name for new remote.
    <enter your name here>
  3. O próximo prompt solicita o tipo de armazenamento e apresentará uma lista de opções. Selecione o número associado ao 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

    Observação:

    A partir desta escrita, a opção é o número 36. Esse número muda com as versões do Rclone, pois elas adicionam opções de armazenamento adicionais. Certifique-se de verificar se você está selecionando a opção de menu do OCI Object Storage.
  4. Selecione o provedor de autenticação que você deseja usar. Para este exemplo, a opção 2 OCI user and API Key será selecionada:
    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
  5. Informe o namespace do OCI Tenancy Object Storage (que você criou e gravou quando executou a etapa 2b em "Configurar Autenticação com um Usuário do OCI e uma Chave de API, Obter o Namespace da Tenancy do OCI e o Compartimento do Bucket"):
    Option namespace.
    Object storage namespace
    Enter a value.
    namespace> namespace_name
  6. Digite o OCID do compartimento do bucket (que você criou e gravou quando executou a etapa 3e em "Configurar Autenticação com um Usuário do OCI e uma Chave de API, Obter o Namespace da Tenancy do OCI e o Compartimento do Bucket"):
    Option compartment.
    Object storage compartment OCID
    Enter a value.
    compartment> ocid1.compartment.oc1xxx.xxxx.xxxx.xxxx
  7. Digite a região do bucket (que você criou e gravou quando executou a etapa 3c em "Configurar Autenticação com um Usuário e uma Chave de API do OCI, Obter o Namespace da Tenancy do OCI e o Compartimento do Bucket"):
    Option region.
    Object storage Region
    Enter a value.
    region> us-ashburn-1
  8. O próximo prompt é para o ponto final; deixe em branco, o que selecionará o ponto final da região padrão. O Rclone usará as informações coletadas para formar o URL completo do ponto final:
    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>
  9. Informe o caminho completo da localização do arquivo de configuração do OCI e as informações de config_profile (que você criou e gravou quando executou a etapa 1f em "Configurar Autenticação com um Usuário e uma Chave de API do OCI, Obter o Namespace da Tenancy do OCI e o Compartimento do Bucket"), responda n para obter uma configuração avançada:
    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
  10. Se tudo parecer correto, o Rclone exibirá um resumo da configuração, selecione y para salvar a configuração:
    
    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
  11. Saia da interface de configuração:
    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
  12. Teste a conexão Rclone listando os buckets no compartimento:
    $ rclone lsd remote_name:
              -1 2024-04-19 00:08:33        -1 bucket1