Rclone für Object Storage konfigurieren

Sie können Rclone mit der nativen OCI Object Storage-API verwenden, um Daten in OCI Object Storage Buckets zu migrieren. Denken Sie an einen Zielmigrations-Bucket, oder lesen Sie das Tutorial Daten in Objektspeicher einfügen, um zu erfahren, wie Sie einen OCI Object Storage-Bucket erstellen.
Die ersten Schritte umfassen das Abrufen der richtigen Zugangsdaten und des API-Endpunkts. Diese Lösung verwendet Rclone auf einem Linux-Host und Authentifizierung mit einem OCI-Benutzer plus API-Schlüssel. Weitere Autorisierungsmethoden und Informationen zum Herunterladen und Installieren von Rclone finden Sie in der Dokumentation zu Rclone Oracle Object Storage.

Hinweis:

Weitere Informationen zu den oben genannten Ressourcen finden Sie unter "Weitere Informationen" an anderer Stelle in diesem Handbuch.

Authentifizierung mit einem OCI-Benutzer und API-Schlüssel einrichten, OCI-Mandanten-Namespace und Bucket Compartment abrufen

Generieren Sie ein API-Signaturpaar, richten Sie eine Konfigurationsdatei ein, und rufen Sie den Mandanten-Namespace, Compartment-Informationen und den regionalen Object Storage-API-Endpunkt ab.

  1. Generieren Sie zunächst ein API-Signaturschlüsselpaar:
    1. Zeigen Sie die Benutzerdetails an.
      • Wenn Sie einen API-Schlüssel für sich selbst erstellen, öffnen Sie das Menü "Profil" (Benutzermenüsymbol), und klicken Sie auf Benutzereinstellungen.
      • Wenn Sie als Administrator einen API-Schlüssel für einen anderen Benutzer erstellen, klicken Sie in der Konsole auf Identität, Benutzer. Suchen Sie den Benutzer in der Liste, und klicken Sie dann auf seinen Namen, um die Details anzuzeigen.
    2. Klicken Sie links auf der Seite im Abschnitt Ressourcen auf API-Schlüssel
    3. Klicken Sie auf API-Schlüssel hinzufügen.
    4. Klicken Sie oben links in der Liste API-Schlüssel auf API-Schlüssel hinzufügen. Das Dialogfeld API-Schlüssel hinzufügen wird angezeigt.
    5. Klicken Sie auf Private Key herunterladen, und speichern Sie den Schlüssel im .oci-Verzeichnis. In den meisten Fällen müssen Sie den Public Key nicht herunterladen.

      Hinweis:

      • Wenn Sie kein .oci-Verzeichnis haben, erstellen Sie eines in Ihrem Home-Verzeichnis.
      • Wenn Ihr Browser den Private Key in ein anderes Verzeichnis herunterlädt, müssen Sie ihn in das Verzeichnis .oci verschieben.
      .
    6. Klicken Sie auf Hinzufügen.

      Der Schlüssel wird den Ressourcen des OCI-Benutzers hinzugefügt, und die Vorschau der Konfigurationsdatei wird angezeigt. Beachten Sie, dass das Profil als DEFAULT markiert ist. Sie benötigen den Profilnamen später, wenn Sie die Rclone-Konfiguration einrichten. Kopieren Sie das Konfigurationsdatei-Snippet aus dem Textfeld in eine Datei mit dem Namen "config" in Ihrem .oci-Verzeichnis. Aktualisieren Sie den Pfad key_file in der Konfigurationsdatei so, dass er mit dem Speicherort in Schritt e oben übereinstimmt. Speichern Sie den Pfad der Datei, um die Rclone-Konfiguration einzurichten.

  2. Rufen Sie die Object Storage-Namespace-Zeichenfolge ab:
    1. Öffnen Sie das Menü Profil, und klicken Sie auf Mandant: <your_tenancy_name>. Die Namensraumzeichenfolge wird unter Object Storage-Einstellungen aufgeführt.
    2. Kopieren Sie die Namespace-Zeichenfolge, wie Sie sie beim Einrichten von Rclone benötigen.
  3. Bestimmen Sie das Bucket Compartment und die Region:
    1. Navigieren Sie in der OCI-Konsole zu Speicher, Object Storage und Archive Storage und dann zu Buckets. Suchen Sie den Namen des Buckets, in den Daten migriert werden.
    2. Klicken Sie auf den Bucket-Namen, um die Details anzuzeigen.
    3. Sehen Sie in der oberen linken Ecke der Seite der OCI-Konsole nach, und notieren Sie sich die Region, in der sich Ihr Bucket befindet, sowie den Regionsnamen. Sie benötigen diese Informationen beim Einrichten von Rclone.
    4. Klicken Sie auf den Namenslink neben Compartment, um die Compartment-Details anzuzeigen.
    5. Suchen Sie auf der Seite mit den Compartment-Details auf der Registerkarte Compartment-Informationen, und kopieren Sie die Compartment-OCID. Sie benötigen diese Informationen beim Einrichten von Rclone,

Rclone für OCI Object Storage konfigurieren

Als Nächstes müssen Sie Rclone für OCI Object Storage konfigurieren. Gehen Sie wie folgt vor.

  1. Navigieren Sie zu Ihrem Linux-System, und führen Sie rclone config aus, um einen interaktiven Setup-Prozess zu starten:
    $ 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. Wählen Sie die Option n) New remote, und geben Sie bei Aufforderung einen Namen für die neue Remote ein:
    Enter name for new remote.
    <enter your name here>
  3. Der nächste Prompt fragt nach dem Speichertyp und zeigt eine Liste der Optionen an. Wählen Sie die Nummer aus, die mit OCI Object Storage (oracleobjectstorage) verknüpft ist:
    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

    Hinweis:

    Ab diesem Zeitpunkt ist die Option die Nummer 36. Diese Anzahl ändert sich mit Rclone-Releases, da sie zusätzliche Speicheroptionen hinzufügen. Stellen Sie sicher, dass Sie die Menüoption für OCI Object Storage auswählen.
  4. Wählen Sie den Authentifizierungsprovider aus, den Sie verwenden möchten. In diesem Beispiel wird die Option 2 OCI user and API Key ausgewählt:
    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. Geben Sie den OCI-Mandanten-Object Storage-Namespace ein (den Sie erstellt und aufgezeichnet haben, als Sie Schritt 2b in "Authentifizierung mit einem OCI-Benutzer und API-Schlüssel einrichten, OCI-Mandanten-Namespace und Bucket Compartment abrufen" ausgeführt haben):
    Option namespace.
    Object storage namespace
    Enter a value.
    namespace> namespace_name
  6. Geben Sie die Bucket Compartment-OCID ein (die Sie erstellt und aufgezeichnet haben, als Sie Schritt 3e in "Authentifizierung mit einem OCI-Benutzer und API-Schlüssel einrichten, OCI-Mandanten-Namespace und Bucket Compartment abrufen" ausgeführt haben):
    Option compartment.
    Object storage compartment OCID
    Enter a value.
    compartment> ocid1.compartment.oc1xxx.xxxx.xxxx.xxxx
  7. Geben Sie die Bucket-Region ein (die Sie erstellt und aufgezeichnet haben, als Sie Schritt 3c in "Authentifizierung mit einem OCI-Benutzer und API-Schlüssel einrichten, OCI-Mandanten-Namespace und Bucket Compartment abrufen" ausgeführt haben):
    Option region.
    Object storage Region
    Enter a value.
    region> us-ashburn-1
  8. Der nächste Prompt ist für den Endpunkt. Lassen Sie dieses Feld leer, und wählen Sie den Standardregionendpunkt aus. Rclone verwendet die erfassten Informationen, um die vollständige Endpunkt-URL zu bilden:
    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. Geben Sie den vollständigen Pfad des OCI-Konfigurationsdateispeicherorts und die config_profile-Informationen ein (die Sie erstellt und aufgezeichnet haben, als Sie Schritt 1f in "Authentifizierung mit einem OCI-Benutzer und API-Schlüssel einrichten, OCI-Mandanten-Namespace und Bucket Compartment abrufen" ausgeführt haben), geben Sie die Antwort n für die erweiterte Konfiguration ein:
    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. Wenn alles korrekt aussieht, wird in Rclone eine Zusammenfassung für die Konfiguration angezeigt. Wählen Sie y aus, um die Konfiguration zu speichern:
    
    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. Beenden Sie die Konfigurationsschnittstelle:
    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. Testen Sie die Rclone-Verbindung, indem Sie die Buckets im Compartment auflisten:
    $ rclone lsd remote_name:
              -1 2024-04-19 00:08:33        -1 bucket1