Configurar Rclone para Object Storage

Puede utilizar Rclone con la API nativa de OCI Object Storage para migrar datos a cubos de OCI Object Storage. Tenga en cuenta un cubo de migración de destino o consulte el tutorial Colocación de datos en Object Storage para aprender a crear un cubo de OCI Object Storage.
Los primeros pasos incluyen la obtención de credenciales adecuadas y el punto final de API. Esta solución utilizará Rclone en un host de Linux y la autenticación con un usuario de OCI y una clave de API. Consulte la documentación de Rclone Oracle Object Storage para obtener métodos de autorización adicionales e información sobre cómo descargar e instalar Rclone.

Note:

Para los recursos mencionados anteriormente, consulte "Explorar más", en otra parte de este manual, para obtener enlaces adecuados.

Configuración de la autenticación con un usuario y una clave de API de OCI, obtención del espacio de nombres de arrendamiento y el compartimento de cubo de OCI

Genere un par de firmas de API, configure un archivo de configuración y obtenga el espacio de nombres del arrendamiento, la información del compartimento y el punto final regional de la API de Object Storage.

  1. Primero, genere un par de claves de firma de API:
    1. Visualice los detalles del usuario.
      • Si está creando una clave de API para usted, abra el menú Perfil (icono de menú Usuario) y haga clic en Configuración de usuario.
      • Si es un administrador que crea una clave de API para otro usuario, en la consola, haga clic en Identidad y, a continuación, en Usuarios. Localice al usuario en la lista y haga clic en el nombre de usuario para ver los detalles.
    2. En la parte izquierda de la página de la sección Recursos, haga clic en Claves de API.
    3. Haga clic en Agregar clave de API.
    4. Haga clic en Agregar clave de API en la parte superior izquierda de la lista Claves de API. Aparece el cuadro de diálogo Agregar clave de API.
    5. Haga clic en Download Private Key y guarde la clave en el directorio .oci. En la mayoría de los casos, no es necesario descargar la clave pública.

      Note:

      • Si no tiene un directorio .oci, cree uno en el directorio raíz
      • Si su navegador descarga la clave privada en un directorio diferente, asegúrese de moverla al directorio .oci
      .
    6. Haga clic en Agregar.

      La clave se agrega a los recursos del usuario de OCI y aparece Vista previa de archivo de configuración. Observe que el perfil está marcado como DEFAULT; necesitará el nombre del perfil más adelante cuando configure la configuración de Rclone. Copiar y pegar el fragmento de archivo de configuración del cuadro de texto en un archivo con el nombre config en el directorio .oci. Actualice la ruta de acceso key_file en el archivo de configuración para que coincida con la ubicación del paso e anterior. Guarde la ruta del archivo para configurar la configuración de Rclone.

  2. Obtenga la cadena de espacio de nombres de Object Storage:
    1. Abra el menú Perfil y haga clic en Arrendamiento: <su_nombre_arrendamiento>. La cadena de espacio de nombres aparece en Configuración de almacenamiento de objetos.
    2. Copie la cadena de espacio de nombres, ya que la necesitará al configurar Rclone.
  3. Determine el compartimento de cubo y la región:
    1. En la consola de OCI, vaya a Almacenamiento, Almacenamiento de objetos y almacenamiento de archivos, Cubos y busque el nombre del cubo en el que se migrarán los datos.
    2. Haga clic en el nombre del cubo para ver los detalles.
    3. Observe la esquina superior izquierda de la página OCI Console y observe la región en la que se encuentra el cubo y el nombre de la región. Necesitará esta información al configurar Rclone.
    4. Haga clic en el enlace de nombre situado junto a Compartimento para ver los detalles del compartimento.
    5. En la página de detalles del compartimento, busque en el separador Información del compartimento y copie el OCID del compartimento. Necesitará esta información al configurar Rclone,

Configuración de Rclone para OCI Object Storage

A continuación, debe configurar Rclone para OCI Object Storage. Utilice el siguiente procedimiento.

  1. Navegue al sistema Linux y ejecute rclone config para iniciar un proceso de configuración interactivo:
    $ 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. Seleccione la opción n) New remote y, cuando se le solicite, introduzca un nombre para el nuevo remoto:
    Enter name for new remote.
    <enter your name here>
  3. La siguiente petición de datos solicita el tipo de almacenamiento y presentará una lista de opciones. Seleccione el número asociado a 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

    Note:

    A partir de este momento, la opción es el número 36. Este número cambia con las versiones de Rclone a medida que agregan opciones de almacenamiento adicionales. Asegúrese de verificar que está seleccionando la opción de menú para OCI Object Storage.
  4. Seleccione el proveedor de autenticación que desea utilizar. En este ejemplo, se seleccionará la opción 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
  5. Introduzca el espacio de nombres de OCI Tenancy Object Storage (que ha creado y registrado al realizar el paso 2b en "Configuración de la autenticación con un usuario y una clave de API de OCI, obtención del espacio de nombres y el compartimento de cubo del arrendamiento de OCI"):
    Option namespace.
    Object storage namespace
    Enter a value.
    namespace> namespace_name
  6. Introduzca el OCID del compartimento de cubo (que ha creado y registrado al realizar el paso 3e en "Configuración de la autenticación con un usuario y una clave de API de OCI, obtención del espacio de nombres y el compartimento de cubo del arrendamiento de OCI"):
    Option compartment.
    Object storage compartment OCID
    Enter a value.
    compartment> ocid1.compartment.oc1xxx.xxxx.xxxx.xxxx
  7. Introduzca la región del cubo (que ha creado y registrado al realizar el paso 3c en "Configuración de la autenticación con un usuario y una clave de API de OCI, obtención del espacio de nombres y el compartimento de cubo del arrendamiento de OCI"):
    Option region.
    Object storage Region
    Enter a value.
    region> us-ashburn-1
  8. La siguiente petición de datos es para el punto final; déjelo vacío, que seleccionará el punto final de región por defecto. Rclone utilizará la información recopilada para formar la URL de punto final completa:
    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. Introduzca la ruta de acceso completa de la ubicación del archivo de configuración de OCI y la información config_profile (que ha creado y registrado al realizar el paso 1f en "Set Up Authentication with an OCI User and API Key, Obtain the OCI Tenancy Namespace and Bucket Compartment"), responda n para obtener una configuración avanzada:
    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. Si todo parece correcto, Rclone mostrará un resumen de la configuración y seleccione y para guardar la configuración:
    
    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. Salga de la interfaz de configuración:
    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. Pruebe la conexión de Rclone mostrando los cubos del compartimento:
    $ rclone lsd remote_name:
              -1 2024-04-19 00:08:33        -1 bucket1