web-dev-qa-db-fra.com

comment nommer un sous-domaine pour un compartiment s3?

Bonjour,

J'utilise le compartiment Amazon s3 comme serveur d'images. Et je veux utiliser un sous-domaine de mon site, comment adresser ce bucket. par exemple: une image est maintenant dans: https://s3-sa-east-1.amazonaws.com/nomeBucket/pasta/imag.png , et j'y accède via ce même lien.

Serait-ce ainsi: imagens.mydomain.com.br/folder/imag.png Existe-t-il un moyen de le faire? nommer une adresse de sous-domaine à un compartiment? J'ai essayé la route 53 d'Amazon, comme CNAME. J'ai essayé ceci: https://s3-sa-east-1.amazonaws.com/nomeBucket/

J'ai passé le test hier, mais apparemment cela n'a pas fonctionné. Quelqu'un a déjà fait quelque chose de similaire et/ou sait comment m'aider?

Remarque: j'utilise nginx. devez également le configurer pour le sous-domaine?

Je vous remercie

26
samuel_R

Vous devez renommer votre compartiment pour qu'il corresponde au nom de domaine personnalisé (par exemple imagens.mydomain.com.br) et configurer ce domaine en tant que CNAME pour

<bucket-name>.s3.amazonaws.com.

(dans ton cas imagens.mydomain.com.br.s3.amazonaws.com.

Les instructions complètes sont disponibles ici:

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

36
dcro

Je vais m'appuyer sur les autres réponses ici pour être complet.

J'ai déplacé mon compartiment vers un sous-domaine afin que le contenu puisse être mis en cache par Cloudflare.

  • Ancien nom du compartiment S3: enchères automatiques
  • Nouveau nom de compartiment S3: img.autoauctions.io
  • Enregistrement CNAME: img.autoauctions.io.s3.amazonaws.com

Vous devez maintenant copier tous vos objets car vous ne pouvez pas renommer un compartiment. Voici comment procéder avec AWS CLI:

pip install awscli
aws configure

Vous allez maintenant copier votre ancien contenu de compartiment dans votre nouveau compartiment.

aws s3 sync s3://autoauctions s3://img.autoauctions.io

J'ai trouvé que c'était trop lent pour les 1 To d'images que je devais copier, j'ai donc augmenté le nombre de connexions simultanées et relancé à partir d'une instance EC2.

aws configure set default.s3.max_concurrent_requests 400

Synchronisez-le!


Vous souhaitez rendre publics les dossiers de votre compartiment? Créez une stratégie de compartiment comme celle-ci:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::img.autoauctions.io/copart/*"
        },
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::img.autoauctions.io/iaai/*"
        }
    ]
}

Et maintenant l'image se charge de img.autoauctions.io via le cache de Cloudflare.

J'espère que cela aide certaines personnes!

0
Nick Woodhams

Mise à jour 2019: hébergement AWS SUBDOMAIN dans S3

À partir d'aujourd'hui, les étapes suivantes ont fonctionné pour que le sous-domaine fonctionne correctement pour le site Web statique hébergé par AWS S3:

  1. Créez un compartiment avec un nom de sous-domaine. Dans cet exemple, www. subtest . Mysite.com

aws bucket

Remarque: assurez-vous sur l'onglet "Autorisation" du compartiment:

1.Bloquer l'accès public (paramètres de compartiment) 2.Liste de contrôle d'accès et 3.La stratégie de compartiment est correctement définie pour s'assurer que le compartiment est public. (En supposant que vous l'ayez déjà fait pour votre compartiment de domaine racine, ces paramètres peuvent être mis en miroir sur ce compartiment de sous-domaine)

S3 bucket permissions

  1. Téléchargez le fichier index.html dans le compartiment

index aws bucket

  1. Créez un enregistrement CNAME avec votre fournisseur de domaine CNAME record in namecheap
0
zennni