web-dev-qa-db-ja.com

CNAMEからs3バケットアマゾン

Amazon.comのs3バケットへの直接URLではなく、サブドメインを使用したいのですが。したがって、http://bucket-images.s3-eu-west-1.amazonaws.com/path/to/image.pngなどのURLを介して画像をダウンロードする代わりに、http://assets.domain.com/path/to/image.pngを使用したいと思います。私はこのようにCNAMEを設定しようとしました:

CNAME   assets   domain.com    bucket-images.s3-eu-west-1.amazonaws.com

しかし、このCNAMEを設定した後、ドメインにアクセスすると、Amazonからそのようなエラーを受け取ります。

<Error>
    <Code>NoSuchBucket</Code>
    <Message>The specified bucket does not exist</Message>
    <BucketName>assets.domain.com</BucketName>
    <RequestId>45646DFSDFSFASDF</RequestId>
    <HostId>
        dfasdcvcvd546456454ds5fasdf4ad5f64asdfasdfccdfgvggtg
    </HostId>
</Error>

ここで彼らはバケット名を変更するよう指示しています: https://forums.aws.Amazon.com/message.jspa?messageID=237562 しかし、それは意味がありません。私は以前サブプロジェクトとはまったく異なるバケット名を使用するプロジェクトに取り組みました。だから、方法がなければなりません...私を助けることができる人は誰ですか?

15
Erik van de Ven

S3の場合、CNAMEとバケット名が一致する必要があります。

バケット名はCNAMEと同じである必要があります。したがって http://images.johnsmith.net/filenamehttp://images.johnsmith.net.s3.amazonaws.com/filename と同じですCNAMEは、images.johnsmith.netをimages.johnsmith.net.s3.amazonaws.comにマップするために作成されました

したがって、具体的な例では、バケットにassets.domain.com

http://docs.aws.Amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingCustomURLs

さらに柔軟性が必要な場合は、S3バケットのCloudFrontディストリビューションを作成し、CloudFrontディストリビューションにCNAMEを割り当てることができます。

http://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

22
Samuel Neff

@Samuel Neffの情報に追加:

AWS S3バケットには、Cloudflare CNAMEレコードと同じ名前を付けてください。そうしないと機能しません。

ここで私は試し、私のために働きました:

https://s3-eu-west-2.amazonaws.com/cdn.domain.comhttp://cdn.domain.com に変換

1
Sinan Eldem