オブジェクト・ストレージは非構造化データを格納するのに優れたストレージサービスであり、3種類の層から構成されています。ライフサイクル・ポリシーを設定して、自動でオブジェクトの削除や層を変更したり他リージョンにオブジェクトのコピーやレプリケーションの設定を行う等さまざまな機能があります。
この章ではIAMポリシーを設定してから、事前認証済みリクエスト以外のオブジェクト・ストレージで利用できる機能の設定を行います。
チュートリアル一覧に戻る : Oracle Cloud Infrastructure チュートリアル
所要時間: 約30分
前提条件:
- その7 - オブジェクト・ストレージを使うが完了していること
- 2つのリージョン使用してレプリケーションとオブジェクトのコピーを行うので有償環境である必要があります。
- コマンドライン(CLI)でOCIを操作するが完了していること
注意:
- チュートリアル内の画面ショットについてはOracle Cloud Infrastructureの現在のコンソール画面と異なっている場合があります
- 前提条件2はレプリケーションとオブジェクトのコピーを行う場合に必要となります
- 前提条件3はマルチパート・アップロードを使用する場合に必要となります
目次 :
1. IAMポリシーの設定
今回のチュートリアルで設定するライフサイクル・ポリシー、レプリケーションそしてオブジェクトのコピーを作成する際は、ユーザがバケットやオブジェクトを操作する権限を持つ以外に、リージョンごとにユーザーに代わってオブジェクト・ストレージのサービス自身がバケットやオブジェクトを操作するためのサービス権限を設定する必要があります。サービス権限はソース・リージョンと宛先リージョンの両方に設定する必要があります。
- 左上のメニューから
アイデンティティとセキュリティ → ポリシー
を選択します。 そしてポリシーの作成
ボタンを押します。名前
- 任意(このチュートリアルではtutorial_objectstorageとします)説明
- 任意(このチュートリアルではチュートリアル用とします)コンパートメント
- コンパートメントを選択しますポリシー・ビルダー
- Allow service objectstorage-<リージョン識別子(ソース・リージョン)> to manage object-family in tenancy/compartment <コンパートメント名>コンパートメント名>
-
Allow service objectstorage-<リージョン識別子(宛先リージョン)> to manage object-family in tenancy/compartment <コンパートメント名>コンパートメント名>
Note
リージョン識別子はこちらから確認してください。東京リージョンの場合はap-tokyo-1
になります。
2. ライフサイクル・ポリシーの設定
OCIのオブジェクト・ストレージのストレージ層は「標準(Standard)」、「頻度の低いアクセス(Infrequent Access)」、「アーカイブ(Archive)」の3層から構成されています。ライフサイクル・ポリシーを設定することにより、自動で指定したルールに基づいてオブジェクトを削除したりストレージ層の変更を行うことができます。
この章では標準の層にあるオブジェクトを1日後にアーカイブ層へ移すライフサイクル・ポリシーを作成します。
-
左上のメニューから
ストレージ → バケット
を選択します。 -
既存のバケットをクリックします。
-
するとバケットの詳細画面が表示されるので、スクロールしてストレージ層が標準のオブジェクトがあることを確認します。
-
左側にあるリソースの
ライフサイクル・ポリシー・ルール
を選択します。 -
ルールの作成
ボタンを押します。名前
- 任意(このチュートリアルではライフサイクル・ルール・チュートリアル用とします)ターゲット
- オブジェクトライフサイクル・アクション
-「アーカイブ」に移行日数
- 1
Note
もし特定のオブジェクトに対してのみルールを設定したい場合はフィルタを指定する必要があります。 -
ルールが作成されると以下のように設定したルールが表示されます。
-
ライフサイクル・ポリシーが適用されているか1日後確認してみます。リソース内の
オブジェクト
をクリックしてオブジェクトを確認します。するとストレージ層がアーカイブになっていることを確認できます。
3. レプリケーションの設定
レプリケーション・ポリシーを作成することによりバケット内のオブジェクトを同リージョンや他リージョンのバケットに非同期でレプリケーションできます。レプリケーション・ポリシーを設定すると宛先のバケットは読取り専用となります。
この章では東京リージョンのバケットを大阪リージョンのバケットにレプリケーションします。
-
違うリージョンにバケットを作成します。この章では大阪リージョンに作成するのでリージョンを大阪に変えます。
- そして
バケットの作成
ボタンをクリックします。バケット名
- 任意(このチュートリアルではTutorialBucket2とします)デフォルト・ストレージ
- 標準暗号鍵
- Oracle管理キーを使用した暗号化
-
作成するとバケットの一覧が表示されます。レプリケーションポリシーを設定するために先ほどのリージョンに戻ります(今回の場合は東京リージョン)。リージョンを変更するとバケットの一覧画面が表示されるので、既存のバケットをクリックしてください。
-
バケットの詳細が表示されるので、スクロールして左側のリソースの中にある
レプリケーション・ポリシー
を選択します。 -
ポリシーの作成
を行います。名前
- 任意(ここではreplication-policy-testとします)宛先のリージョン
- Japan Central(Osaka)(宛先のリージョンを選択してください)宛先のバケット
- TutorialBucket2(宛先のバケットを選択してください)
-
レプリケーション・ポリシーが作成されると以下のように表示されます。
-
ポリシーの作成後オブジェクトをアップロードします。左側のリソースの中にある
オブジェクト
をクリックしてアップロード
のボタンを押します。オブジェクト名の接頭辞 オプション
- なしストレージ層
- 標準-
コンピュートからファイルを選択
- 適宜ファイルをドロップもしくはファイルを選択します。今回のチュートリアルではoracle-team-usa-1.jpgのファイルをアップロードします
-
アップロード
のボタンを押して閉じる
を押してください。 -
宛先リージョンにレプリケーションできているか確認します。宛先リージョンに移動して既存のバケットをクリックしてください。スクロールしてオブジェクトを確認すると東京リージョンでアップロードしたファイルを確認できます。
Note
レプリケーション・ポリシーを設定した前にアップロードしたオブジェクトは表示されません。 -
レプリケーション・ポリシーを削除します。東京リージョンに戻り既存のバケットをクリックします。そしてリソースの中にある
レプリケーション・ポリシー
を選択します。 - 次に右側にあるメニューから削除を押します。削除の確認が表示されるので削除をクリックします。
4. オブジェクトのコピー
オブジェクトのコピーを行うことによりオブジェクト・ストレージのオブジェクトを同一リージョンの他のバケットや他リージョンのバケット内にコピーできます。コピーはオブジェクト単位で設定します。
この章では東京リージョンにあるオブジェクトを大阪リージョンのバケット内にコピーします。
-
左側のリソースの中にある
オブジェクト
を押します。既存のオブジェクトのメニューボタンをクリックします。そしてコピーを押します。 -
オブジェクトのコピーの設定を行います。
宛先ネームスペース
- デフォルトのまま(ここではorasejapanにしています)宛先リージョン
- Japan Central(Osaka) (宛先のリージョンを記入します)宛先バケット
- TutorialBucket2(宛先のバケットを選択してください)宛先オブジェクト名
オプション - 任意(ここではoracle-team.usa.jpgにしています)宛先ストレージ層 オプション
- 標準-
上書きルール
- 宛先オブジェクトの上書き
-
オブジェクトのコピー
のボタンを押すと、作業リクエストの詳細が表示されます。ステータスが完了済になったら閉じる
をクリックします。 -
宛先リージョンのバケットを確認します。リージョンを変えます。バケットの一覧が表示されるので、宛先バケットに指定したバケットをクリックします。
-
すると先ほどコピーしたオブジェクトを確認することができます。
5. 保持ルールの設定
保持ルールを設定するとデータの上書きや消去が出来なくなり、悪意ある上書き等を防止できます。また、保持ルールをロックすると管理者でもルールの変更等を行うことができなくなりますので、より厳密にデータの改ざんや削除を防止できます。ただしロックした場合は管理者であっても期間中はデータの削除ができなくなるので、設定には十分に注意する必要があります。保持ルールのロックは設定してから14日後以降に有効化されるようにスケジュールする必要があります。
-
リソースの
保持ルール
を選択します。そしてルールの作成
ボタンをクリックします。名前
- 任意(今回のチュートリアルではretention-rule-tutorialにします)保持ルール・タイプ
- 期限付き保持期間
保持時間
- 1保持時間の単位
- 日
-
保持ルールが適用されているか確認します。リソースのオブジェクトをクリックします。そして既存のオブジェクトの右側にあるメニューから削除ボタンをクリックします。
-
削除の確認の画面が表示されるので削除を押してください。もし適用されている場合は削除できません。消去出来ないと確認できたら取り消しボタンを押してください。
6. (参考)マルチパート・アップロード
マルチパート・アップロードはオブジェクトを分割して個々のパーツを並⾏してオブジェクト・ストレージに アップロードします。並⾏してアップロードするため時間の短縮になります。API、SKD、CLIで使⽤できま す。 この章では1GBのファイルを作成して、そのファイルをCLIを使⽤してマルチパート・アップロードします。
-
PowerShellを起動します。その際に必ず管理者として実行してください。 コマンドライン(CLI)でOCIを操作するを参考にしてください。
-
最初に1GBのファイルを作成します。今回の場合はCLIをWindows上に構築したので、下記のコマンドになります。 この章ではCドライブ直下に大きさが1GBであるtutorial1GBファイルを作成するため、下記のコマンドを実行します。
fsutil file createnew c:\tutorial1GB (1GB)
もしLinuxにCLIを構築した場合は下記のコマンドになります。
dd if=/dev/zero of=<ファイル名> bs=1G count=1
-
次のコマンドを入力します。
oci os object put -bn <バケット名> --file <ファイルのディレクトリパス>
今回のチュートリアルでは以下のようになります。
oci os object put -bn TutorialBucket2 --file c:\tutorial1GB
コマンドを入力すると8つのパーツに分かれてアップロードされていることが確認できます。
Note
デフォルトの場合1つのパーツの大きさが128MBで分割されるため、1GBの場合8つのパーツに分割してアップロードされます。パートサイズ等の値を変更したい場合はCLIを使用してマルチパート・アップロードを実行するにはを参照してください。 -
ファイルがオブジェクト・ストレージにアップロードされたか確認します。コンソールに戻ります。バケットの詳細ページからオブジェクトを確認します。するとマルチパート・アップロードしたオブジェクトが格納されていると確認できます。
Note
もしマルチパート・アップロードが失敗したりコミットされなかった場合はコンソールから確認できます。リソースの中にあるコミットされていないマルチパート・アップロード
を選択すると、コミットされていないオブジェクトが表示されます。
以上で、この章の作業は終了です。
チュートリアル一覧に戻る : Oracle Cloud Infrastructure チュートリアル