- Rcloneを使用したクラウド内のオブジェクト・ストレージへのデータの移動
- オブジェクト・ストレージのクローンの構成
オブジェクト・ストレージのクローンの構成
ネイティブ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エンドポイントを取得します。
- まず、API署名キー・ペアを生成します:
- ユーザーの詳細を表示します
- 自分でAPIキーを作成する場合は、「プロファイル」メニュー(「ユーザー」メニュー・アイコン)を開き、「ユーザー設定」をクリックします。
- 別のユーザーのAPIキーを作成する管理者の場合は、コンソールで「アイデンティティ」をクリックし、「ユーザー」をクリックします。リストでユーザーを見つけてから、ユーザー名をクリックして詳細を表示します。
- ページの左側の「リソース」セクションで、「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オブジェクト・ストレージのクローンの構成
次に、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オブジェクト・ストレージ(
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