2014-04-02 6 views
5

Ich versuche, eine einfache statische Website von meinem AWS-Konto mit S3 zu hosten. Ich hatte einen alten staubigen Account mit vielen seltsamen Einstellungen von Tests im Laufe der Jahre, ich hatte auch einen S3-Account mit einem "mypersonaldomain.com" und "www.mypersonaldomain.com" Bucket. Wie auch immer, ich wollte neu anfangen, also habe ich den Account abgesagt um neu zu starten.S3 Static Website Hosting, wenn Bucketname genommen wird?

Nun, wenn ich gehe ein ‚mypersonaldomain.com‘ und ‚www.mypersonaldomain.com‘ es sagt der Bucket-Name selbst genommen zu schaffen, obwohl das Konto vor einiger Zeit gelöscht. Ich hatte angenommen, dass Amazon den Bucketnamen an die Öffentlichkeit zurückgeben würde. Wenn ich jedoch das Konto löschte, löschte ich die Buckets nicht explizit zuvor.

Ich habe den Eindruck, S3 für statische Website-Hosting verwenden die Bucket-Namen müssen die Domain-Namen für die DNS zu arbeiten. Wenn ich jedoch keinen Bucket mit dem richtigen Namen erstellen kann, kann ich trotzdem S3 für das statische Hosting verwenden? Es ist nur eine einfache Website mit wenig Verkehr, die nicht in einer EC2-Instanz sein muss.

FYI Ich benutze Route 53 für meine DNS.

[Anmerkung ‚mypersonldomain.com‘ ist nicht der tatsächliche Domain-Name]

Antwort

5

Meiner Meinung nach ist dies ein enormer Designfehler in der Art und Weise ist, dass S3 erfordert, dass die Eimer Namen für alle Benutzer universell eindeutig sind.

Ich könnte zum Beispiel Eimer für jeden bekannten Firmennamen (vorausgesetzt, sie wurden nicht genommen) und dann die legitimen Benutzer dieser Domänen blockiert werden, sie für den Zweck der Erstellung einer statischen s3-Website zu verwenden, wenn sie wollten es immer.

Ich habe nie gemocht diese Anforderung, die Namen s3 Eimer für alle Benutzer eindeutig sein - eine große Design-Fehler (die ich bin sicher, einen berechtigten Grund hat, als sie zuerst entworfen), aber kann mir nicht vorstellen, dass, wenn AWS konnte gehen Sie zurück zum Zeichenbrett auf diesem, dass sie es jetzt nicht überdenken würden.

In Ihrem Fall, mit einem Konto löschen, ist es wahrscheinlich wert, eine Notiz an s3 Tech-Support fallen - sie können in der Lage sein, Ihnen sehr leicht zu helfen.

+0

Ja, ich dachte genau die gleiche Sache in Bezug auf ruchlose Anwendungsfälle. Ich schätze, ich werde AWS eine Nachricht senden. –

+4

Ist irgendetwas herausgekommen (Kontakt zum AWS-Team)? Ich habe mich auch gefragt: Die Kombination von "der Bucket-Name muss mit dem Domain-Namen übereinstimmen" + jemand anderes hätte Ihre Domain packen können, ist definitiv ein Problem. Weil anders als diese Quibbles, ist S3 ideal für statische Hosting! – vijucat

+2

Dies ist ein Problem für mich jetzt. Ich besitze einen Domain-Namen, aber jemand hat bereits Buckets dafür erstellt: ((In meinem Fall verwende ich CloudFront, damit die Apex-Adresse funktioniert, aber ich kann keine WWW-Weiterleitung einrichten. Nicht glücklich. –

8

Eine Möglichkeit, Ihr Problem zu lösen wäre Ihre Website auf S3 zu speichern, aber es durch Cloudfront dienen:

  1. Sie einen Eimer auf S3 erstellen mit welchem ​​Namen Sie (keine Notwendigkeit, den Eimer zusammenzubringen Name für Ihren Domain-Namen).
  2. Sie erstellen eine Verteilung auf CloudFront.
  3. Sie fügen einen Ursprung zu Ihrer Verteilung hinzu, die auf Ihren Eimer zeigt.
  4. Sie geben die Standardeinstellung Verhalten Ihrer Distribution an, um Inhalte aus dem Ursprung zu übernehmen, der im vorherigen Schritt erstellt wurde.
  5. Sie Ihre Vertriebseinstellungen ändern, um es zu Ihrem Domain-Namen zu machen zu reagieren, durch Hinzufügen eines CNAME
  6. Sie erstellen eine Hosting-Zone auf der Route 53 und ALIAS Einträge erstellen, um Ihre Verteilung zeigt.

Das sollte funktionieren.Dadurch haben Sie den zusätzlichen Vorteil, die Leistung Ihrer Endbenutzer möglicherweise zu verbessern.

Beachten Sie auch, dass CloudFront vor ein paar Monaten in den Free Tier (http://aws.amazon.com/free) aufgenommen wurde.

+0

hätte ich nie gedacht that, thanks! –

+0

Das ist eine gültige Lösung, die auch im Kurs der Linux Academy CSA demonstriert wird: Sehr albern, dass ein Workaround sogar imho! – seeafish

1

Ich fand endlich eine Lösung, die für mich funktionierte. Für meinen Apex-Domain-Namen verwende ich CloudFront, was kein Problem ist, dass jemand bereits meinen Bucket-Namen hat. Das Problem war die WWW-Weiterleitung. Ich brauchte einen Server, um die URL neu zu schreiben und eine permanente Umleitung zu erstellen. Da ich Elastic Beanstalk für meine API verwende, nutze ich Nginx, um die Weiterleitung zu erreichen. Sie können alle Details zu meinem Beitrag hier lesen: http://brettmathe.com/aws/aws-apex-redirect-using-elastic-beanstalk/

Verwandte Themen