S3からwasabiへの移行

はじめに

S3からwasabiへの移行をする。

環境

Windows 10 Professional (操作PC)

動機

現状、S3はGlacier Instant Retrieval のストレージクラスとしているが、取り出しに料金がかかってしまうため、手軽に取り出しができなくなってしまっている。
ストレージクラスをS3 standardにすることで取り出し料金は下がるが保管の料金が高くなってしまうため、現状S3では自分の用途に合っていないと考えた。
他に安いクラウドストレージはないかと考えたところ、wasabiはなかなか良さそうということでS3から移行してみる。

方法

いくつか方法があるため記載する。

さてこの方法の中で今回は wasabi Cloud Sync Managerを使ってみることにする。
→途中で気づいたが、クラウドからクラウドへの移行は最低25TBないと使えないみたいだった。
理由としては、wasabi社が公式で移行ツールを出しているものなので、試してみるのも良いかなと思ったから。
上記のため、rcloneで移行を試みようと思う。

移行のための準備

wasabiのアカウントを作成

1. wasabi公式ページにアクセスし、「無料トライアル」を押す。

https://wasabi.com/ja/
wasabi-free-trial

2. 必要な情報を入力し、「無料トライアルを開始する」を押す。

wasabi-free-trial-2

3. 無料トライアルの申込み完了

wasabi-free-trial-3 上記の画面が出たら、メールをチェックする。

4. メールから「Create Account」を押す。

wasabi-create-account-mail

5. サインアップ画面にて、パスワードを入力する。

wasabi-create-account

6. アカウント作成完了

wasabi-create-account-success

ダッシュボードが出てくればOK

AWS S3側の準備 (IAMユーザ作成)

1. AWS コンソールにアクセスし、「IAM」サービスを開く

2. 「ユーザー」から「ユーザを追加」をする。

aws-add-iam-user

3. ユーザを作成する。

ユーザー名: rclone-s3user
ポリシー: AmazonS3ReadOnlyAccess
aws-add-iam-user-2

4. アクセスキーを生成する。

作成したユーザをクリックし、「セキュリティ認証情報」→「アクセスキーを生成」をクリックし、アクセスキーを生成す る。

wasabi側の準備(バケットの作成)

1. wasabi側にてバケットを作成する。

移行用のバケットを作成する。
名前は「minecraft-back」としている、AWS側にも同様のバケット名のものがあるのでわかりやすく。 wasabi-create-bucket

2. バケットの作成完了

作成完了すると、バケットがリストに表示される。 wasabi-create-bucket-2

wasabi側の準備2(ユーザの作成)

1. ユーザを作成する

左のメニューから「ユーザー」→「ユーザーを作成する」をクリックする。

2. ユーザーの設定

ユーザー名、ポリシーを設定して作成する。↓
wasabi-add-user

移行

rcloneを使う

1. rcloneをインストールする。

下記のページを参考に入れる。
https://rclone.org/install/
Windows のため、バイナリを入れればいいっぽい。
https://rclone.org/downloads/ から、 Intel/AMD 64bitのものをダウンロードする。
wasabi-rclone

ダウンロード後、適当なディレクトリに解凍しておく。

2. コマンドプロンプトを開き、先程のディレクトリに移動する。

※パスを通すのものありだし、パスが通っているディレクトリにコピーするのもあり。
今回はrclone を何度も使う機会はないので、toolディレクトリに入れてそこで作業する。

rclone.exe をコマンドで打ち、使用できることを確認する。 wasabi-rclone-2

3. rcloneの設定をする

こちらを参考に→ https://rclone.org/s3/

  • S3の設定

rclone.exe config と入力し、下記を設定する。

D:\_tool\rclone-v1.61.1-windows-amd64>rclone.exe config
2023/02/06 18:15:54 NOTICE: Config file "C:\\Users\\xxxxx\\AppData\\Roaming\\rclone\\rclone.conf" not found - using defaults

## 新規で作成する。「n」と入力

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

### 「s3」と入力
Enter name for new remote.
name> s3

### s3を使用するので、「5」と入力
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 1 / 1Fichier
   \ (fichier)
 2 / Akamai NetStorage
   \ (netstorage)
 3 / Alias for an existing remote
   \ (alias)
 4 / Amazon Drive
   \ (amazon cloud drive)
 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and Wasabi
   \ (s3)
 6 / Backblaze B2
   \ (b2)
 7 / Better checksums for other remotes
   \ (hasher)
 8 / Box
   \ (box)
 9 / Cache a remote
   \ (cache)
10 / Citrix Sharefile
   \ (sharefile)
11 / Combine several remotes into one
   \ (combine)
12 / Compress a remote
   \ (compress)
13 / Dropbox
   \ (dropbox)
14 / Encrypt/Decrypt a remote
   \ (crypt)
15 / Enterprise File Fabric
   \ (filefabric)
16 / FTP
   \ (ftp)
17 / Google Cloud Storage (this is not Google Drive)
   \ (google cloud storage)
18 / Google Drive
   \ (drive)
19 / Google Photos
   \ (google photos)
20 / HTTP
   \ (http)
21 / Hadoop distributed file system
   \ (hdfs)
22 / HiDrive
   \ (hidrive)
23 / In memory object storage system.
   \ (memory)
24 / Internet Archive
   \ (internetarchive)
25 / Jottacloud
   \ (jottacloud)
26 / Koofr, Digi Storage and other Koofr-compatible storage providers
   \ (koofr)
27 / Local Disk
   \ (local)
28 / Mail.ru Cloud
   \ (mailru)
29 / Mega
   \ (mega)
30 / Microsoft Azure Blob Storage
   \ (azureblob)
31 / Microsoft OneDrive
   \ (onedrive)
32 / OpenDrive
   \ (opendrive)
33 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ (swift)
34 / Oracle Cloud Infrastructure Object Storage
   \ (oracleobjectstorage)
35 / Pcloud
   \ (pcloud)
36 / Put.io
   \ (putio)
37 / QingCloud Object Storage
   \ (qingstor)
38 / SMB / CIFS
   \ (smb)
39 / SSH/SFTP
   \ (sftp)
40 / Sia Decentralized Cloud
   \ (sia)
41 / Storj Decentralized Cloud Storage
   \ (storj)
42 / Sugarsync
   \ (sugarsync)
43 / Transparently chunk/split large files
   \ (chunker)
44 / Union merges the contents of several upstream fs
   \ (union)
45 / Uptobox
   \ (uptobox)
46 / WebDAV
   \ (webdav)
47 / Yandex Disk
   \ (yandex)
48 / Zoho
   \ (zoho)
49 / premiumize.me
   \ (premiumizeme)
50 / seafile
   \ (seafile)
Storage> 5

## AWSなので「1」と入力
Option provider.
Choose your S3 provider.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / Amazon Web Services (AWS) S3
   \ (AWS)
 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
   \ (Alibaba)
 3 / Ceph Object Storage
   \ (Ceph)
 4 / China Mobile Ecloud Elastic Object Storage (EOS)
   \ (ChinaMobile)
 5 / Cloudflare R2 Storage
   \ (Cloudflare)
 6 / Arvan Cloud Object Storage (AOS)
   \ (ArvanCloud)
 7 / DigitalOcean Spaces
   \ (DigitalOcean)
 8 / Dreamhost DreamObjects
   \ (Dreamhost)
 9 / Huawei Object Storage Service
   \ (HuaweiOBS)
10 / IBM COS S3
   \ (IBMCOS)
11 / IDrive e2
   \ (IDrive)
12 / IONOS Cloud
   \ (IONOS)
13 / Seagate Lyve Cloud
   \ (LyveCloud)
14 / Liara Object Storage
   \ (Liara)
15 / Minio Object Storage
   \ (Minio)
16 / Netease Object Storage (NOS)
   \ (Netease)
17 / RackCorp Object Storage
   \ (RackCorp)
18 / Scaleway Object Storage
   \ (Scaleway)
19 / SeaweedFS S3
   \ (SeaweedFS)
20 / StackPath Object Storage
   \ (StackPath)
21 / Storj (S3 Compatible Gateway)
   \ (Storj)
22 / Tencent Cloud Object Storage (COS)
   \ (TencentCOS)
23 / Wasabi Object Storage
   \ (Wasabi)
24 / Qiniu Object Storage (Kodo)
   \ (Qiniu)
25 / Any other S3 compatible provider
   \ (Other)
provider> 1

## アクセスキーID/シークレットアクセスキーで認証するので「1」と入力
Option env_auth.
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
Only applies if access_key_id and secret_access_key is blank.
Choose a number from below, or type in your own boolean value (true or false).
Press Enter for the default (false).
 1 / Enter AWS credentials in the next step.
   \ (false)
 2 / Get AWS credentials from the environment (env vars or IAM).
   \ (true)
env_auth> 1

## アクセスキーIDの入力
Option access_key_id.
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a value. Press Enter to leave empty.
access_key_id> *****************

## シークレットアクセスキーの入力
Option secret_access_key.
AWS Secret Access Key (password).
Leave blank for anonymous access or runtime credentials.
Enter a value. Press Enter to leave empty.
secret_access_key> *****************

## リージョンは東京なので、「14」と入力
Option region.
Region to connect to.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
   / The default endpoint - a good choice if you are unsure.
 1 | US Region, Northern Virginia, or Pacific Northwest.
   | Leave location constraint empty.
   \ (us-east-1)
   / US East (Ohio) Region.
 2 | Needs location constraint us-east-2.
   \ (us-east-2)
   / US West (Northern California) Region.
 3 | Needs location constraint us-west-1.
   \ (us-west-1)
   / US West (Oregon) Region.
 4 | Needs location constraint us-west-2.
   \ (us-west-2)
   / Canada (Central) Region.
 5 | Needs location constraint ca-central-1.
   \ (ca-central-1)
   / EU (Ireland) Region.
 6 | Needs location constraint EU or eu-west-1.
   \ (eu-west-1)
   / EU (London) Region.
 7 | Needs location constraint eu-west-2.
   \ (eu-west-2)
   / EU (Paris) Region.
 8 | Needs location constraint eu-west-3.
   \ (eu-west-3)
   / EU (Stockholm) Region.
 9 | Needs location constraint eu-north-1.
   \ (eu-north-1)
   / EU (Milan) Region.
10 | Needs location constraint eu-south-1.
   \ (eu-south-1)
   / EU (Frankfurt) Region.
11 | Needs location constraint eu-central-1.
   \ (eu-central-1)
   / Asia Pacific (Singapore) Region.
12 | Needs location constraint ap-southeast-1.
   \ (ap-southeast-1)
   / Asia Pacific (Sydney) Region.
13 | Needs location constraint ap-southeast-2.
   \ (ap-southeast-2)
   / Asia Pacific (Tokyo) Region.
14 | Needs location constraint ap-northeast-1.
   \ (ap-northeast-1)
   / Asia Pacific (Seoul).
15 | Needs location constraint ap-northeast-2.
   \ (ap-northeast-2)
   / Asia Pacific (Osaka-Local).
16 | Needs location constraint ap-northeast-3.
   \ (ap-northeast-3)
   / Asia Pacific (Mumbai).
17 | Needs location constraint ap-south-1.
   \ (ap-south-1)
   / Asia Pacific (Hong Kong) Region.
18 | Needs location constraint ap-east-1.
   \ (ap-east-1)
   / South America (Sao Paulo) Region.
19 | Needs location constraint sa-east-1.
   \ (sa-east-1)
   / Middle East (Bahrain) Region.
20 | Needs location constraint me-south-1.
   \ (me-south-1)
   / Africa (Cape Town) Region.
21 | Needs location constraint af-south-1.
   \ (af-south-1)
   / China (Beijing) Region.
22 | Needs location constraint cn-north-1.
   \ (cn-north-1)
   / China (Ningxia) Region.
23 | Needs location constraint cn-northwest-1.
   \ (cn-northwest-1)
   / AWS GovCloud (US-East) Region.
24 | Needs location constraint us-gov-east-1.
   \ (us-gov-east-1)
   / AWS GovCloud (US) Region.
25 | Needs location constraint us-gov-west-1.
   \ (us-gov-west-1)
region> 14

## エンドポイントはデフォルトを使用するので入力なしでエンター
Option endpoint.
Endpoint for S3 API.
Leave blank if using AWS to use the default endpoint for the region.
Enter a value. Press Enter to leave empty.
endpoint>

## リージョンは東京なので「14」と入力
Option location_constraint.
Location constraint - must be set to match the Region.
Used when creating buckets only.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / Empty for US Region, Northern Virginia, or Pacific Northwest
   \ ()
 2 / US East (Ohio) Region
   \ (us-east-2)
 3 / US West (Northern California) Region
   \ (us-west-1)
 4 / US West (Oregon) Region
   \ (us-west-2)
 5 / Canada (Central) Region
   \ (ca-central-1)
 6 / EU (Ireland) Region
   \ (eu-west-1)
 7 / EU (London) Region
   \ (eu-west-2)
 8 / EU (Paris) Region
   \ (eu-west-3)
 9 / EU (Stockholm) Region
   \ (eu-north-1)
10 / EU (Milan) Region
   \ (eu-south-1)
11 / EU Region
   \ (EU)
12 / Asia Pacific (Singapore) Region
   \ (ap-southeast-1)
13 / Asia Pacific (Sydney) Region
   \ (ap-southeast-2)
14 / Asia Pacific (Tokyo) Region
   \ (ap-northeast-1)
15 / Asia Pacific (Seoul) Region
   \ (ap-northeast-2)
16 / Asia Pacific (Osaka-Local) Region
   \ (ap-northeast-3)
17 / Asia Pacific (Mumbai) Region
   \ (ap-south-1)
18 / Asia Pacific (Hong Kong) Region
   \ (ap-east-1)
19 / South America (Sao Paulo) Region
   \ (sa-east-1)
20 / Middle East (Bahrain) Region
   \ (me-south-1)
21 / Africa (Cape Town) Region
   \ (af-south-1)
22 / China (Beijing) Region
   \ (cn-north-1)
23 / China (Ningxia) Region
   \ (cn-northwest-1)
24 / AWS GovCloud (US-East) Region
   \ (us-gov-east-1)
25 / AWS GovCloud (US) Region
   \ (us-gov-west-1)
location_constraint> 14

## ACLは privateなので「1」とする
Option acl.
Canned ACL used when creating buckets and storing or copying objects.
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Note that this ACL is applied when server-side copying objects as S3
doesn't copy the ACL from the source but rather writes a fresh one.
If the acl is an empty string then no X-Amz-Acl: header is added and
the default (private) will be used.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
   / Owner gets FULL_CONTROL.
 1 | No one else has access rights (default).
   \ (private)
   / Owner gets FULL_CONTROL.
 2 | The AllUsers group gets READ access.
   \ (public-read)
   / Owner gets FULL_CONTROL.
 3 | The AllUsers group gets READ and WRITE access.
   | Granting this on a bucket is generally not recommended.
   \ (public-read-write)
   / Owner gets FULL_CONTROL.
 4 | The AuthenticatedUsers group gets READ access.
   \ (authenticated-read)
   / Object owner gets FULL_CONTROL.
 5 | Bucket owner gets READ access.
   | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
   \ (bucket-owner-read)
   / Both the object owner and the bucket owner get FULL_CONTROL over the object.
 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
   \ (bucket-owner-full-control)
acl> 1

## サーバ暗号は使用していないので「1」と入力
Option server_side_encryption.
The server-side encryption algorithm used when storing this object in S3.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / None
   \ ()
 2 / AES256
   \ (AES256)
 3 / aws:kms
   \ (aws:kms)
server_side_encryption> 1

## KMSは使用していないので 「1」と入力
Option sse_kms_key_id.
If using KMS ID you must provide the ARN of Key.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / None
   \ ()
 2 / arn:aws:kms:*
   \ (arn:aws:kms:us-east-1:*)
sse_kms_key_id> 1

## ストレージクラスは Glacier Instant Retrievalなので「9」と入力
Option storage_class.
The storage class to use when storing new objects in S3.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / Default
   \ ()
 2 / Standard storage class
   \ (STANDARD)
 3 / Reduced redundancy storage class
   \ (REDUCED_REDUNDANCY)
 4 / Standard Infrequent Access storage class
   \ (STANDARD_IA)
 5 / One Zone Infrequent Access storage class
   \ (ONEZONE_IA)
 6 / Glacier storage class
   \ (GLACIER)
 7 / Glacier Deep Archive storage class
   \ (DEEP_ARCHIVE)
 8 / Intelligent-Tiering storage class
   \ (INTELLIGENT_TIERING)
 9 / Glacier Instant Retrieval storage class
   \ (GLACIER_IR)
storage_class> 9

## 詳細設定はしないので「n」
Edit advanced config?
y) Yes
n) No (default)
y/n> n

## 
Configuration complete.
Options:
- type: s3
- provider: AWS
- access_key_id: ***********************
- secret_access_key: ***********************
- region: ap-northeast-1
- location_constraint: ap-northeast-1
- acl: private
- storage_class: GLACIER_IR
Keep this "s3" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:

Name                 Type
====                 ====
s3                   s3

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
  • wasabiの設定
D:\_tool\rclone-v1.61.1-windows-amd64>rclone.exe config
Current remotes:

Name                 Type
====                 ====
s3                   s3

# 「n」と入力
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

# 「wasabi」と入力
Enter name for new remote.
name> wasabi

# 「s3」と入力
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 1 / 1Fichier
   \ (fichier)
 2 / Akamai NetStorage
   \ (netstorage)
 3 / Alias for an existing remote
   \ (alias)
 4 / Amazon Drive
   \ (amazon cloud drive)
 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and Wasabi
   \ (s3)
 6 / Backblaze B2
   \ (b2)
 7 / Better checksums for other remotes
   \ (hasher)
 8 / Box
   \ (box)
 9 / Cache a remote
   \ (cache)
10 / Citrix Sharefile
   \ (sharefile)
11 / Combine several remotes into one
   \ (combine)
12 / Compress a remote
   \ (compress)
13 / Dropbox
   \ (dropbox)
14 / Encrypt/Decrypt a remote
   \ (crypt)
15 / Enterprise File Fabric
   \ (filefabric)
16 / FTP
   \ (ftp)
17 / Google Cloud Storage (this is not Google Drive)
   \ (google cloud storage)
18 / Google Drive
   \ (drive)
19 / Google Photos
   \ (google photos)
20 / HTTP
   \ (http)
21 / Hadoop distributed file system
   \ (hdfs)
22 / HiDrive
   \ (hidrive)
23 / In memory object storage system.
   \ (memory)
24 / Internet Archive
   \ (internetarchive)
25 / Jottacloud
   \ (jottacloud)
26 / Koofr, Digi Storage and other Koofr-compatible storage providers
   \ (koofr)
27 / Local Disk
   \ (local)
28 / Mail.ru Cloud
   \ (mailru)
29 / Mega
   \ (mega)
30 / Microsoft Azure Blob Storage
   \ (azureblob)
31 / Microsoft OneDrive
   \ (onedrive)
32 / OpenDrive
   \ (opendrive)
33 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ (swift)
34 / Oracle Cloud Infrastructure Object Storage
   \ (oracleobjectstorage)
35 / Pcloud
   \ (pcloud)
36 / Put.io
   \ (putio)
37 / QingCloud Object Storage
   \ (qingstor)
38 / SMB / CIFS
   \ (smb)
39 / SSH/SFTP
   \ (sftp)
40 / Sia Decentralized Cloud
   \ (sia)
41 / Storj Decentralized Cloud Storage
   \ (storj)
42 / Sugarsync
   \ (sugarsync)
43 / Transparently chunk/split large files
   \ (chunker)
44 / Union merges the contents of several upstream fs
   \ (union)
45 / Uptobox
   \ (uptobox)
46 / WebDAV
   \ (webdav)
47 / Yandex Disk
   \ (yandex)
48 / Zoho
   \ (zoho)
49 / premiumize.me
   \ (premiumizeme)
50 / seafile
   \ (seafile)
Storage> s3

# 「23」と入力
Option provider.
Choose your S3 provider.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / Amazon Web Services (AWS) S3
   \ (AWS)
 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
   \ (Alibaba)
 3 / Ceph Object Storage
   \ (Ceph)
 4 / China Mobile Ecloud Elastic Object Storage (EOS)
   \ (ChinaMobile)
 5 / Cloudflare R2 Storage
   \ (Cloudflare)
 6 / Arvan Cloud Object Storage (AOS)
   \ (ArvanCloud)
 7 / DigitalOcean Spaces
   \ (DigitalOcean)
 8 / Dreamhost DreamObjects
   \ (Dreamhost)
 9 / Huawei Object Storage Service
   \ (HuaweiOBS)
10 / IBM COS S3
   \ (IBMCOS)
11 / IDrive e2
   \ (IDrive)
12 / IONOS Cloud
   \ (IONOS)
13 / Seagate Lyve Cloud
   \ (LyveCloud)
14 / Liara Object Storage
   \ (Liara)
15 / Minio Object Storage
   \ (Minio)
16 / Netease Object Storage (NOS)
   \ (Netease)
17 / RackCorp Object Storage
   \ (RackCorp)
18 / Scaleway Object Storage
   \ (Scaleway)
19 / SeaweedFS S3
   \ (SeaweedFS)
20 / StackPath Object Storage
   \ (StackPath)
21 / Storj (S3 Compatible Gateway)
   \ (Storj)
22 / Tencent Cloud Object Storage (COS)
   \ (TencentCOS)
23 / Wasabi Object Storage
   \ (Wasabi)
24 / Qiniu Object Storage (Kodo)
   \ (Qiniu)
25 / Any other S3 compatible provider
   \ (Other)
provider> 23

# 「1」と入力
Option env_auth.
Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
Only applies if access_key_id and secret_access_key is blank.
Choose a number from below, or type in your own boolean value (true or false).
Press Enter for the default (false).
 1 / Enter AWS credentials in the next step.
   \ (false)
 2 / Get AWS credentials from the environment (env vars or IAM).
   \ (true)
env_auth> 1

# wasabiのアクセスキーを入力
Option access_key_id.
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a value. Press Enter to leave empty.
access_key_id> **************

# wasabiのシークレットアクセスキーを入力
Option secret_access_key.
AWS Secret Access Key (password).
Leave blank for anonymous access or runtime credentials.
Enter a value. Press Enter to leave empty.
secret_access_key> **************

# 「ap-northeast-1」と入力
Option region.
Region to connect to.
Leave blank if you are using an S3 clone and you don't have a region.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
   / Use this if unsure.
 1 | Will use v4 signatures and an empty region.
   \ ()
   / Use this only if v4 signatures don't work.
 2 | E.g. pre Jewel/v10 CEPH.
   \ (other-v2-signature)
region> ap-northeast-1

# 「10」と入力
Option endpoint.
Endpoint for S3 API.
Required when using an S3 clone.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
 1 / Wasabi US East 1 (N. Virginia)
   \ (s3.wasabisys.com)
 2 / Wasabi US East 2 (N. Virginia)
   \ (s3.us-east-2.wasabisys.com)
 3 / Wasabi US Central 1 (Texas)
   \ (s3.us-central-1.wasabisys.com)
 4 / Wasabi US West 1 (Oregon)
   \ (s3.us-west-1.wasabisys.com)
 5 / Wasabi CA Central 1 (Toronto)
   \ (s3.ca-central-1.wasabisys.com)
 6 / Wasabi EU Central 1 (Amsterdam)
   \ (s3.eu-central-1.wasabisys.com)
 7 / Wasabi EU Central 2 (Frankfurt)
   \ (s3.eu-central-2.wasabisys.com)
 8 / Wasabi EU West 1 (London)
   \ (s3.eu-west-1.wasabisys.com)
 9 / Wasabi EU West 2 (Paris)
   \ (s3.eu-west-2.wasabisys.com)
10 / Wasabi AP Northeast 1 (Tokyo) endpoint
   \ (s3.ap-northeast-1.wasabisys.com)
11 / Wasabi AP Northeast 2 (Osaka) endpoint
   \ (s3.ap-northeast-2.wasabisys.com)
12 / Wasabi AP Southeast 1 (Singapore)
   \ (s3.ap-southeast-1.wasabisys.com)
13 / Wasabi AP Southeast 2 (Sydney)
   \ (s3.ap-southeast-2.wasabisys.com)
endpoint> 10

# 「ap-northeast-1」と入力
Option location_constraint.
Location constraint - must be set to match the Region.
Leave blank if not sure. Used when creating buckets only.
Enter a value. Press Enter to leave empty.
location_constraint> ap-northeast-1

# 「1」と入力
Option acl.
Canned ACL used when creating buckets and storing or copying objects.
This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Note that this ACL is applied when server-side copying objects as S3
doesn't copy the ACL from the source but rather writes a fresh one.
If the acl is an empty string then no X-Amz-Acl: header is added and
the default (private) will be used.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
   / Owner gets FULL_CONTROL.
 1 | No one else has access rights (default).
   \ (private)
   / Owner gets FULL_CONTROL.
 2 | The AllUsers group gets READ access.
   \ (public-read)
   / Owner gets FULL_CONTROL.
 3 | The AllUsers group gets READ and WRITE access.
   | Granting this on a bucket is generally not recommended.
   \ (public-read-write)
   / Owner gets FULL_CONTROL.
 4 | The AuthenticatedUsers group gets READ access.
   \ (authenticated-read)
   / Object owner gets FULL_CONTROL.
 5 | Bucket owner gets READ access.
   | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
   \ (bucket-owner-read)
   / Both the object owner and the bucket owner get FULL_CONTROL over the object.
 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
   \ (bucket-owner-full-control)
acl> 1

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Configuration complete.
Options:
- type: s3
- provider: Wasabi
- access_key_id: *****************
- secret_access_key: *****************
- region: ap-northeast-1
- endpoint: s3.ap-northeast-1.wasabisys.com
- location_constraint: ap-northeast-1
- acl: private
Keep this "wasabi" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Current remotes:

Name                 Type
====                 ====
s3                   s3
wasabi               s3

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

D:\_tool\rclone-v1.61.1-windows-amd64>

というわけでできた設定を見てみる。

[s3]
type = s3
provider = AWS
access_key_id = *****************
secret_access_key = *****************
region = ap-northeast-1
location_constraint = ap-northeast-1
acl = private
storage_class = GLACIER_IR

[wasabi]
type = s3
provider = Wasabi
access_key_id = *****************
secret_access_key = *****************
region = ap-northeast-1
endpoint = s3.ap-northeast-1.wasabisys.com
location_constraint = ap-northeast-1
acl = private

これでOKか、確認してみる。

※WebUIでもできるらしい

rclone.exe rcd --rc-web-gui

rclone-web-ui
rclone-web-ui-2
rclone-web-ui-3
rclone-web-ui-4
「Explorer」からちゃんと確認できるので、設定はちゃんとできていそうだ。
初見だとこちらのほうが設定はしやすそう。

4. ファイルをコピー

ここからは、S3→wasabiのファイルを移行してみる。 s3-bucket
上記のようにファイルがあるので、これらがwasabiのバケットにコピーできればOK!

下記のコマンドで、

  • s3の「minecraft-back」バケットから
  • wasabiの「minecraft-back」バケットに
    ファイルコピーが行われる。
rclone.exe sync s3:minecraft-back wasabi:minecraft-back

暫く待つとコンソールが返ってくるので確認してみる。

wasabi-rclone-success
できてる!

というわけで、残りのバケットを移行すれば完了。

おわりに

この手の移行は久しぶりにやったが、ファイル数が多いと移行ツールの強力さがわかる。
ありがとう、rclone。
業務でも使う日が来るのだろうか。

※Glacier Instant Retrievalなどの取り出し料金がかかるものに関しては、移行の際注意すること。
普通に料金かかるはず。  

Hugo で構築されています。
テーマ StackJimmy によって設計されています。