3
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?

More than 1 year has passed since last update.

[Oracle Cloud] Rcloneを使用して Object Storage から 異なる テナントの Object Storage へデーターをコピーしてみてみた

Last updated at Posted at 2023-03-05

Rclone は、クラウド ストレージ上のファイルを管理するためのコマンドライン プログラムです。これは、クラウド ベンダーの Web ストレージ インターフェイスに代わる機能豊富な手段です。S3 オブジェクト ストア、ビジネスおよび消費者向けファイル ストレージ サービス、標準転送プロトコルなど、40 を超えるクラウド ストレージ製品がrclone をサポートしています。
Rclone には、UNIX コマンドの rsync、cp、mv、mount、ls、ncdu、tree、rm、および cat に相当する強力なクラウド機能があります。Rclone の使い慣れた構文には、シェル パイプラインのサポートと--dry-run保護が含まれています。コマンドライン、スクリプト、またはAPI経由で使用されます。
ということで、Oracle Object Storage から 異なる テナントの Object Storage へデーターを Copyしてみてみます。

■ 構成

今回、Oracle Cloud Infrastracture (OCI) Oracle Database Service の バックアップファイルを異なるTenancy、Region へコピーするために Rclone を使用します。
構成1.jpg
Oracle管理のバックアップをユーザー管理の Object Storage Bucketへコピーする方法は次を参考
・参考: MV2BUCKET を使用して Oracle管理のバックアップをコピー

■ Rcloneのインストール

Rclone は Extra Packages for Enterprise Linux (EPEL) もしくは、rclone.orgからインストールすることができます。

● 方法1: EPELから RPMダウンロード

Oracel Linux EPEL

1) Rclon ダウンロード

・wget で rcloneをダウンロード

[root@oci-inst ~]# wget https://yum.oracle.com/repo/OracleLinux/OL8/developer/EPEL/x86_64/getPackage/rclone-1.57.0-1.el8.x86_64.rpm
	--2023-03-04 11:31:26--  https://yum.oracle.com/repo/OracleLinux/OL8/developer/EPEL/x86_64/getPackage/rclone-1.57.0-1.el8.x86_64.rpm
	Resolving yum.oracle.com (yum.oracle.com)... 23.193.53.99, 2600:140b:a800:b90::2a7d, 2600:140b:a800:b88::2a7d
	Connecting to yum.oracle.com (yum.oracle.com)|23.193.53.99|:443... connected.
	HTTP request sent, awaiting response... 200 OK
	Length: 18654968 (18M) [application/x-rpm]
	Saving to: ‘rclone-1.57.0-1.el8.x86_64.rpm’

	rclone-1.57.0-1.el8.x86_64.rpm      100%[================================================================>]  17.79M  12.8MB/s    in 1.4s

	2023-03-04 11:31:29 (12.8 MB/s) - ‘rclone-1.57.0-1.el8.x86_64.rpm’ saved [18654968/18654968]

2) Rclone インストール

[root@oci-inst ~]# rpm -ivh rclone-1.57.0-1.el8.x86_64.rpm
	Verifying...                          ################################# [100%]
	Preparing...                          ################################# [100%]
	Updating / installing...
	   1:rclone-1.57.0-1.el8              ################################# [100%]

● 方法2: rclone.org からダウンロード

[root@db19c ~]# curl https://rclone.org/install.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
	                                 Dload  Upload   Total   Spent    Left  Speed
	100  4669  100  4669    0     0   4285      0  0:00:01  0:00:01 --:--:--  4283
	Archive:  rclone-current-linux-amd64.zip
	   creating: tmp_unzip_dir_for_rclone/rclone-v1.61.1-linux-amd64/
	  inflating: tmp_unzip_dir_for_rclone/rclone-v1.61.1-linux-amd64/README.html  [text]
	  inflating: tmp_unzip_dir_for_rclone/rclone-v1.61.1-linux-amd64/rclone  [binary]
	  inflating: tmp_unzip_dir_for_rclone/rclone-v1.61.1-linux-amd64/README.txt  [text]
	  inflating: tmp_unzip_dir_for_rclone/rclone-v1.61.1-linux-amd64/rclone.1  [text]
	  inflating: tmp_unzip_dir_for_rclone/rclone-v1.61.1-linux-amd64/git-log.txt  [text]
	Purging old database entries in /usr/share/man...
	Processing manual pages under /usr/share/man...
	Purging old database entries in /usr/share/man/ja...
	Processing manual pages under /usr/share/man/ja...
	Purging old database entries in /usr/share/man/ru...
	Processing manual pages under /usr/share/man/ru...
	Purging old database entries in /usr/share/man/de...
	Processing manual pages under /usr/share/man/de...
	Purging old database entries in /usr/share/man/ko...
	Processing manual pages under /usr/share/man/ko...
	Purging old database entries in /usr/share/man/sk...
	Processing manual pages under /usr/share/man/sk...
	Purging old database entries in /usr/share/man/pl...
	Processing manual pages under /usr/share/man/pl...
	Purging old database entries in /usr/share/man/uk...
	Processing manual pages under /usr/share/man/uk...
	Purging old database entries in /usr/share/man/fr...
	Processing manual pages under /usr/share/man/fr...
	Purging old database entries in /usr/share/man/sv...
	Processing manual pages under /usr/share/man/sv...
	Purging old database entries in /usr/share/man/es...
	Processing manual pages under /usr/share/man/es...
	Purging old database entries in /usr/share/man/it...
	Processing manual pages under /usr/share/man/it...
	Purging old database entries in /usr/share/man/ca...
	Processing manual pages under /usr/share/man/ca...
	Purging old database entries in /usr/local/share/man...
	Processing manual pages under /usr/local/share/man...
	Updating index cache for path `/usr/local/share/man/man1'. Wait...done.
	Checking for stray cats under /usr/local/share/man...
	Checking for stray cats under /var/cache/man/local...
	1 man subdirectory contained newer manual pages.
	1 manual page was added.
	0 stray cats were added.
	0 old database entries were purged.
	
	rclone v1.61.1 has successfully installed.
	Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.

■ オブジェクト・ストレージの Rcloneの構成

構成の秘密キー、アクセス・キー、リージョンAPIエンドポイントおよびネームスペースを取得する必要があります。

● セキュリティ資格証明およびAPIエンドポイントの取得

最初に、秘密キーとアクセス・キーのペアを作成します。

1) OCI コンソール画面

右上にあるユーザーアイコンをクリックし、[ユーザー設定]をクリック
00_OCIコンソール01.jpg

2) ユーザーの詳細画面

ページの左側の「顧客秘密キー」をクリック
01_顧客秘密キー01.jpg

3) [秘密キーの生成]画面

秘密キーの任意の名前を設定し、[秘密キーの生成] をクリック
01_顧客秘密キー02.jpg

4) 生成されたキー画面

生成されたキーを確認
このパスワードはコピーし記録し、[閉じる]をクリック

・生成されたキー: ItzAc1mE4jrhOcdiPWJGLHysS

01_顧客秘密キー03.jpg

5) アクセスキー確認

作成した秘密キーに アクセス・キー が表示されるので、コピーし記録します

・アクセス・キー: cf2603c98906d3b8694ee35533e

01_顧客秘密キー04.jpg

● OCI Object Storage API エンドポイント確認

Object Storage APIエンドポイントは次の構文です。
(ネームスペース) と (リージョン識別子)を設定します。

https://.compat.objectstorage..oraclecloud.com

1) ネームスペース取得

ネームスペースは、コンソールから、またはコマンドライン・ツールを使用して識別できます。
コンソールから「プロファイル」メニュー(ユーザー・メニュー・アイコン)を開き、テナント: をクリックします。ネームスペースの文字列は、「オブジェクト・ストレージ設定」の下にリストされています。

もしくは、OCI CLI コマンドで確認できます

[root@oci-inst ~]# oci os ns get
	{
	"data": "shirok"
	}

2) リージョン識別子

リージョン識別子は次のドキュメントから対象リージョン識別子を確認できます

Oracle Cloud: リージョン

■ Rclone設定

秘密キー、アクセス・キー、APIエンドポイントおよびリージョン識別子を設定したら、rclone構成ファイルで環境変数を設定して、rcloneを構成します。

1) rclone config file 確認

rclone config fileパスを確認

[root@oci-inst ~]# rclone config file
	Configuration file doesn't exist, but rclone will use this path:
	/root/.config/rclone/rclone.conf

2) config file作成

今回、2つの OCI Object Storage [oci-source] と [oci-target] を設定します。

[root@oci-inst ~]# vi /root/.config/rclone/rclone.conf
[root@oci-inst ~]# cat /root/.config/rclone/rclone.conf
	[oci-source]
	type = s3
	env_auth = false
	access_key_id = cf2603c98906d3b8694ee35533e
	secret_access_key = ItzAc1mE4jrhOcdiPWJGLHysS
	region = ap-tokyo-1
	endpoint = https://shirok.compat.objectstorage.ap-tokyo-1.oraclecloud.com
	location_constraint = ap-tokyo-1
	acl = private

	[oci-target]
	type = s3
	env_auth = false
	access_key_id = bh3855r7467s7485439eg9984ar
	secret_access_key = kLDkeuiDKJergioIAWEqMDIv
	region = ap-osaka-1
	endpoint = https://poc.compat.objectstorage.ap-osaka-1.oraclecloud.com
	location_constraint = ap-osaka-1
	acl = private

■ Rclone でコピー

設定した Object Storage [oci-source] から [oci-target] へファイルをコピーしてみてみます。

1) oci-source Bucketのファイル 確認

oci-source の Object Storage Buket にあるファイルを確認

[root@oci-inst ~]# rclone lsf oci-source:bucket-Backup-cdb_tokyo
	db19c/
	dbSys25zpcvoq/
	file_chunk/
	sbt_catalog/

2) rclone copy

[oci-source] の Bucket: bucket-Backup-cdb_tokyo から [oci-target]の Bucket: bucket-Backup-cdb_osakaへファイルコピーします

[root@oci-inst ~]# rclone copy oci-source:bucket-Backup-cdb_tokyo oci-target:bucket-Backup-cdb_osaka

3) rclone copy 完了確認

[oci-target]の Bucket: bucket-Backup-cdb_osakaへファイルがコピーされたことを確認

[root@oci-inst ~]# rclone lsf oci-target:test-bucket
	db19c/
	dbSys25zpcvoq/
	file_chunk/
	sbt_catalog/

■ 参考

・ Oracle Cloud
 - Rcloneを使用して、データをクラウドのオブジェクト・ストレージにコピー
 - Rcloneのインストール

・ rclone.org
 - Rclone syncs your files to cloud storage

3
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
3
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?