De public cloud is een veelvoorkomende keuze voor moderne websites en apps boven private hosting. Dit komt door factoren als kosteneffectiviteit en schaalbaarheid.
Een statische website toont vooraf gemaakte HTML-, CSS- en JavaScript-bestanden op een server. Het verschilt van een dynamische website die inhoud genereert op basis van gebruikersacties of voorkeuren.
Cloudplatforms maken het hosten van statische websites eenvoudig en goedkoop. U kunt een statische website in de cloud implementeren met behulp van de AWS-cloudprovider.
Wat is AWS S3?
Amazon Simple Storage Service (S3) is een gegevensopslagservice die wordt aangeboden door Amazon. Je kunt S3 zien als een webplatform van Amazon waar je bestanden en andere soorten gegevens in de cloud kunt opslaan.
AWS S3 is een van de meest populaire cloudopslagmechanismen die op internet beschikbaar zijn. Het is tegenwoordig de opslagruimte van veel kleine en grootschalige webapplicaties. Een voorbeeld is Netflix, waar al zijn streaming-inhoud op wordt gehost.
AWS S3 gebruikt een objectopslagarchitectuur die het duurzaam, schaalbaar en in hoge mate beschikbaar maakt voor gebruik in elk geval. U kunt het gebruiken voor webapp-opslag, back-up, gegevensarchief, noodherstel en - interessant - websitehosting.
Wat is een S3-emmer?
In AWS S3 zijn opslageenheden van verschillende typen, en de meest elementaire is het object - gewoon een bestand. Een S3-emmer is een verzameling objecten van verschillende typen. Je kunt je een S3-bucket voorstellen als de hoofdmap van een heel systeem dat uit veel bestanden en mappen van verschillende soorten bestaat.
U kunt S3-buckets op verschillende manieren beheren. U kunt dit doen vanaf de AWS-console, via AWS CLI, met behulp van de AWS SDK en door of gegevens in uw applicatie ophalen via de REST API.
S3 is schaalbaar, dus een bucket kan bijna elk bestand bevatten, ongeacht het type of de grootte. In feite kan een enkel object zo groot zijn als 5 Terabytes. Daarom is een S3-bucket geschikt voor back-ups en disaster recovery.
Objecten die zijn opgeslagen in een S3-bucket zijn meestal toegankelijk (alleen-lezen) via een URL die uniek is voor elk object. U kunt S3-buckets ook gebruiken voor statische webhosting omdat ze objecten via HTTP kunnen bedienen.
Hoe kun je S3 dan gebruiken en er misschien je standaardplatform van maken voor het hosten van statische websites?
Een S3-bucket maken en deze configureren voor webhosting
Hier is een stapsgewijze procedure om een Amazon S3-bucket te maken en te configureren. U leert ook hoe u statische webhosting in een emmer kunt inschakelen.
Om mee te volgen, moet je aanmelden voor een AWS-account als je er nog geen hebt. Om een S3-bucket te maken om uw statische website te hosten, logt u in op uw AWS-console en volgt u de vijf onderstaande stappen.
- Zoek naar de S3-service en navigeer naar het S3-dashboard.
- Klik op de Emmer maken om een nieuwe bucket te configureren en te maken.
- Het eerste wat u moet doen op het bucketconfiguratiescherm is om uw bucket een wereldwijd unieke naam te geven. S3 voorkomt dat u een bucket maakt als de naam al in gebruik is. Selecteer een voorkeursregio voor uw bucket of laat de regio standaard geselecteerd. Laat het gedeelte 'Objecteigendom' ook standaard staan.
- Om statische websites op S3 te hosten, moet u de bucket openbaar beschikbaar maken. Dus schakel in de volgende stap het vinkje uit Alle openbare toegang blokkeren keuze. Bevestig vervolgens in de waarschuwingsprompt die eronder verschijnt dat u ermee instemt deze openbaar te maken. Bucketversiebeheer is niet vereist, dus u moet het uitschakelen.
- De laatste 3 stappen vereisen niet per se actie van u. Je kunt desgewenst tags toevoegen, zoals de voorbeeldtag hier, die 'description' is. Houd de standaardcodering uitgeschakeld en klik op de Emmer maken om uw nieuwe bucket te maken.
De volgende stap is het configureren van de nieuwe S3-bucket voor statische webhosting. Om dit te doen, klikt u op de bucketnaam in het S3-dashboard en navigeert u in het nieuwe scherm dat wordt geladen naar de Eigendommen tabblad.
Scroll naar beneden naar de Statische website hosting sectie en klik op de Bewerk knop. Hierdoor wordt het configuratiescherm voor statische websitehosting geopend.
Schakel het in en laat het type Hosting als standaard. Een opmerking op dit scherm zegt: "Om uw klanten toegang te geven tot de inhoud op het eindpunt van de website, moet u al uw inhoud openbaar leesbaar maken...". Daarom was het nodig om openbare toegang toe te staan bij het eerder maken van de bucket.
De Indexdocument veld is waar u het indexbestand van uw website opgeeft, meestal index.html. De Foutdocument is de pagina die u wilt weergeven wanneer er een fout optreedt, zoals: een 404-fout.
Sla de wijzigingen op en keer terug naar het eigenschappenscherm. Je zou een nieuwe moeten opmerken Eindpunt van bucketwebsite in de Statische website hosting sectie. U kunt deze URL gebruiken om toegang te krijgen tot uw website zodra u klaar bent met het instellen ervan.
U heeft nu uw bucket geconfigureerd en klaar om een statische website te hosten. Hoe voeg je dan je websitebestanden toe aan de bucket en bekijk je je website?
Bestanden en mappen uploaden naar een S3-bucket
Om uw statische website in de cloud op S3 te hosten, moet u uw bestanden en mappen uploaden naar de geconfigureerde S3-bucket. Navigeer terug naar het tabblad Objecten en klik op een van de uploadknoppen om uw websitebestanden te uploaden.
In het volgende scherm kunt u de bestanden en mappen toevoegen die u naar de bucket wilt uploaden. Zorg ervoor dat u uw index.html-bestand en alle andere bestanden of mappen die aan uw website zijn gekoppeld, hier toevoegt. De mappen die u mogelijk wilt toevoegen, zijn uw CSS-, JavaScript- en afbeeldingsmappen.
U kunt bestanden en mappen toevoegen door middel van slepen en neerzetten of door de knop "Bestanden toevoegen" of "Mappen toevoegen" te gebruiken. Nadat u alle bestanden en mappen hebt toegevoegd, klikt u op de uploadknop aan het einde van het scherm. Wacht tot de bestanden zijn geüpload en klik vervolgens op de knop Sluiten om terug te keren naar het scherm "Objecten".
De geïmplementeerde website beveiligen en bekijken
In dit stadium zijn we bijna klaar en is de website bijna klaar voor preview in een browser. De site kan nog niet worden geopend vanwege Amazon's Identiteits- en toegangsbeheer beleid dat toegang tot bronnen in een bucket voorkomt.
U moet zelf toegang verlenen tot de bronnen van de bucket. Navigeer naar het machtigingen-tabblad op het bucket-dashboard en bewerk het Bucket-beleid. Kopieer en plak de onderstaande code en vervang "websitenaam" door de naam van uw bucket.
{
"Versie": "2012-10-17",
"Uitspraak": [ {
"Sid": "Perm toevoegen",
"Effect": "Toestaan",
"Voornaam": "*",
"Actie": "s3:GetObject",
"Bron": "arn: aws: s3website-naam/*"
} ]
}
Sla de wijzigingen op en ga opnieuw naar het tabblad Eigenschappen om de website-URL op te halen uit de statische website-sectie. Kopieer en plak de URL in een browser en u ziet uw statische website.
Het hosten van statische sites in de cloud is een veiliger en schaalbaarder alternatief voor statische websites hosten op Github-pagina's. Vooral voor sites met zware multimediabestanden.
Statische websites in de cloud implementeren
Het is vrij eenvoudig om een statische website in de cloud te implementeren met AWS S3. Overweeg om een aangepaste domeinnaam te krijgen voor een definitieve productiesite.
Amazon biedt zijn eigen domeinnaamservice, Route 53. U kunt ook andere DNS-providers bekijken om een domeinnaam naar keuze te krijgen.
De cloud is zeer kosteneffectief en gebruiksvriendelijk. Overweeg om dit uw standaardkeuze te maken voor statische websitehosting.