Linode Object Storageとは
Linode Object Storageは様々なリージョンで利用可能なS3互換の低価格なAkamai Cloud Computing Serviceのストレージソリューションです。
ストレージはNVMe SSDにて動作しており、HDDに比べて高いパフォーマンスと低レイテンシーなアクセスを実現することができます。
データ量は250GBから100TB(※1)まで拡張することができ、オブジェクトはリージョン内でレプリケートされており冗長性が担保されています。
インバウンド転送無料、アウトバウンド1TBまでの転送が標準の価格に含まれており、追加の転送料金は1GBあたり0.005ドルとかなり低コストなのが特徴です(※1)。
今後のアップデートではデータ量が最大1PB、オブジェクト数は最大10億に対応する予定があります。
- Linode Object Storage
- Enhancing Object Storage Performance
- Akamai Cloud Computing Services(Linode)とは何かをわかりやすく解説
※1 リージョンによって制限や価格が異なります、詳しくはこちらを参照ください。
Linode Object Storageへコンテンツを移設する
Linode Object Storageへコンテンツを移設する方法はいくつかあります。
- Cyberduck GUIを利用してバケット間のコピーを行う
- Cyberduck CLIを利用してバケット間のコピーを行う
- rcloneを利用してバケット間コピーを行う
- s5cmd等のツールを利用してバケットのデータをサーバーに移し、移したデータを移行先のバケットに転送する
今回はLinodeのサーバーを利用したCyberduck CLIの手順についてご紹介いたします。
Cyberduck CLIのセットアップ
LinodeにてUbuntuのサーバーを起動します。
今回の試みではネットワーク転送を考慮する必要がありますが、Linodeの最小インスタンスではOut 1Gbpsは確保されているため今回はテストのため最小を選択します。
起動したサーバーにCyberduck CLIをインストールします。
echo -e "deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main" | sudo tee /etc/apt/sources.list.d/cyberduck.list > /dev/null
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE7097963FEFBE72
sudo apt-get update
sudo apt-get install duck
パッケージインストール後の動作確認でバージョンを確認してコマンドのインストールは完了です。
duck --version
Cyberduck 8.3.3 (37544). Not registered. Purchase a donation key to support the development of this software.
アクセスキーの準備
今回の例では、AWSのS3からLinode Object Storageに移設してみます。
AWSではS3バケットにアクセス可能なアクセスキーを発行してください。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_access-keys.html
キーの情報は後で利用するため控えておきます。
aws_access_key_id=XXXXXXXXXXXXXXXXX
aws_secret_access_key=XXXXXXXXXXXXXXXXX
Linode Object Storageのアクセスキーを発行します。
キーの情報は後で利用するため控えておきます。
aws_access_key_id=XXXXXXXXXXXXXXXXX
aws_secret_access_key=XXXXXXXXXXXXXXXXX
Cyberduck CLIを利用したバケット間コピー
下記はAWS S3の日本リージョン(ap-northeast-1)からLinode Object StorageのAtlanta (us-southeast-1)にファイルをコピーする際のコマンドとなります。
duck --copy s3://[AWSのアクセスキー]@s3.ap-northeast-1.amazonaws.com/[バケット名]/ s3://[Linode Object Storageのアクセスキー]@us-southeast-1.linodeobjects.com/[バケット名]/
Login s3.ap-northeast-1.amazonaws.com. Login s3.ap-northeast-1.amazonaws.com – S3 with username and password. No login credentials could be found in the Keychain.
Access Key ID (XXXXXXXXXXXXXXXXXX): エンターキーを押す
Login as XXXXXXXXXXXXXXXXXXXX
Secret Access Key: AWS S3のシークレットキーを入力
WARNING! Passwords are stored in plain text in ~/.duck/credentials.
Save password (y/n): y シークレットキーを保存
hisat-dd…hisat-dd
Login us-southeast-1.linodeobjects.com. Login us-southeast-1.linodeobjects.com – S3 with username and password. No login credentials could be found in the Keychain.
Access Key ID (XXXXXXXXXXXXXXXXXX): エンターキーを押す
Login as XXXXXXXXXXXXXXXXXXXX
Secret Access Key: Linode Object Strageのシークレットキーを入力
WARNING! Passwords are stored in plain text in ~/.duck/credentials.
Save password (y/n): y シークレットキーを保存
Copy complete.
私の環境では1MBのファイルを100個転送した時間は3分2秒かかりました。
まとめ
今回はCyberduck CLIを利用したバケット間コピーの方法をご紹介しました。
転送ファイル数などによっては、s5cmdを利用した方法が早い可能性もありますが、Cyberduck CLIを利用した場合には直接バケット間でコピーできる手軽さがあります。
Linode Object Storageにデータを移設する際の参考にしてください。
関連記事
アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。