オブジェクト・ストレージのクローンの構成

ネイティブOCI Object Storage APIでRcloneを使用して、データをOCI Object Storageバケットに移行できます。ターゲット移行バケットを念頭に置くか、OCI Object Storageバケットを作成する方法を学習するには、チュートリアルオブジェクト・ストレージへのデータの配置を参照してください。
最初のステップには、適切な資格証明およびAPIエンドポイントの取得が含まれます。このソリューションでは、LinuxホストでRcloneを使用し、OCIユーザーおよびAPIキーで認証を行います。追加の認可方法およびRcloneのダウンロードおよびインストール方法の詳細は、Rclone Oracle Object Storageのドキュメントを参照してください。

ノート:

上記の参照リソースについては、このプレイブックの他の場所にある「詳細を確認する」を参照してください。

OCIユーザーおよびAPIキーを使用した認証の設定、OCIテナンシ・ネームスペースおよびバケット・コンパートメントの取得

API署名ペアを生成し、構成ファイルを設定し、テナンシ・ネームスペース、コンパートメント情報およびリージョナル・オブジェクト・ストレージAPIエンドポイントを取得します。

  1. まず、API署名キー・ペアを生成します:
    1. ユーザーの詳細を表示します
      • 自分でAPIキーを作成する場合は、「プロファイル」メニュー(「ユーザー」メニュー・アイコン)を開き、「ユーザー設定」をクリックします。
      • 別のユーザーのAPIキーを作成する管理者の場合は、コンソールで「アイデンティティ」をクリックし、「ユーザー」をクリックします。リストでユーザーを見つけてから、ユーザー名をクリックして詳細を表示します。
    2. ページの左側の「リソース」セクションで、「APIキー」をクリックします。
    3. 「APIキーの追加」をクリックします。
    4. APIキー・リストの左上にある「APIキーの追加」をクリックします。「APIキーの追加」ダイアログが表示されます。
    5. 「秘密キーのダウンロード」をクリックし、キーを.ociディレクトリに保存します。ほとんどの場合、公開キーをダウンロードする必要はありません。

      ノート:

      • .ociディレクトリがない場合は、ホーム・ディレクトリに作成します。
      • ブラウザによって秘密キーが別のディレクトリにダウンロードされた場合、必ず.ociディレクトリに移動してください
      .
    6. 「追加」をクリックします。

      キーがOCIユーザーのリソースに追加され、「構成ファイルのプレビュー」が表示されます。プロファイルはDEFAULTとマークされています。後でRclone構成を設定するときに、プロファイル名が必要になります。構成ファイル・スニペットをテキスト・ボックスから.ociディレクトリ内のconfigという名前のファイルにコピーして貼り付けます。前述のステップeの場所と一致するように、構成ファイル内のkey_fileパスを更新します。ファイルのパスを保存して、Rclone構成を設定します。

  2. オブジェクト・ストレージ・ネームスペース文字列を取得します。
    1. 「プロファイル」メニューを開き、「テナンシ: <your_tenancy_name>」をクリックします。ネームスペース文字列は、「オブジェクト・ストレージ設定」の下にリストされます。
    2. Rcloneの設定時に必要な名前空間文字列をコピーします。
  3. バケット・コンパートメントおよびリージョンを決定します:
    1. OCIコンソールで、「ストレージ」「オブジェクト・ストレージおよびアーカイブ・ストレージ」「バケット」の順にナビゲートし、データが移行されるバケットの名前を見つけます。
    2. 詳細を表示するには、バケット名をクリックします。
    3. OCIコンソール・ページの左上隅で、バケットが配置されているリージョンとリージョン名を確認します。この情報は、Rcloneの設定時に必要になります。
    4. 「コンパートメント」の横にある名前リンクをクリックして、コンパートメントの詳細を表示します。
    5. コンパートメントの詳細ページで、コンパートメント情報タブの下を見て、コンパートメントOCIDをコピーします。この情報は、Rcloneの設定時に必要になります。

OCIオブジェクト・ストレージのクローンの構成

次に、OCI Object StorageのRcloneを構成する必要があります。次の手順を使用します。

  1. 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>
  2. オプションn) New remoteを選択し、プロンプトが表示されたら、新しいリモートの名前を入力します:
    Enter name for new remote.
    <enter your name here>
  3. 次のプロンプトでは、ストレージ・タイプを求め、オプションのリストが表示されます。OCIオブジェクト・ストレージ(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のメニュー・オプションを選択していることを確認してください。
  4. 使用する認証プロバイダを選択します。この例では、オプション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. OCIテナンシ・オブジェクト・ストレージ・ネームスペースを入力します(これは、「OCIユーザーおよびAPIキーを使用した認証の設定、OCIテナンシ・ネームスペースおよびバケット・コンパートメントの取得」のステップ2bを実行したときに作成および記録したものです)。
    Option namespace.
    Object storage namespace
    Enter a value.
    namespace> namespace_name
  6. バケット・コンパートメントOCID (「OCIユーザーおよびAPIキーを使用した認証の設定、OCIテナンシ・ネームスペースおよびバケット・コンパートメントの取得」のステップ3eの実行時に作成および記録したもの)を入力します:
    Option compartment.
    Object storage compartment OCID
    Enter a value.
    compartment> ocid1.compartment.oc1xxx.xxxx.xxxx.xxxx
  7. 「OCIユーザーおよびAPIキーを使用した認証の設定、OCIテナンシ・ネームスペースおよびバケット・コンパートメントの取得」のステップ3cの実行時に作成および記録したバケット・リージョンを入力します:
    Option region.
    Object storage Region
    Enter a value.
    region> us-ashburn-1
  8. 次のプロンプトはエンドポイント用です。これを空のままにすると、デフォルトのリージョン・エンドポイントが選択されます。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>
  9. 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
  10. すべてが正しいように見える場合、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
  11. 構成インタフェースを終了します。
    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. コンパートメント内のバケットをリストして、Rclone接続をテストします:
    $ rclone lsd remote_name:
              -1 2024-04-19 00:08:33        -1 bucket1