概要
ICOS の新しいストレージクラス「Smart Tier」のバケットを作成し、他バケットから既存オブジェクトを移行します。
Smart Tier とは
ひとことで言えば、「Amazon S3 Intelligent-Tiering」のようなものです。
ただし、ICOS の Smart Tier では以下のようなオートティアリングに関する管理コストはないので、料金体系もシンプルで使いやすくなっています。
Amazon S3 Simple Storage Service Pricing - Amazon Web Services
S3 Intelligent - Tiering - Automatic cost savings for data with unknown or changing access patterns | Storage pricing |
---|---|
Monitoring and Automation, All Storage / Month | $0.0025 per 1,000 objects |
参考まとめ
IBM Cloud Object Storage の新しい料金プラン「Smart Tier」 | IBM ソリューション ブログ
「Smart Tier(スマートティア)」は、データのアクセス・パターンが変更された際に、自動的にコストを最適化してくれる新しいストレージ・オプションです
コストを最適化するために自動的に3つの料金レートから最適なレートを適用する機能を備えた、シンプルな料金プランを提供します。Smart Tierを使用すると、ストレージのアクティビティーをモニターすることなく、ストレージ・クラス間でデータを移動することもなく、毎月のアクティビティーに基づいて最適なストレージ・コストが適用されます。
Smart Tierのハイライト
- データ取得料金(Retrieval charges): 無料
- 追加料金: 無し *コスト最適化の自動機能に追加料金はかかりません
- 最小利用オブジェクトサイズ: 制限無し
- 最小利用ストレージ期間: 制限無し
- セキュリティー、耐久性、および可用性: IBM Cloudは、最高レベルのセキュリティー、可用性、および耐久性を維持するために Smart Tier を設計しました。
- UI、 API、 SDK、および CLI: IBM Cloud UI、 API、 SDK、または CLI を使用して、Smart Tierにアクセスすることができます。
- ロケーション: Smart Tier は現在、すべての IBM Cloud Object Storage リージョンで使用可能です。引き続き、クロス・リージョンおよび単一のサイトでも利用可能となります。
CLI プラグインインストール
ibmcloud plugin install cloud-object-storage
ibmcloud plugin show cloud-object-storage
CLI 設定
インスタンス名から IAM 認証の設定をおこないます。
export INSTANCE_NAME="khayama-cos"
CRN=`ibmcloud resource service-instance $INSTANCE_NAME --output json | jq -r '.[] | .guid'`
ibmcloud cos config auth --method IAM
ibmcloud cos config crn --crn $CRN --force
変数設定
ターゲットとソースのバケット名を設定します。
export TARGET_REGION="jp-tok"
export SOURCE_REGION="us-south"
export TARGET_BUCKET="khayama-smart"
export SOURCE_BUCKET="khayama-standard"
Smart Tier バケット作成
東京リージョンにリージョナルバケットを作成します。
ibmcloud cos create-bucket --bucket $TARGET_BUCKET --region $TARGET_REGION --class smart
# ibmcloud cos list-buckets
オブジェクトコピー
ターゲットからソースのバケットに全てのオブジェクトをコピーします。
このコピーオブジェクト操作は、クラウドサーバーサイドでおこなわれ、 ICOS では
データ転送による課金などはありません。
Object operations - Copy an object | IBM Cloud
Note: Copying objects (even across locations) does not incur the public outbound bandwidth charges. All data remains inside the COS internal network.
KEYS=$(ibmcloud cos list-objects --bucket $SOURCE_BUCKET --region $SOURCE_REGION --json | jq -r '.Contents[] | .Key')
LEN=$(echo $KEYS | grep -c '')
ibmcloud cos config region --region $SOURCE_REGION
for LINE in `echo $KEYS`
do
ibmcloud cos copy-object --bucket $TARGET_BUCKET --region $TARGET_REGION --key ${LINE} --copy-source $SOURCE_BUCKET/${LINE}
done
参考
- Amazon S3 の場合は、データ転送による課金があるようです。
Copying Objects - Amazon Simple Storage Service
Copying objects across locations incurs bandwidth charges
オブジェクト削除
ソースのバケットから全てのオブジェクトを削除します。
KEYS=$(ibmcloud cos list-objects --bucket $SOURCE_BUCKET --region $SOURCE_REGION --json | jq -r '.Contents[] | .Key')
LEN=$(echo $KEYS | grep -c '')
for LINE in `echo $KEYS`
do
ibmcloud cos delete-object --bucket $SOURCE_BUCKET --region $SOURCE_REGION --key ${LINE} --force
done
バケット削除
ソースのバケットを削除します。
ibmcloud cos delete-bucket --bucket $SOURCE_BUCKET --region $SOURCE_REGION --force