7
votes

Déplacer des fichiers sur Amazon S3 tout en gardant des URL

Je suis dans un peu de cornichon ici. J'ai actuellement un site Web organisé dans un environnement d'hébergement partagé par un fournisseur d'hébergement tiers. En tant que tel, je n'ai pas accès à la racine au serveur IIS que ce site est activé.

J'ai actuellement un répertoire sur le site, tel que:

mysite.com/myfiles

Le répertoire "myFiles" a actuellement beaucoup de fichiers dedans. Tant de fichiers qui me mettent sur l'allotissement de l'espace disque chez mon hôte. Il y a quelques choses à prendre en compte:

  1. L'hôte n'a pas de plan plus généreux pour nous de passer à. Ils ne sont disposés que de nous facturer (très hautes) frais de surmédiage.

  2. Nous devons rester avec cet hôte jusqu'à la fin de notre contrat avec eux, ce qui est presque un an.

    Je voudrais prendre le contenu de ce répertoire et le mettre sur Amazon S3, ce qui soulagerait la souche Space de disque sur le compte d'hébergement. Le seul problème est que l'URL concerne les dossiers de rester les mêmes!

    Donc, par exemple, si un site Web externe se lie vers mysite.com/myfiles/image.jpg, je souhaite que l'image sur ce site continue à fonctionner sans attelage.

    Y a-t-il un moyen possible d'y parvenir?


0 commentaires

4 Réponses :


0
votes

Vous pouvez trouver des informations sur ce dont vous avez besoin en regardant via le virtuel Hébergement de godets Documentation pour Amazon S3. Vous pouvez personnaliser le nom d'hôte qui sera utilisé pour accéder à vos fichiers S3, ce qui peut aider à faire ce que vous devez faire.


0 commentaires

10
votes

Je recommanderais de créer un godet S3 (et peut-être une distribution de CloudFront qui se trouve sur elle), remplie d'une disposition de dossier qui correspondrait à votre site existant (pour la migration future). Ensuite, créez une entrée CNAME dans votre DNS pour donner votre godets / distribution un nom convivial (par exemple s3.my.domain ).

Ajoutez ensuite une uRL Repeter à votre site existant qui transfère les demandes de http: //my.domain/myfiles/xxx à l'URL S3 correspondant, par exemple. ` http: //s3.my.domain/myfiles/xxx '.

Lorsque votre contrat d'hébergement est terminé, modifiez DNS pour pointer votre racine et votre www entrées sur le godet / distribution ou un autre hôte au besoin.

Je suis actuellement en train d'utiliser CloudFront sur le contenu statique de cache géographiquement pour l'une de mes entreprises et cela fonctionne bien; zéro temps d'arrêt jusqu'à présent ( ~ 6 plus de 12 mois).


juin 2010: Cloudfront a été excellent, beaucoup moins cher que l'arrangement d'hébergement précédent. Nous servons actuellement environ 2,5 millions de demandes par mois (~ 750 Go) pour seulement 120 USD.


0 commentaires

0
votes

Première question: Pourquoi est-il important pour les sites tiers d'avoir des URL ininterrompues sur votre site? Vous paient-ils pour le contenu? S'ils ne vous paient pas pour le contenu, y a-t-il des avantages que vous vous en donnez du contenu gratuitement? C'est une décision d'affaires, et vous arriverez peut-être à la conclusion que cela mérite de payer les frais de suragrance pour fournir ce contenu.

Deuxième question: combien d'URL sont réellement liées à partir de sites tiers? Vous pouvez prendre le temps de conserver ces URL disponibles et de passer tout le reste à l'hébergement S3. Un requête Google "Link:" peut aider à répondre à cela.

Ainsi, aux solutions: la première solution fonctionne si vous avez la possibilité de créer 301 redirections. Définissez simplement une redirection pour chaque URL que vous souhaitez déplacer.

Deuxième solution est un proxy inverse, dans lequel les URL sur mySite.com sont mappées sur mySite.s3.amazon.com. Je ne suis pas sûr que c'est vraiment une bonne solution; Vous allez payer pour la bande passante pour proxy les fichiers. De plus, si vous avez la possibilité de configurer un proxy inverse, vous avez la possibilité de créer 301 redirections.

Troisième solution: Déplacez votre site en masse et avez la carte de nom de domaine à S3 (via CName Cartographie). Oui, vous finissez par payer pour un service d'hébergement que vous n'utilisez plus. Et si vous utilisez du contenu dynamique, cela ne fonctionnera pas (mais vous payez peut-être que vous payez les 30 $ / mois pour S3).

et enfin, pas une solution, mais un chemin en avant: utilisez un nom de domaine distinct pour un contenu statique supplémentaire. Ce nom de domaine peut être mappé via CNAME à un godet Amazon.


1 commentaires

Il est important que les sites tiers aient une URL ininterrompue sur le site car il existe un certain nombre de sites qui sont liés à notre site, ainsi que des images réelles intégrées à leurs sites (avec notre permission) qui demandent l'image réelle de notre serveur. Nous voulons maintenir ces liens et empêcher ces images de se casser. Pourquoi? Être attentionné, je suppose. La réponse à la deuxième question est que nous n'avons aucun moyen de savoir où sont exactement toutes ces URL externes. Je ne suis pas satisfait de la portée ou de la précision du "lien" de Google ".



0
votes

Déplacez les fichiers et configurez un gestionnaire 404 sur le répertoire. Le gestionnaire 404 peut rediriger le client avec un statut de 301 ou 302 à l'URL S3 de manière transparente. Les autres recommandations à utiliser la réécriture de l'URL ne fonctionneront probablement pas pour aucun fichier non ASPX puisque vous êtes sur un fournisseur d'hébergement partagé et ne prenez généralement pas la prise en charge des mappages Wildcard ASP.NET.


0 commentaires