Ditt eget skreddersydde server image
Hvordan lage AWS AMI
*Frisk og fruktig kaffe fra Stockfleths med smak som er søt, floral og sitron.*
Hva skal jeg med et AMI?
Et serverimage inneholder operativsystem og basisprogramvare som du trenger på serverne dine. Github repoet inneholder foreløpig:
- MongoDB oppsatt med replikering og voter.
- MQTT Broker som brukes til mottak av “meldinger” fra IoT dingser. Jeg bruker denne til å ta i mot data fra NodeMCU devicene jeg lager: Værstasjoner, dosensorer, lysmålere, strømmålere, osv, osv.
- NGINX m/Letsencrypt oppsett Her har du en reverse proxy som er satt opp til å enkelt kunne gi deg https på nettsidene dine.
- Node.js basis server som kan brukes til alle Node.js ting du lager. Jeg bruker denne til alle nettsidene og APIene jeg har.
- Simple Blog serveren min. Dette er en super enkel blogserver som ikke krever database. Alt lagres i Markdown filer og er skalerbart helt inn i evigheten.
Hvilke image savner du?
1. Opprett AWS konto
Det første du må gjøre er å opprette en konto ved å gå til siden: https://eu-west-1.console.aws.amazon.com/console/signup?region=eu-west-1
Det er viktig at du fullfører registreringen og legger inn et betalingskort. Uten dette så vil ikke denne oppskriften virke.
Når kontoen din er klar kan du fortsette videre i denne oppskriften.
1.1 Opprette AWS bruker
- Gå til siden https://console.aws.amazon.com/iam/home?region=eu-west-1#/users
- Opprett en bruker med adminrettigheter.
- Ta vare på security credentials. Du trenger dem i neste steg.
1.2 Installere AWS CLI
Før du går videre må du installere AWS CLI. Gå til siden https://aws.amazon.com/cli/ og følg instruksjonene for ditt operativsystem.
1.3 Legg til security credentials for AWS CLI
Nå trenger du security credentials fra steget over. Opprett eller endre filen ~/.aws/credentials:
$ emacs ~/.aws/credentials
[minkonto]
aws_access_key_id = ****************5AA
aws_secret_access_key = ****************ybXB
Dersom du ikke har Emacs så kan du selvsagt bruke en annen editor.
1.4 Konfigurere AWS CLI
AWS CLI trenger å vite et par ting angående regioner og format før du kan fortsette. Slik gjør du:
$ aws configure --profile minkonto
AWS Access Key ID [****************5AA]:
AWS Secret Access Key [****************ybXB]:
Default region name [None]: eu-west-1
Default output format [None]:
1.5 Opprette nøkkelpar (key pair) for EC2 login
Dette nøkkelparet trenger du for å kunne logge inn på dine EC2 servere. Ta godt vare på denne filen og lagre den på et sikkert sted. Du kommer til å få bruk for den i lang tid fremover. Alle som har denne filen vil kunne logge inn på serverne uten passord.
Dersom du ønsker å dele filen med noen andre er det viktig at du ikke sender den via e-post eller chat. Bruk en sikker overføring som feks keybase.io.
$ aws ec2 create-key-pair --profile minkonto --key-name minkonto-ec2-default --output text > ~/.ssh/minkonto-ec2-default.pem
Så trenger du å rydde litt opp i filen:
$ emacs ~/.ssh/minkonto-ec2-default.pem
# Remove all outside:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Tilslutt så må du gjøre filen ulesbar for alle bortsett fra deg:
$ chmod 400 ~/.ssh/minkonto-ec2-default.pem
2. Hente ned koden fra Github
Koden i repoet mitt på Github er ment som et basisrammeverk for å opprette AMIer. Dersom du ønsker så kan du redigere malfilene og komme med enn PR så skal jeg kikke på det.
Slik gjør du for å komme i gang:
$ mkdir ~/Projects/
$ git clone https://github.com/5orenso/aws-ami-creation.git
Jeg blir veldig ❤️ hvis du bidrar til repoet på Github. Jeg trenger flere maler til nye server image. Si fra så hjelper jeg deg i gang.
2.1 Opprette rolle for AMI oppretting
Når du har lastet ned koden så er du klar til å opprette en rolle som brukes i forbindelse med AMI opprettingen.
$ cd ~/Projects/aws-ami-creation
$ bash ./create-ami-creator-role.sh -p minkonto
2.2 Opprette standard AMI
Nå er du klar til å lage ditt første AMI. Eksemplet tar for seg oppretting av et Node.js basis AMI.
$ bash ./create-ami.sh \
-p minkonto \
-u ami-templates/ami-template-node.sh \
-k minkonto-ec2-default \
-i role-ami-creator
- Følg instruksjonene på skjermen.
- Etter 5-10 minutter burde AMIet ditt være klart. Du finner det på denne siden: https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Images:sort=name
- Dersom du vil kan du nå teste AMIet eller du kan gjennomføre neste steg i det komplette oppsettet.
Alle artiklene i denne serien:
- Hvordan lage AWS AMIer.
- Hvordan sette opp VPC m/tilbehør ved hjelp av Cloudformation.
- Hvordan sette opp Servere m/tilbehør ved hjelp av Cloudformation.
Følg med på Facebook-siden min for å få med deg alle artiklene.