1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCIオブジェクトストレージのファイルを他テナンシにコピーする方法

Last updated at Posted at 2024-01-05

本ブログは、オラクル・クラウドの個人ブログの1つです。

構成図

目次

方法1- OCI内部でオブジェクトをコピーする

1-1. IAMポリシーの作成

1-1-1. ソース・テナンシ側
a) オブジェクト・ストレージ・サービスをコピー対象を操作するため
テナンシレベルで指定する場合:(ルート・コンパートメントの下に作成する)

Allow service objectstorage-ap-tokyo-1 to manage object-family in tenancy

コンパートメントレベルで指定する場合:

Allow service objectstorage-ap-tokyo-1 to manage object-family in compartment <Compartment_Name>

もしこのポリシーが漏れますと、オブジェクトのコピー画面に、IAMポリシーがチェックされた結果は、次のように表示されます。

b) 宛先テナンシのオブジェクト・ストレージにアクセスするため
作成場所:ルート・コンパートメント
任意のテナンシ内のすべてのオブジェクト・ストレージ・リソースに対してすべての操作を実行することを承認する例:

Endorse group StorageAdmins to manage object-family in any-tenancy 

宛先テナンシのみのオブジェクト・ストレージ・リソースを管理することを承認する例:

Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<unique_ID>
Endorse group StorageAdmins to manage object-family in tenancy DestinationTenancy

1-1-2. 宛先テナンシ側
作成場所:ルート・コンパートメント
ソース・テナンシのIAMグループStorageAdminsがユーザーのテナンシ内のすべてのオブジェクト・ストレージ・リソースに対してすべての操作を実行することを承認する例:

Define tenancy SourceTenancy as ocid1.tenancy.oc1..<unique_ID>
Define group StorageAdmins as ocid1.group.oc1..<unique_ID>
Admit group StorageAdmins of tenancy SourceTenancy to manage object-family in tenancy 

テナンシ全体ではなく、コンパートメントを限定したい場合、上記最後の行のin tenancyin compartment <Compartment_Name>に変更してください。

1-2. 宛先テナンシのネームスペースを取得する

OCIコンソールで取得する方法
プロファイル・アイコン(右上) → テナンシ

※、一部の古いテナンシでは、ネームスペースとテナンシ名は同じですけど、そもそも別物なので、間違いようにご注意ください。

OCI-CLIコマンドで取得する方法
コマンド:oci os ns get (パラメータなし)

1-3. OCIコンソールでオブジェクトをコピーする方法

ソース・テナンシのバケットに入って、オブジェクトのメニューから、コピーをクリックします。

宛先の情報を入力して、コピーを実施します。

コピー完了を確認します。

宛先テナンシでコピーされたオブジェクトを確認してください(画面を省略)。

1-4. OCI-CLIでオブジェクトをコピーする方法

事前準備

  • STEP 1-1STEP 1-2は実施済
  • OCI-CLIがソース・テナンシに接続している(Cloud Shellの場合はセットアップ済)。

コピーコマンド

$ oci os object copy --bucket-name SourceBucket --source-object-name teraterm-5.0.zip --destination-namespace <Replace_with_dest_namespace> --destination-region ap-tokyo-1 --destination-bucket DestBucket
{
  "opc-work-request-id": "37c6c973-8517-4093-a890-528e3ac9d608"
}
$

作業リクエストIDが返されます。リクエストの詳細を確認するために、次のコマンドを実施してください(結果を省略)。

oci os work-request get --work-request-id 37c6c973-8517-4093-a890-528e3ac9d608

方法2- サードパーティー・ツールの利用

コマンドラインツール - Rclone

Rclone は、クラウド・ストレージ上のファイルを管理するコマンドライン・プログラムです。OCIを含め、たくさんのクラウドベンダーを対応しています。

Rclone のダウンロード
ダウンロードURL: https://rclone.org/downloads/
この例では、Windows版 (Intel/AMD - 64 Bit)を使います。

Rclone のインストール
Zipファイルを解凍した後、rclone configを実行し、OCIへの接続(ソースと宛先テナンシ両方)をセットアップします。

C:\rclone-v1.65.0-windows-amd64>rclone config
2023/12/30 15:20:28 NOTICE: Config file "C:\\Users\\opc\\AppData\\Roaming\\rclone\\rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Enter name for new remote.
name> oci-source

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
...<中略>...
37 / Oracle Cloud Infrastructure Object Storage
   \ (oracleobjectstorage)
...<中略>...
Storage> 37

※、セットアップの詳細は、こちらをご参照ください。

ソースと宛先バケットの確認

C:\rclone-v1.65.0-windows-amd64>rclone lsd oci-source:
          -1 2023-12-29 10:06:48        -1 SourceBucket

C:\rclone-v1.65.0-windows-amd64>rclone lsd oci-dest:
          -1 2023-12-29 10:08:05        -1 DestBucket

C:\rclone-v1.65.0-windows-amd64>rclone ls oci-source:SourceBucket
 11188316 teraterm-5.0.zip
 
C:\rclone-v1.65.0-windows-amd64>

オブジェクトをコピーする
バケット全体をコピーする:

rclone --verbose copy oci-source:SourceBucket oci-dest:DestBucket

指定オブジェクトのみをコピーする:

rclone --verbose copy oci-source:SourceBucket/teraterm-5.0.zip oci-dest:DestBucket

※、--verboseを付けると、コピー処理の詳細情報が表示されます。

以上です。


関連記事
オラクル・クラウドの個人ブログ一覧
テナンシ間 OCI カスタム・イメージの移行
OCIテナンシを跨いでプライベート・インスタンスに接続する (Part 4 - 差異比較)
OCIオブジェクト・ストレージへのファイル転送方法のまとめ


参考ドキュメント
OCI Object Storage - Copy Objects from One Tenancy to Another (Doc ID 2915331.1)
テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセス
OCI-CLI Docs » os » object » copy
OCI-CLI Docs » os » work-request » get

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?