ドメイン名の構成ルール
GetService API に対するリクエストを除き、OSS に対するネットワーク要求では、ドメイン名はバケット名が指定された第 3 レベルのドメイン名です。
ドメイン名はバケット名とエンドポイントから構成され、BucketName.Endpoint の形式になります。 エンドポイントはアクセスドメイン名です。 OSS では、HTTP RESTful API を介して外部サービスを提供します。 ドメイン名はリージョンごとに異なります。 また、リージョンにはインターネットエンドポイントとイントラネットエンドポイントがあります。 たとえば、中国 (杭州) リージョンのインターネットエンドポイントは oss-cn-hangzhou.aliyuncs.com で、イントラネットエンドポイントは oss-cn-hangzhou-internal.aliyuncs.com です。 詳細は、 「リージョンとエンドポイント (Regions and endpoints)」をご参照ください。
インターネットを経由した OSS へのアクセス
インターネットを経由して、いつでも OSS にアクセスできます。 インターネットでは、インバウンドトラフィック (書き込み) は無料で、アウトバウンドトラフィック (読み取り) は課金対象です。 アウトバウンドトラフィック料金の詳細は、 「OSS の価格 (OSS Pricing)」をご参照ください。
次のいずれかの方法で、インターネットを経由して OSS にアクセスできます。
-
方法1:URL を使用して OSS リソースにアクセスします。 URL の構成は、次のとおりです。
<Schema>://<Bucket>.<Internet Endpoint>/<Object>, where: Schema is HTTP or HTTPS. Bucket is your OSS storage space. Endpoint is the access domain name for the region of a bucket. Enter the Internet endpoint here. Object is a file uploaded to the OSS.
たとえば、中国 (杭州) リージョンで、"myfile/aaa.txt" という名前のオブジェクトがバケット "abc" に格納されているとします。 オブジェクトのインターネットアクセスアドレスは次のとおりです。
abc.oss-cn-hangzhou.aliyuncs.com/myfile/aaa.txt
次のように、HTML 形式でオブジェクトの URL を直接使用できます。
<img src = "https://abc.oss-cn-hangzhou.aliyuncs.com/mypng/aaa.png" />
- 方法2:OSS SDK を使用して、インターネットアクセスドメイン名を構成します。
異なるリージョンのバケットを操作するときは、異なるエンドポイントを設定する必要があります。
たとえば、中国 (杭州) リージョンでバケットを設定する前に、クラスのインスタンス化の際にエンドポイントを設定する必要があります。
String accessKeyId = "<key>"; String accessKeySecret = "<secret>"; String endpoint = "oss-cn-hangzhou.aliyuncs.com"; OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
イントラネットを介した OSS へのアクセス
イントラネットとは、Alibaba Cloud プロダクト間の内部通信ネットワークを指します。 たとえば、ECS を介して OSS にアクセスします。 イントラネットでは、インバウンドトラフィックとアウトバウンドトラフィックは無料です。 ECS インスタンスと OSS バケットが同じリージョンにある場合は、イントラネットを使用して OSS にアクセスすることを推奨します。
次のいずれかの方法で、イントラネットを経由して OSS にアクセスできます。
- 方法1:URL を使用して OSS リソースにアクセスします。 URL の構成は、次のとおりです。
<Schema>://<Bucket>. <IntranetEndpoint>/<Object>, where: Schema is HTTP or HTTPS. Bucket is your OSS storage space. Endpoint is the access domain name for the region of a bucket. Enter the intranet endpoint here. Object is a file uploaded to the OSS.
たとえば、中国 (杭州) リージョンで、"myfile/aaa.txt" という名前のオブジェクトがバケット "abc" に格納されているとします。 オブジェクトのイントラネットアクセスアドレスは次のとおりです。abc.oss-cn-hangzhou-internal.aliyuncs.com/myfile/aaa.txt
- 方法2:ECS 上の OSS SDK を使用して、イントラネットアクセスドメイン名を構成します。
たとえば、ECS 上の Java SDK の場合、 次のようにイントラネットエンドポイントを設定します。
String accessKeyId = "<key>"; String accessKeySecret = "<secret>"; String endpoint = "oss-cn-hangzhou-internal.aliyuncs.com"; OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
注 イントラネットを経由して OSS にアクセスする場合は、ECS インスタンスと OSSバ ケットが同じリージョンにある必要があります。たとえば、中国 (北京) の ECS インスタンスを購入し、2 つの OSS バケットがあるとします。
-
1 つのバケットは "beijingres" で、そのリージョンは中国 (北京) です。 ECS インスタンスでイントラネットアドレス
beijingres.oss-cn-beijing-internal.aliyuncs.com
を使用すると、"beijingres" リソースにアクセスできます。このとき生成されるトラフィックは無料です。 -
もう 1 つのバケットは "qingdaores" で、リージョンは中国 (青島) です。 ECS インスタンスでイントラネットアドレス
qingdaores.oss-cn-qingdao-internal.aliyuncs.com
を使用しても "qingdaores" リソースにはアクセスできません。 "qingdaores" リソースにアクセスするには、インターネットアドレスqingdaores.oss-cn-qingdao.aliyuncs.com
を使用します。このときに生成されるアウトバウンドトラフィックは、課金対象です。
-