すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ミラーリングベースのback-to-originの設定例

最終更新日:Apr 08, 2024

このトピックでは、いくつかの特別なシナリオでミラーリングベースのback-to-originルールを設定する方法について説明します。

シナリオ 1

お客様Aは、中国 (杭州) リージョンにbucket-01という名前のバケットを作成します。

  • 要求者がbucket-01のexamplefolderディレクトリに存在しないオブジェクトを要求すると、OSSはhttps://example.comdestfolderディレクトリを検索して必要なオブジェクトを取得します。

  • オリジン内のオブジェクトのMD5ハッシュをチェックする必要があります。 オリジン内のオブジェクトのMD5ハッシュがObject Storage Service (OSS) によって計算されたMD5ハッシュと一致しない場合、これらのオブジェクトはbucket-01に格納されません。

上記の要件を満たすには、次の手順を実行して、ミラーリングベースのback-To-originルールを設定します。

  1. OSSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、目的のバケットを見つけてクリックします。

  3. 左側のナビゲーションツリーで、[データ管理] > [ミラーリングベースのBack-to-origin] を選択します。

  4. [ミラーリングベースのBack-to-origin] ページで、[ルールの作成] をクリックします。

  5. [ルールの作成] パネルで、必要なパラメーターを設定します。 下表に、各パラメーターを説明します。 他のパラメーターのデフォルト設定を保持します。

    パラメーター

    説明

    メソッド

    [ミラーリング] を選択します。

    条件

    [オブジェクト名プレフィックス] を選択し、パラメーターをexamplefolder/ に設定します。

    ファイルプレフィックスの置き換えまたは削除

    [ファイルプレフィックスの置換または削除] を選択し、パラメーターをdestfolder/ に設定します。

    説明

    このパラメーターは、Object Name Prefixパラメーターを設定した場合にのみ表示されます。

    オリジンURL

    最初のテキストボックスでhttpsを選択し、2番目のテキストボックスにexample.comを入力し、3番目のテキストボックスを空のままにします。

    MD5検証

    [MD5検証の実行] を選択します。

    back-to-originリクエストに対する応答にContent-MD5ヘッダーが含まれている場合、OSSは、オリジンから取得したオブジェクトのMD5ハッシュがContent-MD5ヘッダーの値と一致するかどうかを確認します。

    • オブジェクトの計算されたMD5ハッシュがオリジンから取得したContent-MD5ヘッダーの値と一致する場合、クライアントはオリジンからオブジェクトを取得し、OSSはオブジェクトを格納します。

    • オブジェクトの計算されたMD5ハッシュがオリジンから取得したContent-MD5ヘッダーの値と一致しない場合、OSSはオブジェクトを格納しませんが、オブジェクトはクライアントに返されます。

  6. [OK] をクリックします。

    次の内容は、前のback-to-originルールが設定された後のアクセスプロセスを示しています。

    1. リクエスタは、初めてhttps://bucket-01.oss-cn-hangzhou.aliyuncs.com/examplefolder/example.txtにアクセスする。

    2. bucket-01にexamplefolder/example.txtオブジェクトが含まれていない場合、OSSはhttps://example.com/destfolder/example.txtでオブジェクトを取得します。

    3. OSSがオリジンからオブジェクトを取得すると、OSSは次の操作を実行します。

      • back-to-originリクエストへの応答にContent-MD5ヘッダーが含まれている場合、OSSはオリジンから取得したオブジェクトのMD5ハッシュを計算し、計算したMD5ハッシュをオリジンから取得したContent-MD5ヘッダーの値と照合します。 計算されたMD5ハッシュがオリジンから取得したContent-MD5ヘッダーの値と一致する場合、OSSはオブジェクトをexamplefolder/example.txtとしてbucket-01に格納し、オブジェクトをリクエスタに返します。 計算されたMD5ハッシュがオリジンから取得したContent-MD5ヘッダーの値と一致しない場合、オブジェクトはリクエスタに返されますが、バケット-01には格納されません。

      • back-to-originリクエストに対するレスポンスにContent-MD5ヘッダーが含まれていない場合、OSSはオブジェクトをexamplefolder/example.txtとしてbucket-01に格納し、リクエスト元に返します。

シナリオ 2

顧客Bは、中国 (北京) リージョンにbucket-02という名前のバケットと、オリジンa (https://example.com) とオリジンB (https://example.org) の2つのオリジンを作成します。 2つの起源は同じディレクトリを持っています。 お客様Bには以下の要件があります。

  • リクエスタがbucket-02/dir1ディレクトリに存在しないオブジェクトを要求すると、OSSはhttps://example.comexample1ディレクトリでオブジェクトを検索します。

  • リクエスタがbucket-02/dir2ディレクトリに存在しないオブジェクトを要求すると、OSSはhttps://example.orgexample2ディレクトリでオブジェクトを検索します。

  • リダイレクトポリシーがOrigin AとOrigin Bに設定されているかどうかに基づいて、指定されたアドレスからオブジェクトを要求するかどうかを判断します。

上記の要件を満たすには、シナリオ1に記載されている手順を参照して、次の表に記載されているパラメーター設定を持つ2つのミラーリングベースのback-To-originルールを構成します。

  • ルール1のパラメーター設定

    パラメーター

    説明

    メソッド

    [ミラーリング] を選択します。

    条件

    [オブジェクト名プレフィックス] を選択し、パラメーターをdir1/ に設定します。

    ファイルプレフィックスの置き換えまたは削除

    [ファイルプレフィックスの置換または削除] を選択し、パラメーターをexample1/ に設定します。

    説明

    このパラメーターは、Object Name Prefixパラメーターを設定した場合にのみ表示されます。

    オリジンURL

    最初のテキストボックスでhttpsを選択し、2番目のテキストボックスにexample.comを入力し、3番目のテキストボックスを空のままにします。

    3xxレスポンス

    [オリジンをフォローしてリクエストをリダイレクト] を選択します。

    説明

    Follow Origin to Redirect Requestが選択されていない場合、OSSはリダイレクションルールで指定されたURLをリクエスタに直接返します。

  • ルール2のパラメーター設定

    パラメーター

    説明

    メソッド

    [ミラーリング] を選択します。

    条件

    [オブジェクト名プレフィックス] を選択し、パラメーターをdir2に設定します。

    ファイルプレフィックスの置き換えまたは削除

    [ファイルプレフィックスの置換または削除] を選択し、パラメーターをexample2/ に設定します。

    説明

    このパラメーターは、Object Name Prefixパラメーターを設定した場合にのみ表示されます。

    オリジンURL

    最初のテキストボックスでhttpsを選択し、2番目のテキストボックスにexample.orgを入力してから、3番目のテキストボックスを空のままにします。

    3xxレスポンス

    [オリジンをフォローしてリクエストをリダイレクト] を選択します。

次の内容は、前述のback-to-originルールが設定された後のアクセスプロセスを示しています。

  1. リクエスタは、初めてhttps://bucket-02.oss-cn-beijing.aliyuncs.com/dir1/example.txtを要求する。

  2. example.txtオブジェクトがbucket-02のdir1ディレクトリに存在しない場合、OSSはhttps://example.com/example1/example.txtでオブジェクトを取得します。

    • Origin aのexample1/example.txtにリダイレクションルールが指定されている場合、OSSはOrigin Aのリダイレクションルールで指定されたURLに新しいリクエストを送信し、オブジェクトをdir1/example1/example.txtとしてbucket-02に格納し、リクエスト元に返します。

    • Origin Aのexample1/example.txtにリダイレクションルールが指定されていない場合、OSSはオブジェクトをdir1/example1/example.txtとしてbucket-02に格納し、リクエスト元に返します。

  3. リクエスタがhttps://bucket-02.oss-cn-beijing.aliyuncs.com/dir2/example.txtを要求した場合、back-to-originルールを使用して取得したオブジェクトは、bucket-02のdir2/example2ディレクトリに格納されます。

シナリオ 3

顧客Cは、中国 (上海) リージョンにbucket-03とbucket-04の2つのバケットを作成します。 bucket-03のアクセス制御リスト (ACL) はpublic-readで、bucket-04のACLはprivateです。 お客様Cには以下の要件があります。

  • 要求者がbucket-03のルートディレクトリのexamplefolderディレクトリに存在しないオブジェクトを要求すると、OSSはbucket-04のexamplefolderディレクトリでオブジェクトを検索します。

  • オブジェクトのリクエストURLに含まれるクエリ文字列は、オリジンに転送できます。

  • オブジェクトのリクエストURLに含まれるheader1header2header3のHTTPヘッダーをオリジンに転送できます。

上記の要件を満たすには、シナリオ1で説明されている手順を参照し、次のパラメーター設定を持つミラーリングベースのback-To-originルールを構成します。

パラメーター

説明

メソッド

[ミラーリング] を選択します。

条件

[オブジェクト名プレフィックス] を選択し、パラメーターをexamplefolder/ に設定します。

起源タイプ

[OSSプライベートバケット] を選択し、[ソースバケット] ドロップダウンリストからBucket-04を選択します。

説明

オリジンタイプを設定すると、OSSはRAMコンソールでAliyunOSSMirrorDefaultRoleという名前のロールを生成し、AliyunOSSReadOnlyAccessポリシーをロールにアタッチしてすべてのバケットに読み取り専用権限を付与します。

オリジンURL

最初のテキストボックスでhttpsを選択し、他のテキストボックスは空のままにします。

オリジンパラメータ

[クエリ文字列で転送] を選択します。

OSSは、必要なオブジェクトのURLに含まれるクエリ文字列をオリジンに転送します。

HTTPヘッダーの送信ルールの設定

[許可] に [特定のHTTPヘッダーを送信] を選択し、header1header2、およびheader3 HTTPヘッダーを追加します。

Back-to-originルールは、authorizationauthorization2rangecontent-lengthdateなどの一部のHTTPヘッダーと、x-oss-oss-x-drs- で始まるHTTPヘッダーをサポートしていません。

重要

リクエスト元がプライベートバケット内のデータを取得する場合、[すべてのHTTPヘッダーを送信] を選択しないでください。 それ以外の場合、back-to-originリクエストは失敗します。

次の内容は、前のback-to-originルールが設定された後のアクセスプロセスを示しています。

  1. リクエスタは、初めてhttps://bucket-03.oss-cn-shanghai.aliyuncs.com/examplefolder/example.png?caller=lucas&production=ossにアクセスする。

  2. examplefolder/example.pngがbucket-03に存在しない場合、OSSはオブジェクトを取得するためのリクエストをhttps://bucket-04.oss-cn-shanghai.aliyuncs.com/examplefolder/example.png?caller=lucas&production=ossに送信します。

  3. bucket-04はに基づいてアクセス統計を収集しますか? caller=lucas&production=ossパラメーターをオリジンに渡し、example.pngをOSSに返します。

  4. OSSは、オブジェクトをexamplefolder/example.pngとしてbucket-03に保存します。

リクエストにheader1header2、およびheader3のHTTPヘッダーが含まれている場合、これらのヘッダーもbucket-04に転送されます。