Aucun ciblage disponible lorsque vous tentez de définir une cible d'alias de la Route 53 à la S3

J'essaie d'installer un simple site Web basé sur Amazon AWS S3, comme expliqué ici .

J'ai configuré le seau S3 (simples3websitetest.com), lui a donné les permissions (espérons-le) correctes:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::simples3websitetest.com/*" ] } ] } 

J'ai téléchargé index.html, configuré l'access au site Web, et il est accessible via http://simples3websitetest.com.s3-website-us-west-2.amazonaws.com/index.html

Jusqu'à présent, bon, maintenant je veux configurer l'access Amazon Route53 et c'est là que je me suis coincé.

J'ai configuré une zone hébergée sur un domaine que je possède (resourcesbox.net) et j'ai cliqué sur "créer un set d'loggings", et je suis arrivé à l'étape "alias de configuration", mais je reçois "Aucun ciblage disponible" sous les points d'extrémité du site S3 lorsque je essayez de définir la cible d'alias.

Qu'est-ce que j'ai raté??

    L'alias d'logging A que vous créez doit être le même que le nom du seau, car l'hébergement virtuel de seaux dans S3 exige que l' Host: tête envoyé par le browser correspond au nom du seau. Il n'y a pas vraiment une autre manière pratique dans laquelle l'hébergement virtuel de seaux pourrait être accompli … le mécanisme de déconnection doit être identifié par un mécanisme, et ce mécanisme est l'en-tête HTTP.

    Afin de créer un alias à un seau dans le domaine "example.com", le nom du seau doit également être un nom d'hôte que vous pouvez déclarer juridiquement dans ce domaine … The Route 53 A-Record "testbucket.example .com ", par exemple, ne peut être alias qu'un seau appelé" testbucket.example.com "… et aucun autre seau.

    Dans votre question, vous êtes en train de briser cette contrainte … mais vous ne pouvez créer qu'un alias sur un seau nommé "simples3websitetest.com" à l'intérieur de (et au sumt de) le domaine "simples3websitetest.com".

    C'est par design, et pas exactement une limitation de la Route 53 ni de S3. Ils ne vous empêchent que de faire quelque chose qui ne peut pas fonctionner. Les servers Web ne connaissent aucun aliasing ou CNAME ou tout autre chose dans le DNS: ils ne reçoivent que le nom d'hôte original sur lequel le browser croit qu'il essaie de se connecter, dans les en-têtes HTTP envoyés par le browser … et S3 utilise ceci des informations pour identifier le nom du seau auquel s'applique la request hébergée virtuelle.

    Amazon S3 exige que vous donniez à votre seau le même nom que votre domaine. Pour que Amazon S3 puisse résoudre correctement les en-têtes d'hôte envoyés par les browsers Web lorsqu'un user request du contenu à partir de votre site Web. Par conséquent, nous vous recommandons de créer vos godets pour votre site Web dans Amazon S3 avant de payer pour save votre nom de domaine.

    http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-bucket.html#bucket-requirements

    Notez toutefois que cette ressortingction s'applique uniquement lorsque vous n'utilisez pas CloudFront devant votre seau.

    Avec CloudFront, il y a plus de flexibilité, car l' Host: tête peut être réécrit (par CloudFront lui-même) avant que la requête ne soit transmise à S3. Vous configurez le "hôte d'origine" dans votre dissortingbution CloudFront comme your-bucket.s3-website-xx-yyyy-n.amazonaws.com où xx-yyyy-n est la région AWS de S3 où votre seau a été créé. Ce point d'extrémité est affiché dans la console S3 pour chaque seau.