OSS プライベートバケットで OSS 認証モードを使用できない場合は、オリジン認証方法として S3 互換モードを設定すると、プライベートバケット内のリソースに安全にアクセスできます。
概要
Alibaba Cloud OSS プライベートバケットは、back-to-origin アクセス用に 2 つの認証モード、OSS 認証モードと S3 互換モードをサポートしています。この 2 つのモードはプロトコルレベルで異なり、OSS 認証モードは Alibaba Cloud 独自の署名プロトコルを使用するのに対し、S3 互換モードは AWS S3 署名プロトコルを使用します。お使いの OSS オリジンが OSS 認証をサポートしていないリージョンにある場合や、アプリケーションで S3 互換の API エンドポイントが必要な場合は、S3 互換モードを back-to-origin 認証に使用できます。
ESA を使用して Alibaba Cloud OSS にバックツーオリジンする場合、OSS サービスはバックツーオリジントラフィックを「CDN バックツーオリジン下りトラフィック」として認識し、割引料金が適用されます。S3 互換モードを使用する場合、割引されたオリジントラフィック料金の対象にはなりません。OSS は、バックツーオリジントラフィックを「インターネット下りトラフィック」として課金します。これは CDN バックツーオリジン料金よりも高くなります。
注意: オリジン認証モードを OSS と S3 互換モードの間で切り替えると、ネットワーク全体の ESA ノードの伝播遅延 (10 秒以内) により、短時間のバックツーオリジン失敗が発生する可能性があります。ドメイン名に本番トラフィックがない場合にのみ、認証モードを切り替えることをお勧めします。
設定方法
前提条件
RAM ロールを作成し、
AliyunOSSFullAccessまたはAliyunOSSReadOnlyAccessポリシーを付与します。
操作手順
ESA コンソールで、サイト管理 を選択し、サイト 列で対象のサイトをクリックします。
左ナビゲーションペインで、DNS > レコード を選択し、レコードの追加 をクリックします。
次のパラメーターを設定します。
パラメーター
設定
説明
[レコードタイプ]
CNAMEレコードタイプとして
CNAMEを選択します。[ホストレコード]
ビジネスサブドメインのプレフィックスを入力します。
ビジネスサブドメインのプレフィックスです。
[レコード値 / オリジンサーバー]
S3 互換
レコード値のタイプとして [S3 互換] を選択します。
[back-to-origin タイプ]
プライベートアクセス
オリジンアクセス用に [プライベートアクセス] を選択します。
[オリジンアドレス]
バケットの転送高速化ドメイン名 (例:
bucket-name.oss-accelerate.aliyuncs.com) を入力します。OSS バケットに対応する転送高速化ドメイン名です。
[リージョン]
バケットが存在するリージョン (例:
cn-north-1) を選択します。OSS バケットが存在する Alibaba Cloud リージョンです。
AccessKey ID
OSS バケットへのアクセス権を持つ RAM ユーザーまたは RAM ロールの AccessKey ID を入力します。
S3 互換認証で使用される AccessKey ID です。
AccessKey Secret
AccessKey ID に対応する AccessKey Secret を入力します。
S3 互換認証で使用される AccessKey Secret です。
検証
設定が完了したら、back-to-origin アクセスが機能していることを確認します。
ブラウザを開き、
http://<business-subdomain>.<primary-domain>/<path-to-test-object>にアクセスします。プレースホルダーを実際のドメイン名と OSS バケット内のテストファイルへのパスに置き換えてください。ページが 200 ステータスコードを返し、OSS プライベートバケットのファイルコンテンツが表示されることを確認してください。
ページが 403 または 404 エラーを返す場合は、設定パラメーターと転送高速化ドメイン名が正しいことを確認してください。