Nutanix-Objects-Tiering to AWS(S3)
はじめに
- Nutanix Objectsはオブジェクトストレージを提供するサービスです。
- 代表的なオブジェクトストレージと言えばAWSのS3となります。ではNutanix Objectsの使い道はというと。
- 例えば、社内システムとの連携でオブジェクトストレージの高パフォーマンスが求められる場合、Nutanix Objectsを採用すると可用性・拡張性・柔軟性に優れたNutanix HCIのメリットを享受されたオブジェクトストレージが構成できます。
- ただし、場合によっては全てのオブジェクトストレージをオンプレで準備すると高額になる場合があります。
- そのため、Nutanix Objects(バージョン3.1以降)では、使用頻度の低いデータを別のObjectsストレージに階層化する機能を提供します。
- Nutanix Objectsを使用することにより、次のことができるようになります。
- クラウドストレージベースのサードパーティオブジェクトストレージへの階層化
- 古くて使用頻度の低いデータを保存するためのストレージ消費とコストの削減
- Nutanix Objectsの機能を利用することでS3(AWS)PUTリクエストのコストを削減
- アプリケーションをストレージの管理から切り離し、Nutanixの実績のあるHCIストレージ機能を使用してデータを効果的に管理します
- Nutanix ObjectsはS3互換のオブジェクトストアプロバイダー(現時点ではAWS)に階層化できます。
構成イメージ
- 複数のNutanixオブジェクトサイト間の階層化の例を次に示します。アプリケーションは、Nutanixクラスターオブジェクトストアのバケットに書き込み、セカンダリサイトのNutanixクラスターに階層化されます。
環境構築
- 構成イメージとしては次の通りです。ここではAWSの手順を整理しますが、S3互換のストレージ階層でも同じ手順となります。
- オンプレ:Objectsのデプロイと階層化機能設定
- クラウド:S3(AWS)
- 手順概要
- objectsのデプロイ
- 階層化の宛先としてAWS S3の作成
- オブジェクトストア構成でエンドポイントをセットアップする
- バケット構成でライフサイクルポリシーを設定する
このあと詳細な手順を記載します。
Objectsのデプロイ
- Prism Central > メニュー > サービス > グループ (日本語訳が。。。。)(Menu > Services > Objects )
- Prism Central(PC)からメニュー> [ サービス ]> [ オブジェクト ] から有効化するだけ
- 1分ほどかかります
- 作成後、
- オブジェクトストア / Bucketを作成します
S3の作成(階層化の宛先)
-
AWS マネジメントコンソールからS3コンソールを開きます。
-
「バケットを作成」をクリックします。
-
下記設定します。
- バケット名:my-bucket (任意)
- リージョン:ap-northeast-1 (東京)
- パブリックアクセスをすべて ブロックを選択
- バケットのバージョン管理を無効にすることを選択します
- サーバー側の暗号化を無効にすることを選択します
- ページの下部にある[バケットの作成]ボタンをクリックします
-
AWS上でBucketが作成されました(リスト中にmy-bucektが表示されています)
AWS S3バケットへのアクセス権
- AWS IAM管理コンソールへアクセスします。
- ユーザ>ユーザの追加をクリック。 下記を追加します。
- ユーザ名:my-bucekt-user
- アクセス種類:プログラムによるアクセス
- ユーザをグループに追加
- グループの作成。下記を入力してグループの作成をクリック
- グループ名:s3acsess
- フィルターポリシー]入力にs3と入力し、ポリシーとしてAmazonS3FullAccessを選択します。これにより、すべての権限が提供されます。
- グループの作成。下記を入力してグループの作成をクリック
-
以降デフォルト設定で「ユーザの作成」をクリックします。
-
アクセスIDとシークレットアクセスキーを確認します。
- アクセスID:AKIA5AT5MLCXQHECXXXX
- シークレットアクセスキー:XXXXX
-
「閉じる」をクリックします。
-
これでS3のセットアップは完了です。
オンプレ側で、エンドポイント(S3)を設定する
- Prism Central からメニュー > サービス > グループ (日本語訳が。。。。)(Menu > Services > Objects )
- 「Tiering Endpoint」を選択し、「+Add」をクリックします。下記登録後「Save」をクリックします。
- 名前:AWSTiering Endpoint
- Service Host:s3.ap-southeast-1.amazonaws.com
- Bucket Name:my-bucket (先ほどAWSで作成したもの)
- アクセスキー:先ほど作成したもの
- Secret Key:先ほど作成したもの
- Endpointが作成されました
ライフサイクルの作成
- Object Storeを選択します。:my-bucket
- Lifecycleを選択し、「Create Rule」をクリックします。
- ルール名を入力します。たとえば、階層化されたデータのリージョンを指定するtier-to-aws-northeast-1.amazonaws.com
- 「すべてのオブジェクト」を選択
- 「次へ」
- ルール設定
- Tiering:ソースバケットでオブジェクトの作成日から1日後に階層化を設定します
- Expiration:宛先ストレージで2日までの有効期限を選択することもできます(パブリッククラウドでの請求を抑制する場合など)
- マルチパートアップロードを選択し、宛先バケットで最後の作成日から2日後
- 「次へ」
- 構成を確認し「完了」をクリックする
階層化の確認
- 階層化が成功すると、ソースバケットに階層化ステータスが表示されます。
- データを保存してみた。オブジェクトブラウザで双方の おバケツの中身を見てみる
- AWS側(S3)は空っぽ。明日になればデータが保存されるはず。
- 階層化設定したタイミングは空
- 1日たった後。無事に階層化されました。
- オブジェクト名は機械的につけられている。オブジェクトストレージなので名前なんてなんでもいいですよね。
まとめ
- Nutanix Objectsを使用すると、データを他のオブジェクトストア(クラウドおよびオンプレミス)に階層化するための簡単な構成が可能になります
- これでオンプレ側には最小限の構成をとることが可能となり、コストメリットがでるかと思います。
- 階層化ポリシーはバケットのソース(プロバイダー)で構成する必要があります。
- 例えば:Nutanix ObjectsからAWSへの階層化はNutanix PCで構成する必要があります
- 例えば:AWSS3からAWSGlacierへの階層化はAWSコンソールで構成する必要があります