オブジェクト・ストレージは非構造化データを格納するのに優れたストレージサービスであり、3種類の層から構成されています。ライフサイクル・ポリシーを設定して、自動でオブジェクトの削除や層を変更したり他リージョンにオブジェクトのコピーやレプリケーションの設定を行う等さまざまな機能があります。

この章ではIAMポリシーを設定してから、事前認証済みリクエスト以外のオブジェクト・ストレージで利用できる機能の設定を行います。

チュートリアル一覧に戻る : Oracle Cloud Infrastructure チュートリアル

所要時間: 約30分

前提条件:

  1. その7 - オブジェクト・ストレージを使うが完了していること
  2. 2つのリージョン使用してレプリケーションとオブジェクトのコピーを行うので有償環境である必要があります。
  3. コマンドライン(CLI)でOCIを操作するが完了していること

注意:

  1. チュートリアル内の画面ショットについてはOracle Cloud Infrastructureの現在のコンソール画面と異なっている場合があります
  2. 前提条件2はレプリケーションとオブジェクトのコピーを行う場合に必要となります
  3. 前提条件3はマルチパート・アップロードを使用する場合に必要となります

目次 :

  1. IAMポリシーの設定
  2. ライフサイクル・ポリシーの設定
  3. レプリケーションの設定
  4. オブジェクトのコピー
  5. 保持ルールの設定
  6. (参考)マルチパート・アップロード

1. IAMポリシーの設定

今回のチュートリアルで設定するライフサイクル・ポリシー、レプリケーションそしてオブジェクトのコピーを作成する際は、ユーザがバケットやオブジェクトを操作する権限を持つ以外に、リージョンごとにユーザーに代わってオブジェクト・ストレージのサービス自身がバケットやオブジェクトを操作するためのサービス権限を設定する必要があります。サービス権限はソース・リージョンと宛先リージョンの両方に設定する必要があります。

  1. 左上のメニューから アイデンティティとセキュリティ → ポリシー を選択します。 そして ポリシーの作成 ボタンを押します。
    • 名前 - 任意(このチュートリアルではtutorial_objectstorageとします)
    • 説明 - 任意(このチュートリアルではチュートリアル用とします)
    • コンパートメント - コンパートメントを選択します
    • ポリシー・ビルダー
      • Allow service objectstorage-<リージョン識別子(ソース・リージョン)> to manage object-family in tenancy/compartment <コンパートメント名>
      • Allow service objectstorage-<リージョン識別子(宛先リージョン)> to manage object-family in tenancy/compartment <コンパートメント名>

        img1.png

        Note
        リージョン識別子はこちらから確認してください。東京リージョンの場合は ap-tokyo-1 になります。

2. ライフサイクル・ポリシーの設定

OCIのオブジェクト・ストレージのストレージ層は「標準(Standard)」、「頻度の低いアクセス(Infrequent Access)」、「アーカイブ(Archive)」の3層から構成されています。ライフサイクル・ポリシーを設定することにより、自動で指定したルールに基づいてオブジェクトを削除したりストレージ層の変更を行うことができます。

この章では標準の層にあるオブジェクトを1日後にアーカイブ層へ移すライフサイクル・ポリシーを作成します。

  1. 左上のメニューから ストレージ → バケット を選択します。

  2. 既存のバケットをクリックします。

  3. するとバケットの詳細画面が表示されるので、スクロールしてストレージ層が標準のオブジェクトがあることを確認します。 img2.png

  4. 左側にあるリソースの ライフサイクル・ポリシー・ルール を選択します。

  5. ルールの作成 ボタンを押します。

    • 名前 - 任意(このチュートリアルではライフサイクル・ルール・チュートリアル用とします)
    • ターゲット - オブジェクト
    • ライフサイクル・アクション -「アーカイブ」に移行
    • 日数 - 1

    img3.png

    Note
    もし特定のオブジェクトに対してのみルールを設定したい場合はフィルタを指定する必要があります。

  6. ルールが作成されると以下のように設定したルールが表示されます。 img4.png

  7. ライフサイクル・ポリシーが適用されているか1日後確認してみます。リソース内の オブジェクト をクリックしてオブジェクトを確認します。するとストレージ層がアーカイブになっていることを確認できます。 img5.png

3. レプリケーションの設定

レプリケーション・ポリシーを作成することによりバケット内のオブジェクトを同リージョンや他リージョンのバケットに非同期でレプリケーションできます。レプリケーション・ポリシーを設定すると宛先のバケットは読取り専用となります。

この章では東京リージョンのバケットを大阪リージョンのバケットにレプリケーションします。

  1. 違うリージョンにバケットを作成します。この章では大阪リージョンに作成するのでリージョンを大阪に変えます。

    img6.png

  2. そして バケットの作成 ボタンをクリックします。
    • バケット名 - 任意(このチュートリアルではTutorialBucket2とします)
    • デフォルト・ストレージ - 標準
    • 暗号鍵 - Oracle管理キーを使用した暗号化

    img7.png

  3. 作成するとバケットの一覧が表示されます。レプリケーションポリシーを設定するために先ほどのリージョンに戻ります(今回の場合は東京リージョン)。リージョンを変更するとバケットの一覧画面が表示されるので、既存のバケットをクリックしてください。

  4. バケットの詳細が表示されるので、スクロールして左側のリソースの中にある レプリケーション・ポリシー を選択します。

  5. ポリシーの作成 を行います。

    • 名前 - 任意(ここではreplication-policy-testとします)
    • 宛先のリージョン - Japan Central(Osaka)(宛先のリージョンを選択してください)
    • 宛先のバケット  - TutorialBucket2(宛先のバケットを選択してください)

    img8.png

  6. レプリケーション・ポリシーが作成されると以下のように表示されます。 img9.png

  7. ポリシーの作成後オブジェクトをアップロードします。左側のリソースの中にある オブジェクト をクリックして アップロード のボタンを押します。

    • オブジェクト名の接頭辞 オプション - なし
    • ストレージ層 - 標準
    • コンピュートからファイルを選択 - 適宜ファイルをドロップもしくはファイルを選択します。今回のチュートリアルではoracle-team-usa-1.jpgのファイルをアップロードします

      img10.png

  8. アップロード のボタンを押して 閉じる を押してください。

  9. 宛先リージョンにレプリケーションできているか確認します。宛先リージョンに移動して既存のバケットをクリックしてください。スクロールしてオブジェクトを確認すると東京リージョンでアップロードしたファイルを確認できます。

    img11.png

    Note レプリケーション・ポリシーを設定した前にアップロードしたオブジェクトは表示されません。

  10. レプリケーション・ポリシーを削除します。東京リージョンに戻り既存のバケットをクリックします。そしてリソースの中にある レプリケーション・ポリシー を選択します。

  11. 次に右側にあるメニューから削除を押します。削除の確認が表示されるので削除をクリックします。 img12.png

4. オブジェクトのコピー

オブジェクトのコピーを行うことによりオブジェクト・ストレージのオブジェクトを同一リージョンの他のバケットや他リージョンのバケット内にコピーできます。コピーはオブジェクト単位で設定します。

この章では東京リージョンにあるオブジェクトを大阪リージョンのバケット内にコピーします。

  1. 左側のリソースの中にある オブジェクト を押します。既存のオブジェクトのメニューボタンをクリックします。そしてコピーを押します。

    img13.png

  2. オブジェクトのコピーの設定を行います。

    • 宛先ネームスペース - デフォルトのまま(ここではorasejapanにしています)
    • 宛先リージョン - Japan Central(Osaka) (宛先のリージョンを記入します)
    • 宛先バケット - TutorialBucket2(宛先のバケットを選択してください)
    • 宛先オブジェクト名 オプション - 任意(ここではoracle-team.usa.jpgにしています)
    • 宛先ストレージ層 オプション - 標準
    • 上書きルール - 宛先オブジェクトの上書き

      img14.png

  3. オブジェクトのコピー のボタンを押すと、作業リクエストの詳細が表示されます。ステータスが完了済になったら 閉じる をクリックします。

    img15.png

  4. 宛先リージョンのバケットを確認します。リージョンを変えます。バケットの一覧が表示されるので、宛先バケットに指定したバケットをクリックします。

  5. すると先ほどコピーしたオブジェクトを確認することができます。 img16.png

5. 保持ルールの設定

保持ルールを設定するとデータの上書きや消去が出来なくなり、悪意ある上書き等を防止できます。また、保持ルールをロックすると管理者でもルールの変更等を行うことができなくなりますので、より厳密にデータの改ざんや削除を防止できます。ただしロックした場合は管理者であっても期間中はデータの削除ができなくなるので、設定には十分に注意する必要があります。保持ルールのロックは設定してから14日後以降に有効化されるようにスケジュールする必要があります。

  1. リソースの 保持ルール を選択します。そして ルールの作成 ボタンをクリックします。

    • 名前 - 任意(今回のチュートリアルではretention-rule-tutorialにします)
    • 保持ルール・タイプ - 期限付き
    • 保持期間
      • 保持時間 - 1
      • 保持時間の単位 - 日

    img17.png

  2. 保持ルールが適用されているか確認します。リソースのオブジェクトをクリックします。そして既存のオブジェクトの右側にあるメニューから削除ボタンをクリックします。 img18.png

  3. 削除の確認の画面が表示されるので削除を押してください。もし適用されている場合は削除できません。消去出来ないと確認できたら取り消しボタンを押してください。

    img19.png

6. (参考)マルチパート・アップロード

マルチパート・アップロードはオブジェクトを分割して個々のパーツを並⾏してオブジェクト・ストレージに アップロードします。並⾏してアップロードするため時間の短縮になります。API、SKD、CLIで使⽤できま す。 この章では1GBのファイルを作成して、そのファイルをCLIを使⽤してマルチパート・アップロードします。

  1. PowerShellを起動します。その際に必ず管理者として実行してください。 コマンドライン(CLI)でOCIを操作するを参考にしてください。

  2. 最初に1GBのファイルを作成します。今回の場合はCLIをWindows上に構築したので、下記のコマンドになります。 この章ではCドライブ直下に大きさが1GBであるtutorial1GBファイルを作成するため、下記のコマンドを実行します。

     fsutil file createnew c:\tutorial1GB (1GB)
    

    もしLinuxにCLIを構築した場合は下記のコマンドになります。

     dd if=/dev/zero of=<ファイル名> bs=1G count=1
    
  3. 次のコマンドを入力します。

     oci os object put -bn <バケット名> --file <ファイルのディレクトリパス> 
    

    今回のチュートリアルでは以下のようになります。

     oci os object put -bn TutorialBucket2 --file c:\tutorial1GB 
    

    コマンドを入力すると8つのパーツに分かれてアップロードされていることが確認できます。

    img20.png

    Note デフォルトの場合1つのパーツの大きさが128MBで分割されるため、1GBの場合8つのパーツに分割してアップロードされます。パートサイズ等の値を変更したい場合はCLIを使用してマルチパート・アップロードを実行するにはを参照してください。

  4. ファイルがオブジェクト・ストレージにアップロードされたか確認します。コンソールに戻ります。バケットの詳細ページからオブジェクトを確認します。するとマルチパート・アップロードしたオブジェクトが格納されていると確認できます。

    img21.png


    Note
    もしマルチパート・アップロードが失敗したりコミットされなかった場合はコンソールから確認できます。リソースの中にある コミットされていないマルチパート・アップロード を選択すると、コミットされていないオブジェクトが表示されます。

以上で、この章の作業は終了です。


チュートリアル一覧に戻る : Oracle Cloud Infrastructure チュートリアル