Windowsのローカル環境からAWSのS3バケットにファイル転送するツールとして、RCloneが無料で実現できそうだったので試してみました。

RCloneをダウンロード、インストールする

RCloneの公式サイトのダウンロードページにアクセスします。

RClone ダウンロードページ:https://rclone.org/downloads/

対象のファイルをダウンロードし解凍します。私はWindows 11を使っているので、「Intel/AMD – 64 Bit」の「Windows」をクリックしてダウンロードしました。ZIPファイルを解凍したら、任意の場所に置いてください。私はRCloneを常用したいと思ったので、C:\rclone という場所に置きました。

RCloneからAWS S3にアクセスするconfig設定を行う

コマンドプロンプトから「rclone config」コマンドで、対話形式で設定をしていきます。入力箇所を黄色でマーキングしました。

>rclone config
2022/03/11 10:59:03 NOTICE: Config file “C:\\Users\\yoshi\\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
name> aws-s3
Option Storage.
Type of storage to configure.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
1 / 1Fichier
\ “fichier”
2 / Alias for an existing remote
\ “alias”
3 / Amazon Drive
\ “amazon cloud drive”
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, SeaweedFS, and Tencent COS
\ “s3”
5 / Backblaze B2
\ “b2”
6 / Better checksums for other remotes
\ “hasher”
7 / Box
\ “box”
8 / Cache a remote
\ “cache”
9 / Citrix Sharefile
\ “sharefile”
10 / Compress a remote
\ “compress”
11 / Dropbox
\ “dropbox”
12 / Encrypt/Decrypt a remote
\ “crypt”
13 / Enterprise File Fabric
\ “filefabric”
14 / FTP Connection
\ “ftp”
15 / Google Cloud Storage (this is not Google Drive)
\ “google cloud storage”
16 / Google Drive
\ “drive”
17 / Google Photos
\ “google photos”
18 / Hadoop distributed file system
\ “hdfs”
19 / Hubic
\ “hubic”
20 / In memory object storage system.
\ “memory”
21 / Jottacloud
\ “jottacloud”
22 / Koofr
\ “koofr”
23 / Local Disk
\ “local”
24 / Mail.ru Cloud
\ “mailru”
25 / Mega
\ “mega”
26 / Microsoft Azure Blob Storage
\ “azureblob”
27 / Microsoft OneDrive
\ “onedrive”
28 / OpenDrive
\ “opendrive”
29 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ “swift”
30 / Pcloud
\ “pcloud”
31 / Put.io
\ “putio”
32 / QingCloud Object Storage
\ “qingstor”
33 / SSH/SFTP Connection
\ “sftp”
34 / Sia Decentralized Cloud
\ “sia”
35 / Sugarsync
\ “sugarsync”
36 / Tardigrade Decentralized Cloud Storage
\ “tardigrade”
37 / Transparently chunk/split large files
\ “chunker”
38 / Union merges the contents of several upstream fs
\ “union”
39 / Uptobox
\ “uptobox”
40 / Webdav
\ “webdav”
41 / Yandex Disk
\ “yandex”
42 / Zoho
\ “zoho”
43 / http Connection
\ “http”
44 / premiumize.me
\ “premiumizeme”
45 / seafile
\ “seafile”
Storage> s3
Option provider.
Choose your S3 provider.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
1 / Amazon Web Services (AWS) S3
\ “AWS”
2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
\ “Alibaba”
3 / Ceph Object Storage
\ “Ceph”
4 / Digital Ocean Spaces
\ “DigitalOcean”
5 / Dreamhost DreamObjects
\ “Dreamhost”
6 / IBM COS S3
\ “IBMCOS”
7 / Minio Object Storage
\ “Minio”
8 / Netease Object Storage (NOS)
\ “Netease”
9 / Scaleway Object Storage
\ “Scaleway”
10 / SeaweedFS S3
\ “SeaweedFS”
11 / StackPath Object Storage
\ “StackPath”
12 / Tencent Cloud Object Storage (COS)
\ “TencentCOS”
13 / Wasabi Object Storage
\ “Wasabi”
14 / Any other S3 compatible provider
\ “Other”
provider> 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.
Enter a boolean value (true or false). Press Enter for the default (“false”).
Choose a number from below, or type in your own value.
1 / Enter AWS credentials in the next step.
\ “false”
2 / Get AWS credentials from the environment (env vars or IAM).
\ “true”
env_auth> 1
Option access_key_id.
AWS Access Key ID.
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default (“”).
access_key_id> [IAMのアクセスキーを入力]
Option secret_access_key.
AWS Secret Access Key (password).
Leave blank for anonymous access or runtime credentials.
Enter a string value. Press Enter for the default (“”).
secret_access_key> [IAMのシークレットキーを入力]
Option region.
Region to connect to.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
/ 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 string value. Press Enter for the default (“”).
endpoint>
Option location_constraint.
Location constraint – must be set to match the Region.
Used when creating buckets only.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
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
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.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
/ 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
Option server_side_encryption.
The server-side encryption algorithm used when storing this object in S3.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
1 / None
\ “”
2 / AES256
\ “AES256”
3 / aws:kms
\ “aws:kms”
server_side_encryption> 1
Option sse_kms_key_id.
If using KMS ID you must provide the ARN of Key.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
1 / None
\ “”
2 / arn:aws:kms:*
\ “arn:aws:kms:us-east-1:*”
sse_kms_key_id> 1
Option storage_class.
The storage class to use when storing new objects in S3.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value.
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”
storage_class> 1
Edit advanced config?
y) Yes
n) No (default)
y/n> n
——————–
[aws-s3]
type = s3
provider = AWS
access_key_id = [IAMのアクセスキー]
secret_access_key = HPxilB/1uXLWBHcmREmmT4aeJRncxLD5nqhVP2cx
region = ap-northeast-1
location_constraint = ap-northeast-1
acl = private
——————–
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name Type
==== ====
aws-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

c:\rclone>

 

これで「aws-s3」という名前でRCloneのconfig設定が完了しました。「rclone lsd aws-s3:」コマンドを入力し、S3バケットの一覧が表示されればOKです(下記に表示しているバケット名はダミーです)。

>rclone lsd aws-s3:
-1 2022-03-07 22:08:34 -1 my-aws-s3-bucket-0001
-1 2022-03-08 10:27:37 -1 my-aws-s3-bucket-0002
-1 2022-03-09 17:34:19 -1 my-aws-s3-bucket-0003

RCloneでWindowsローカル環境のファイルをAWS S3バケットにアップロードする

私のWindowsのローカル環境 C:\images\ フォルダの中にあるJPEGファイル(「flower_001.jpg」「flower_002.jpg」という2つの画像ファイル)をAWS S3のバケットにアップロードしてみます。

ワイルドカードを使う場合は、--include "*.jpg" として、オプション指定します。

> rclone copy c:\images\ aws-s3:[バケット名]/ --include "*.jpg"

特にエラーなどがでてきなければアップロードは成功しています。AWS S3のコンソール画面でちゃんとアップロードされたか確認してみましょう。

問題なくアップロードされています。

以上

Categories:

Tags:

No responses yet

コメントを残す

メールアドレスが公開されることはありません。