AWS Solutions Architect · Lektion

Buckets, objekter og Regions

Opret S3-buckets, upload objekter, forstå navngivning af nøgler, og se, hvordan S3 replikerer data inden for en Region.

Lektion 1 af 413 trin

Buckets, objekter og Regions er en gratis AWS Solutions Architect-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i AWS Solutions Architect, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.

Hvad er Amazon S3?

Amazon Simple Storage Service (S3) er AWS' objektlagringstjeneste, der er udviklet til at gemme og hente enhver mængde data fra alle steder på internettet. S3 giver 11 niere i holdbarhed (99,999999999 %) ved redundant at gemme objekter på flere enheder i flere Availability Zones i den valgte Region. Tjenesten kan skaleres ubegrænset, har ingen kapacitetsgrænse og understøtter objekter fra 0 bytes til 5 TB. S3 er grundlaget for utallige AWS-arkitekturer – blandt andet til statiske websteder, datasøer, arkiver med sikkerhedskopier og meget mere.

S3-buckets: Beholderen på øverste niveau

En S3-bucket er en globalt entydig navngivet beholder til objekter. Buckets oprettes i en bestemt AWS-Region, men navnene skal være globalt entydige på tværs af alle AWS-konti i hele verden (fordi navnet bliver en del af URL'en). Bucket-navne skal være på 3–63 tegn, med små bogstaver, begynde med et bogstav eller et tal og må ikke indeholde understregninger eller store bogstaver. Bedste praksis: Medtag dit konto-id eller et tilfældigt suffiks for at undgå navnekollisioner med andre konti.

# Create an S3 bucket in a specific region
aws s3api create-bucket \
  --bucket my-company-data-20240101 \
  --region us-west-2 \
  --create-bucket-configuration LocationConstraint=us-west-2

S3-objekter og nøgler

Et objekt i S3 består af dataene (filindholdet), en nøgle (objektets entydige navn i bucketen), metadata (system- og brugerdefinerede nøgle-værdi-par) og eventuelt et versions-id (hvis versionering er aktiveret). Nøglen er den fulde sti-lignende streng, f.eks. photos/2024/summer/beach.jpg. S3 er fladt – der findes ingen reelle mapper, kun nøglepræfikser, der ligner mapper. Den maksimale objektstørrelse er 5 TB. For objekter, der er større end 100 MB, skal du bruge Multipart Upload for bedre ydeevne og pålidelighed.

# Upload an object
aws s3 cp ./report.pdf s3://my-company-data-20240101/reports/2024/report.pdf

# List objects with a specific prefix
aws s3 ls s3://my-company-data-20240101/reports/2024/

S3-URL-formater

S3-objekter kan tilgås via to URL-formater. Stiformat: https://s3.<region>.amazonaws.com/<bucket>/<key> (udfases for nye buckets). Virtuelt værtsbaseret format: https://<bucket>.s3.<region>.amazonaws.com/<key> (den nuværende standard). Bucket-navnet bliver et underdomæne, og derfor skal bucket-navne overholde DNS-reglerne. Ved forhåndssignerede URL'er og CloudFront-distributioner vil du altid se det virtuelt værtsbaserede format. Hvis du forstår URL-strukturen, bliver det lettere at konfigurere bucket-politikker og CORS korrekt.

# Generate a pre-signed URL valid for 1 hour (3600 seconds)
aws s3 presign s3://my-company-data-20240101/reports/2024/report.pdf \
  --expires-in 3600

S3's datakonsistensmodel

Siden december 2020 leverer Amazon S3 stærk læse-efter-skrive-konsistens for alle handlinger – PUT'er af nye objekter, overskrivninger og DELETE'er – automatisk i alle Regioner uden ekstra omkostninger. Det betyder, at enhver efterfølgende læsning returnerer den seneste version af objektet, så snart en skrivning lykkes. Dette er en markant forbedring i forhold til den tidligere model med eventual consistency og forenkler applikationsdesignet ved at fjerne behovet for forsinkelser ved læsning efter skrivning eller logik til gentagelse.

S3 og Regioner: Datalokalitet

Når du opretter en S3-bucket, angiver du en Region, og dine data forbliver i den Region, medmindre du udtrykkeligt konfigurerer replikering. AWS replikerer data i den pågældende Region på tværs af flere AZ'er for at sikre holdbarhed, men flytter ikke automatisk data til andre Regioner. Denne regionale datalokalitet er vigtig af hensyn til overholdelse af regler: Hvis regler kræver, at data forbliver i EU, skal du oprette bucketen i eu-west-1 eller en anden EU-Region, så dine data ikke forlader området.

# Find the region of an existing bucket
aws s3api get-bucket-location \
  --bucket my-company-data-20240101

Multipart Upload til store objekter

Multipart Upload er påkrævet for objekter over 5 GB og anbefales for objekter over 100 MB. Det opdeler objektet i dele (minimum 5 MB pr. del, op til 10.000 dele), uploader hver del uafhængigt (parallelt) og samler dem til det endelige objekt. Hvis en del mislykkes, skal du kun prøve den pågældende del igen. AWS CLI og SDK'er håndterer multipart-upload automatisk, når du bruger kommandoen aws s3 cp til store filer – du behøver ikke implementere det manuelt.

# The CLI uses multipart automatically for large files
aws s3 cp large-file-50GB.tar.gz s3://my-bucket/ \
  --storage-class STANDARD

# Or use s3api to control multipart manually
aws s3api create-multipart-upload \
  --bucket my-bucket \
  --key large-file-50GB.tar.gz

S3-objektmetadata

Alle S3-objekter har systemmetadata, der angives af AWS (Content-Type, Content-Length, ETag, Last-Modified), samt valgfri brugerdefineret metadata (brugerdefinerede nøgle-værdi-par med præfikset x-amz-meta-). Metadata gemmes sammen med objektet og returneres i HTTP-svarheadere, når objektet downloades. Content-Type er særligt vigtigt ved levering på webbet – hvis du uploader en HTML-fil uden at angive Content-Type: text/html, kan browsere tilbyde den som en download i stedet for at gengive den.

# Upload with explicit Content-Type metadata
aws s3 cp index.html s3://my-website-bucket/ \
  --content-type 'text/html' \
  --metadata 'author=alice,env=production'

S3 til hosting af statiske websteder

Amazon S3 kan fungere som vært for et statisk websted og levere HTML, CSS, JavaScript, billeder og andre filer direkte fra en bucket. Aktivér hosting af statiske websteder i bucket-egenskaberne, og angiv et indeksdokument (index.html) samt eventuelt et fejldokument (404.html). URL'en til webstedets endpoint følger formatet: http://<bucket>.s3-website.<region>.amazonaws.com. Hvis du vil have HTTPS og understøttelse af et brugerdefineret domæne, skal du placere en CloudFront-distribution foran S3-bucketen med det statiske websted.

# Enable static website hosting
aws s3api put-bucket-website \
  --bucket my-website-bucket \
  --website-configuration '{"IndexDocument":{"Suffix":"index.html"},"ErrorDocument":{"Key":"404.html"}}'

S3 Transfer Acceleration

S3 Transfer Acceleration gør upload af objekter over lange afstande hurtigere ved at dirigere data gennem den nærmeste CloudFront Edge Location og derefter via AWS' private backbone-netværk til S3-bucketens Region. I stedet for at uploade direkte til S3-endpointet uploader klienten til et accelereret endpoint som my-bucket.s3-accelerate.amazonaws.com. Transfer Acceleration medfører en mindre pris pr. GB, men kan forbedre uploadhastighederne betydeligt for brugere, der geografisk befinder sig langt fra bucketens Region.

# Enable Transfer Acceleration on a bucket
aws s3api put-bucket-accelerate-configuration \
  --bucket my-company-data-20240101 \
  --accelerate-configuration Status=Enabled

S3-objekttags

Objekttags er nøgle-værdi-par, som du knytter til S3-objekter for at kategorisere og administrere dem. Tags bruges til: livscyklusregler (flyt eller udløb objekter med bestemte tags), adgangskontrol (betingelser i IAM- og bucket-politikker baseret på tagværdier), omkostningsallokering (Cost Explorer registrerer S3-forbrug efter tag) samt opgørelser og analyse. Hvert objekt kan have op til 10 tags. Tags kan tilføjes ved upload eller opdateres, efter objektet er oprettet, uden at selve objektdataene ændres.

# Add tags to an existing object
aws s3api put-object-tagging \
  --bucket my-company-data-20240101 \
  --key reports/2024/report.pdf \
  --tagging '{"TagSet":[{"Key":"env","Value":"production"},{"Key":"owner","Value":"finance"}]}'

Hurtigt tjek

Test din forståelse af koncepterne i AWS Solutions Architect (SAA-C03) fra denne lektion.

Opsummering af lektionen

I denne lektion har du lært: S3-buckets er globalt entydigt navngivne beholdere, der er knyttet til en bestemt Region, objekter gemmes med en flad nøglestruktur og understøtter metadata og tags, og S3 leverer stærk læse-efter-skrive-konsistens samt 11 niere i holdbarhed gennem redundans på tværs af flere AZ'er. Dernæst undersøger vi S3-adgangskontrol med bucket-politikker og ACL'er.

Gratis at komme i gang

Lær AWS Solutions Architect med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Buckets, objekter og Regions” gratis?

Ja — alle 3 lektioner i læringssporet AWS Solutions Architect, inklusive “Buckets, objekter og Regions”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Buckets, objekter og Regions”?

Opret S3-buckets, upload objekter, forstå navngivning af nøgler, og se, hvordan S3 replikerer data inden for en Region. Du øver dig i AWS Solutions Architect med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på AWS Solutions Architect?

Der kræves ingen tidligere erfaring. AWS Solutions Architect på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Buckets, objekter og Regions”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne AWS Solutions Architect-lektion?

Ja. Alle AWS Solutions Architect-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Buckets, objekter og Regions
  2. S3-adgangskontrol: Bucket-politikker og ACL'er
  3. Versionering, MFA Delete og replikering
  4. Lagerklasser og livscykluspolitikker
← Tilbage til AWS Solutions Architect