極光日記

ContaboのObject StorageへAWS CLIで接続する

作成日

ContaboのObject Storageについて

VPSなどを提供しているContaboですが、S3互換のオブジェクトストレージもサービスとして提供しています。

S3互換ということでAWSのS3とほとんど同じように使えるのに、AWSよりもかなり安いです。

Contabo(ヨーロッパリージョン) vs AWS S3 (フランクフルトリージョン) 価格比較

サービス ストレージクラス 月間ストレージ容量 月額料金 その他のコスト
Contabo - 250GB $2.99 なし
AWS S3 標準クラス (S3 Standard) 250GB $6.13 (USD 0.0245/GB) APIリクエスト、データ転送、その他の運用コスト

他にも色々あるS3互換のサービスの中で、Contaboは最安とまでは行かないものの、S3よりも魅力的なコストです。また、価格モデルはシンプルでわかりやすいです。

ContaboのObject Storageの利用の始め方

始め方については基本的にフォームの指示に沿って進めるだけです。

https://contabo.com/en/object-storage/order/?qty=5&region=european-union&size=250

Contabo Object StorageのGUI

バケットの作成、ファイルのアップロードなどをブラウザからできる管理画面が利用できます。

buckets


files

なお、個人的にはなぜかこの画面にうまくログインできないことが多いです……。今のところ何度かリロードしたり、時間をおいたりするとログインできています。

AWS CLIを用いた接続

この Object StorageはAWS S3互換であるため、AWS CLIを使って接続できます。

接続にはアクセスキーとシークレットキーが必要です。これはContaboの画面から取得できます。

Object Storageの管理画面からAccount > Security & Access と進むと、「S3 Object Storage Credentials」というのがあります。この情報をコピーします。

また、AWS CLIのendpointはヨーロッパリージョンなら https://eu2.contabostorage.com とします。
これは Where Can I Find S3 Connection Setting for Object Storage?というページに記載があります。

credentials

その上で、Linux(Bash)なら、AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYを環境変数にセットして、

$ export AWS_ACCESS_KEY_ID=${画面から取得したAccess Key}
$ export AWS_SECRET_ACCESS_KEY=${画面から取得したSecret Key}
$ aws s3 ls --endpoint-url https://eu2.contabostorage.com

のようにすると、バケットの一覧を取得できます。

試していないですが、Windows PowerShell用なら次のようになるでしょうか?

$env:AWS_ACCESS_KEY_ID = "画面から取得したAccess Key"
$env:AWS_SECRET_ACCESS_KEY = "画面から取得したSecret Key"
aws s3 ls --endpoint-url https://eu2.contabostorage.com

ファイルに設定する

認証情報は設定ファイルに記載しておくこともできます。

~/.aws/credentialsというファイルに、

[cntb]
aws_access_key_id = "画面から取得したAccess Key"
aws_secret_access_key = "画面から取得したSecret Key"

のように記載しておきます。cntbの部分は任意の文字列です。

この上で、環境変数を設定せず、代わりにprofileを引数で設定すると、

$ aws s3 ls --endpoint-url https://eu2.contabostorage.com --profile cntb

同様にバケット一覧を取得できます。

なお、これは一応、普通にAWSへ接続するAWS CLIの設定はできている前提です。AWS CLIを使っている人は普通にAWSに接続する設定もできていると思うので前提とします。できていないと上述のフォルダがない可能性があります。その場合はファイルを新規作成すればおそらく大丈夫です。
また、この手順はLinux、Windows共通です。(Windowsでは試していません)

AWS CLIで接続できたなら、これを参考にAWS SDKなどによる接続も可能なはずです。

注意点

  • ContaboのObject Storageは最低250GBからです。S3と違い、完全な従量課金でなく、250GBよりも利用料が少なくても250GB分の料金は最低でも要求されます
  • 東京リージョンはありません。一番近いのはシンガポールですが、ヨーロッパに比べて少し高いです
  • 機能はS3に比べて少ないです。ストレージとしてただファイルを置いておくだけなら問題ないですが、高度なことをする場合は事前に実現可能か調べてください

参考

料金について

https://contabo.com/en/object-storage/#how-much-does-data-transfer-cost