LoginSignup
3
0

More than 3 years have passed since last update.

IBM Cloud Object Storage (ICOS) の Smart Tier バケットにオブジェクトを移行する

Last updated at Posted at 2020-06-13

概要

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

参考

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0