私は小さなwebapp(すべてクライアント側)で作業しています。AmazonS3でホストしたいです。私はこれについていくつかのガイドを見つけ、自分のバケット(ドメインと同じ名前)を作成し、それをWebサイトとして設定し、コンテンツをアップロードすることに成功しました。
私が苦労している場所、およびすべてのドキュメントが少し曖昧になり始めた場所は、DNSを適切に構成する方法です。
私のレジストラ( 123-reg )は、mydomain.com.s3.amazonaws.comを提供するWeb転送のみを示唆していました。
何を設定する必要があり、どこ(つまり、123-reg/Amazon)でクリーンなURLを取得できますか?
ほとんどの作業はすでに完了しているようです。わかりやすくするために、適切にセットアップされていることを確認するために、これらの手順をもう一度説明します。
ドメイン名をバケット名として使用してs3バケットを作成します(サイトをexample.comまたはwww.example.comにするには、バケット名をwww.example.comにする必要があります)
コンテンツをs3バケットにアップロードします。 Webサイトのインデックスファイルには一貫した名前を選択してください(通常、index.html)。 404 Not Foundエラーのカスタムページをアップロードすることもできます。これを404.htmlと呼びます。 Webサイト内のすべてのファイルに読み取り権限を付与して、一般の人が閲覧できるようにします。バケットに追加の許可を与えないでください。その中のファイルだけを許可してください。
バケットをウェブサイトとして設定します。 AWSコンソール( https://console.aws.Amazon.com/s3/ )を使用して、バケットを選択し、プロパティをクリックして、[ウェブサイト]タブを選択できます。 [有効]をクリックして、インデックスドキュメントを「index.html」に設定し、エラードキュメントを「404.html」に設定します。また、ウェブを介したアクセスを許可するには、バケットにアクセス許可を設定する必要があります( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
Webサイト設定タブの「エンドポイント」URLに注意してください。これはあなたのウェブサイトが存在する場所です。新しいウィンドウでリンクを開くと、見た目どおりのWebサイトが表示されます。クリックして、すべてが期待どおりに機能することを確認します。
以下のすべてのステップでエンドポイントアドレスを使用する必要があります。通常のwww.example.com.s3.amazonaws.comは機能しません-地域バージョンを使用する必要があります( http://www.example.com.s3-website-us-east-1。 amazonaws.com/ )
これで、クリーンでカスタムURLを提供するようにDNSをセットアップできます。
まず、www.example.comをサイトにマッピングします。
DNSプロバイダーのツール(この場合は123-reg)を使用して、CNAMEレコードを作成してwww.example.comをwww.example.com.s3-website-us-east-1.amazonaws.comにマッピングする必要があります
Www.example.comが必要な場合は、CNAMEのみが必要です。また、ほとんどの人は「example.com」が機能することを望んでいるため、別のステップが必要です。
example.comは、多くの場合、ネイキッドドメインまたはドメインの頂点レコードと呼ばれます。それが問題である理由は、それがCNAMEになれないことです。 CNAMEは、「www」などのサブドメインでのみ機能します。これにより、s3を指すのがより難しくなります。
通常のアプローチは、サービスを使用して、example.comへのリクエストをwww.example.comを指すように自動的にリダイレクトすることです。これにより、CNAMEレコードが取得され、s3からサイトが提供されます。
古いプレーンDNSでは自動リダイレクトができないため、別のサービスを使用する必要があります。一部のDNSプロバイダーは、DNSとともにこのサービスを提供しています(godaddyは提供していますが、Amazon route53は提供していません。123-regについてはわかりません)
DNSプロバイダーがそれを行わない場合、無料のサービスがいくつかあります。私が使用したのは http://wwwizer.com/naked-domain-redirect -登録や支払いを必要としません。
このタイプのサービスを使用するには、ネイキッドドメインのDNS「A」レコードを作成する必要があります。 wwwizer.comサービスの場合、example.comを174.129.25.170にポイントするAレコードを作成する必要があります。それで全部です!
したがって、この設定では、ユーザーがブラウザにexample.comを入力すると、次のようになります。
楽しい!
バケット内のすべてのドキュメントを選択して右クリックし、[公開]を選択する必要があると思います。バケット内で何かが変更されるたびに、これを行う必要があります。次に、通常、バケットを右クリックし、プロパティを選択し、右側のペインで権限を選択し、「全員を「付与者」として追加し、「リスト」権限のみを付与します。記事の残りの部分は優れています。 「静的ウェブサイトホスティング」でS3内のネイキッドドメインをwwwドメインにリダイレクトすることもできます。おそらく最も簡単な方法です。
ティム
123-regコントロールパネルの[詳細DNS]画面から
これにより、次のことがわかりました。
DNS EntryType PriorityTTLDestination/Target
* A 81.xx.xx.xx
@ A 81.xx.xx.xx
@ MX 10 xx0.123-reg.co.uk
@ MX 20 xx1.123-reg.co.uk
www CNAME www.example.com.s3-website-us-east-1.amazonaws.com
Manage DNS guide pdf から、「@レコード」は「サブドメインのない最も純粋な形式のドメイン」、つまりネイキッドドメインstackoverflow.com
しかし、「*レコード」が何であるかについては言及していません。すべてのサブドメインをキャッチすることになると想定し、CNAMEレコードを上書きする可能性があると考えましたが、これは当てはまりません。