Für viele Selbstständige, die gerade ins Business einsteigen und das Verlangen nach einer einfachen Internetpräsenz haben, als auch für diejenigen die jegliche Inhalte auf einer Webseite präsentieren möchten, kann eine statische Webseite ein guter Anfang sein. In diesem Blogeintrag möchte ich näherbringen wie einfach, kostengünstig und schnell solch eine statische Website mittels Amazon Web Services erstellt werden kann.
Die statische Webseite kann mit nur einem einzigen AWS Service erstellt werden. Der AWS Simple Storage Service (auch S3 genannt) ist ein Service um Datenspeicher bereitzustellen und bietet hierbei die Möglichkeit mit einer html-Datei eine statische Webseite zu hosten. Wir nehmen uns den AWS internen DNS Service genannt Route 53 hinzu. Mit diesem DNS Service können wir zusätzlich eine Domäne registrieren und so konfigurieren, dass unsere Webseite über eine von uns definierte URL abrufbar ist. Folgende Abbildung soll die Konfiguration veranschaulichen:
Bevor wir mit der Einrichtung starten muss die zu reservierende Domäne vorher bekannt sein. In diesem Blog werde ich beispielhaft die Domäne demo.com verwenden. Des Weiteren sollte zuvor geprüft werden, ob die Domäne und der S3 Bucketname schon vergeben sind. Der S3 Bucketname muss hierbei dem Domain-Namen entsprechen. Das wäre dann ebenso demo.com. Sind Domain- und S3 Bucketname frei, so können wir mit der Einrichtung starten.
Hierzu wechselt man in den Route 53 Service und wählt unter Registrierte Domänen -> Domäne registrieren die gewünschte Domäne aus die registriert werden soll. Für die Registrierung müssen zusätzlich einige Informationen zum Eigentümer der Domäne hinterlassen werden. Der ganze Prozess bis die Domäne schlussendlich registriert ist dauert nur wenige Minuten.
Mit dem S3 Service erstellt man das Bucket in dem die Files der Webseite abgelegt werden. Der Name des S3 Buckets muss zwingend mit dem Domänennamen identisch sein. In diesem Beispiel heißt das Bucket demo.com.
Unter den Eigenschaften des Buckets kann hier das „Hosten einer statischen Website“ aktiviert werden. Dabei legt man den Namen der html-Datei fest, die als Homepage fungiert. Der Name des Error-dokuments referenziert auf die html-Datei die einen gewissen Inhalt wiedergeben soll, falls die Webseite mal nicht erreichbar sein sollte.
Der Zugang zu den Files muss zudem öffentlich konfiguriert sein, damit der Inhalt der Webseite aufgerufen werden kann. Hierzu richten wir einen Read-Only Zugang ein:
Unter den Berechtigungen muss vorerst die Option „Blockieren jeglichen öffentlichen Zugriffs“ unter „Öffentlichen Zugriff blockieren“ ausgeschaltet werden.
Des Weiteren stellen wir die Bucket-Richtlinie so ein, dass jeder den Inhalt lesen darf. Mit folgender Richtlinie ist dies möglich:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"PublicReadGetObject",
"Effect":"Allow",
"Principal":"*",
"Action":[
"s3:GetObject"
],
"Resource":[
"arn:aws:s3::: S3Bucketname/*"
]
}
]
}
Schlussendlich können nun die Dateien der Webseite in das S3 Bucket hochgeladen werden. Das Ganze kann jedoch auch kurz mit einer html-Datei mit folgendem Inhalt getestet werden:
Now hosted on Amazon S3!