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

Object Storage Service:OSSの内部エンドポイントを使用したECSインスタンスからのOSSリソースへのアクセス

最終更新日:Mar 12, 2024

OSSの内部エンドポイントを使用してObject Storage Service (OSS) リソースにアクセスする場合、生成されたトラフィックに対して料金はかかりません。 このトピックでは、ECS (Elastic Compute Service) インスタンスがOSSの内部エンドポイントを使用してOSSリソースにアクセスする方法について説明します。

ECSインスタンスは、次の方法を使用して、OSSの内部エンドポイントを使用してOSSリソースにアクセスできます。

  • OSSバケットと同じリージョン内にデプロイされたECSインスタンスは、内部エンドポイントを使用して、ECSインスタンスがアクセスを許可されているバケット内のリソースにアクセスできます。

  • バケットおよびインターネットユーザーと同じリージョンにないECSインスタンスは、ECSリバースプロキシを使用して、OSSの内部エンドポイントを使用してOSSリソースにアクセスできます。

バケットの内部エンドポイントの取得

  • OSS コンソールの使用

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

    2. 左側のナビゲーションウィンドウで、[バケット] をクリックします。 [バケット] ページで、内部エンドポイントを取得するバケットの名前をクリックします。

    3. 左側のナビゲーションツリーで、概要 をクリックします。

    4. ポート セクションで、バケットのエンドポイントとドメイン名を表示します。访问端口

  • 固定フォーマットに従う

    OSSバケットドメイン名の形式は、BucketName.Endpointです。ここで、BucketNameはバケットの名前、Endpointはバケットが配置されているリージョンのエンドポイントです。 詳細は、「OSSドメイン名」をご参照ください。

同じリージョン内のECSインスタンスからのアクセス

OSSバケットと同じリージョン内にデプロイされたECSインスタンスは、内部ネットワークを使用してバケット内のリソースにアクセスできます。

  • URLの使用

    OSSリソースへのアクセス権限を持つOSSリソースの内部URLを使用できます。 たとえば、testという名前のバケットは中国 (杭州) リージョンにあります。 バケットには、バケットのルートディレクトリに1.jpgという名前のオブジェクトが含まれており、オブジェクトのアクセス制御リスト (ACL) はパブリック読み取りです。 この場合、中国 (杭州) リージョンのすべてのECSインスタンスは、http://test.oss-cn-hangzhou-internal.aliyuncs.com/1.jpgを使用してオブジェクトにアクセスできます。 オブジェクトのURLをWebサイトに埋め込み、同じリージョン内のECSユーザー、または専用回線を使用して内部ネットワークに接続したユーザーにURLを提供できます。

    警告

    データのセキュリティを確保するため、OSSリソースのアクセス制御リスト (ACL) をpublic-readまたはpublic-read-writeに設定しないことを推奨します。 バケットポリシーを使用して、他のユーザーが自分の OSS リソースにアクセスすることを許可できます。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。

  • ossbrowser の使用

    ossbrowserを使用してOSSリソースへのアクセス用のパラメーターを設定する場合、EndpointをOSSの内部エンドポイントに設定します。 詳細については、「ossbrowserの使用」をご参照ください。

  • ossutil の使用

    ossutilを使用してOSSリソースへのアクセス用のパラメーターを設定する場合、EndpointをOSSの内部エンドポイントに設定します。 詳細については、「ossutil」をご参照ください。

  • SDK の使用

    クライアントインスタンスを初期化するときは、エンドポイントをOSSの内部エンドポイントに設定します。

    • OSS SDK for Java

      String endpoint = "http://oss-cn-hangzhou-internal.aliyuncs.com";// この例では、中国 (杭州) リージョンのエンドポイントが使用されます。
      文字列accessKeyId = "<yourAccessKeyId>";
      文字列accessKeySecret = "<yourAccessKeySecret>";
      OSSClient client = new OSSClient (エンドポイント、accessKeyId、accessKeySecret); 

      詳細については、「初期化」をご参照ください。

    • OSS SDK for PHP

      $accessKeyId = "<yourAccessKeyId>";
      $accessKeySecret = "<yourAccessKeySecret>";
      $end point = "<エンドポイント。 例: http://oss-cn-hangzhou-internal.aliyuncs.com>"; 

      詳細については、「初期化」をご参照ください。

    • Python用OSS SDK

      auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
      endpoint = 'http:// oss-cn-hangzhou-internal.aliyuncs.com '# リージョンのエンドポイント。 この例では、中国 (杭州) リージョンが使用されています。
      bucket = oss2.Bucket(auth、endpoint、'BucketName') 

      詳細については、「初期化」をご参照ください。

    • OSS SDK for。NET

      const文字列accessKeyId = "<yourAccessKeyId>";
      const文字列accessKeySecret = "<yourAccessKeySecret>";
      const文字列endpoint = "http://oss-cn-hangzhou-internal.aliyuncs.com";
      var ossClient = new OssClient (エンドポイント、accessKeyId、accessKeySecret); 

      詳細については、「初期化」をご参照ください。

    • OSS SDK for C

      options->config = oss_config_create(options->pool);
      aos_str_set(&options->config-> エンドポイント、"http://oss-cn-hangzhou-internal.aliyuncs.com");
      aos_str_set(&options->config->access_key_id, "<yourAccessKeyId>");
      aos_str_set(&options->config->access_key_secret, "<yourAccessKeySecret>");
      オプション->config->is_cname = 0;
      options->ctl = aos_http_controller_create(options->pool, 0); 

      詳細については、「初期化」をご参照ください。

ECSインスタンスにリバースプロキシを設定してOSSリソースにアクセスする

異なるリージョンのECSインスタンスまたはインターネットユーザーは、バケットの内部エンドポイントを使用してバケット内のOSSリソースに直接アクセスすることはできません。 ただし、バケット内のOSSリソースにアクセスするようにECSインスタンスにリバースプロキシを設定できます。

  1. バケットと同じリージョンにパブリックIPアドレスを持つECSインスタンスを作成します。 詳細は、「ECS インスタンスの作成」をご参照ください。

  2. ECSインスタンスにリバースプロキシを設定します。 詳細については、「CentOSを実行するECSインスタンスを使用してOSSへのアクセスのためのリバースプロキシを設定する」、「Ubuntuを実行するECSインスタンスを使用してOSSへのアクセスのためのリバースプロキシを設定する」、「Windowsを実行するECSインスタンスを使用してOSSへのアクセスのためのリバースプロキシを設定する」をご参照ください。

  3. ECSインスタンスの内部IPアドレスからのアクセスを許可するようにバケットポリシーを設定します。 詳細については、「他のユーザーにOSSリソースへのアクセスを許可するバケットポリシーの設定」をご参照ください。

上記の手順を完了すると、ユーザーはECSインスタンスのパブリックIPアドレスを使用してOSSリソースにアクセスできます。 次に、ECSインスタンスは内部ネットワーク経由でOSSリソースを要求し、OSSリソースをユーザーに返します。