AWS Æfing: Allsherjar Arkitektúr til Serverlaus Forrit, Bættu Hæfileika Þína í Skýinu á Allan Hátt
AWS Æfing: Allsherjar Arkitektúr til Serverlaus Forrit, Bættu Hæfileika Þína í Skýinu á Allan Hátt
AWS (Amazon Web Services) er orðinn leiðandi á sviði skýjatölvunar, og bæði stór fyrirtæki og sprotafyrirtæki nýta sér ýmsa þjónustu sem AWS býður upp á til að byggja og dreifa forritum. Af umræðum á X/Twitter getum við séð að AWS nær yfir mjög breitt svið, þar á meðal innviði, öryggi, AI/ML, DevOps og Serverlaus forrit. Þessi grein mun sameina þessar umræður til að veita þér alhliða AWS æfingarleiðbeiningar til að hjálpa þér að bæta skýjahæfileika þína og nýta AWS vettvanginn betur.
1. Skilningur á Alþjóðlegum Innviðum AWS: Lykillinn að Mikilli Framboði og Villuþoli
Að ná tökum á alþjóðlegum innviðum AWS er grundvöllurinn að því að byggja upp forrit með miklu framboði og villuþoli. Alþjóðlegir innviðir AWS samanstanda af eftirfarandi lykilþáttum:
- Region (Svæði): Sjálfstætt svæði á landfræðilegum stað, hvert svæði inniheldur marga Availability Zone. Þegar svæði er valið þarf að huga að töf, kröfum um samræmi og kostnaði.
- Availability Zone (Framboðssvæði): Einangraður staður innan svæðis, hvert framboðssvæði samanstendur af einu eða fleiri gagnaverum. Með því að dreifa forritum á mismunandi framboðssvæðum er hægt að auka villuþol.
- Edge Location (Jaðarstaður): Skyndiminniþjónar dreift um allan heim til að flýta fyrir dreifingu efnis. AWS CloudFront notar jaðarstaði til að geyma kyrrstætt og kraftmikið efni í skyndiminni og bæta notendaupplifun.
Æfingarábendingar:
- Dreifing á mörgum framboðssvæðum: Með því að dreifa afritum af forritum á mismunandi framboðssvæðum er hægt að forðast að bilun á einu framboðssvæði geri forritið óaðgengilegt.
- Veldu viðeigandi svæði: Veldu viðeigandi svæði miðað við staðsetningu notenda og kröfur um samræmi.
- Nýttu CloudFront til að flýta fyrir dreifingu efnis: Notaðu CloudFront til að geyma kyrrstætt og kraftmikið efni í skyndiminni og bæta notendaupplifun.
2. IAM Bestu Starfsvenjur: Meginreglan um Minnstu Heimildir
Identity and Access Management (IAM) er kjarninn í öryggi AWS. IAM gerir þér kleift að stjórna hver hefur aðgang að AWS auðlindum þínum og hvaða aðgerðir þeir geta framkvæmt. Kjarnhugtök IAM eru:
- Users (Notendur): Táknar einstakling eða forrit sem notað er til að fá aðgang að AWS auðlindum.
- Roles (Hlutverk): Hægt að úthluta til AWS þjónustu eða EC2 tilvika, sem gerir þeim kleift að fá aðgang að öðrum AWS auðlindum.
- Groups (Hópar): Notað til að skipuleggja notendur, sem auðveldar stjórnun heimilda.
- Policies (Stefna): Skilgreinir heimildir notenda, hlutverka eða hópa.
Bestu starfsvenjur:
- Meginreglan um minnstu heimildir (Least Privilege): Veittu notendum eða hlutverkum aðeins minnstu heimildir sem þarf. Forðastu að nota
AdministratorAccessstefnuna, þú ættir að búa til sérsniðna stefnu í samræmi við raunverulegar þarfir. - Notaðu hlutverk í stað IAM notenda: Reyndu að nota hlutverk til að veita EC2 tilvikum eða Lambda aðgerðum heimild til að fá aðgang að öðrum AWS auðlindum, forðastu að geyma Access Key ID og Secret Access Key í kóðanum.
- Virkjaðu MFA (Multi-Factor Authentication): Virkjaðu MFA fyrir alla IAM notendur til að auka öryggi reikningsins.
- Reglulegt eftirlit með IAM heimildum: Framkvæmdu reglulegt eftirlit með IAM heimildum til að tryggja að engar of miklar heimildir séu til staðar.
Dæmi um stefnu:
Eftirfarandi stefna gerir notendum kleift að framkvæma GetObject og PutObject aðgerðir í S3 geymslutunnu my-bucket á us-east-1 svæðinu.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "us-east-1"
}
}
}
]
}
3. DevOps Sjálfvirkni: Notkun Bash Skrifta og GitHub Actions
Umræður á X/Twitter minntust á DevOps Bash skriftusafn og GitHub Actions, sem eru mikilvæg verkfæri til að ná fram DevOps sjálfvirkni.
- Bash skriftur: Hægt er að nota Bash skriftur til að sjálfvirknivæða ýmis DevOps verkefni, svo sem að setja upp forrit, stilla netþjóna, fylgjast með kerfum o.s.frv.
- GitHub Actions: GitHub Actions er CI/CD tól sem getur sjálfkrafa smíðað, prófað og sett upp forrit.
Hagnýt ráð:
- Nýttu Bash skriftur til að sjálfvirknivæða algeng verkefni: Til dæmis er hægt að nota Bash skriftur til að setja sjálfkrafa upp Lambda aðgerðir eða EC2 tilvik.
- Notaðu GitHub Actions til að byggja upp CI/CD leiðslur: Hægt er að nota GitHub Actions til að smíða, prófa og setja upp forrit sjálfkrafa.
- Útgáfustýring: Geymdu Bash skriftur og GitHub Actions stillingar í útgáfustýringarkerfi, eins og Git.
Dæmi um GitHub Actions vinnuflæði:
Eftirfarandi GitHub Actions vinnuflæði mun sjálfkrafa smíða, prófa og setja upp Lambda aðgerð í hvert skipti sem kóði er sendur inn á main greinina.
name: Deploy Lambda Function
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm install
- run: npm run build
- uses: actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- run: aws lambda update-function-code --function-name my-lambda-function --zip-file fileb://dist/lambda.zip
4. Serverlaus forrit: AWS Lambda + S3 + DynamoDBUmfjöllun á X/Twitter minntist á dæmi um að byggja Serverless X (Twitter) Quote Bot með AWS Lambda, S3 og DynamoDB. Þetta sýnir kraft Serverless arkitektúrs.
- AWS Lambda: Serverlaus reikniþjónusta sem getur keyrt kóða án þess að þurfa að stjórna netþjónum. // Serverlaus reikniþjónusta, keyrir kóða án netþjónastjórnunar.
- Amazon S3: Hlutageymsluþjónusta til að geyma ýmsar gerðir gagna. // Hlutageymsluþjónusta fyrir ýmsar gagnagerðir.
- Amazon DynamoDB: NoSQL gagnagrunnsþjónusta til að geyma skipulögð og hálfskipulögð gögn. // NoSQL gagnagrunnsþjónusta fyrir skipulögð og hálfskipulögð gögn.
Skref til að byggja Serverless forrit: // Skref til að byggja serverlaus forrit:
- Veldu viðeigandi kveikju: Veldu atburð sem kveikir Lambda fallið, svo sem HTTP beiðni, S3 hlutaupphleðslu, DynamoDB gagnauppfærslu o.s.frv. // Veldu atburð sem kveikir Lambda fallið.
- Skrifaðu Lambda fallakóða: Skrifaðu Lambda fallakóða til að meðhöndla kveikjuatburðinn og framkvæma samsvarandi aðgerðir. // Skrifaðu kóða til að meðhöndla kveikjuatburðinn.
- Stilltu IAM hlutverk: Stilltu IAM hlutverk til að veita Lambda fallinu leyfi til að fá aðgang að öðrum AWS auðlindum, svo sem S3 og DynamoDB. // Stilltu IAM hlutverk til að veita aðgang að AWS auðlindum.
- Dreifðu Lambda fallinu: Dreifðu Lambda fallinu á AWS. // Dreifðu Lambda fallinu á AWS.
- Prófaðu Lambda fallið: Prófaðu Lambda fallið til að tryggja að það virki rétt. // Prófaðu Lambda fallið til að tryggja virkni.
Kostir Serverless forrita: // Kostir serverlausra forrita:
- Engin þörf á að stjórna netþjónum: Engin þörf á að stjórna netþjónum, sem dregur úr rekstrarbyrði. // Engin netþjónastjórnun, minnkar rekstrarbyrði.
- Sjálfvirk stækkun: Stækkar sjálfkrafa eftir beiðnumagni, engin þörf á handvirkri stillingu. // Sjálfvirk stækkun eftir beiðnumagni.
- Borgaðu eftir notkun: Borgaðu aðeins fyrir reikniúrræði sem eru í raun notuð, sem dregur úr kostnaði. // Borgaðu aðeins fyrir notuð úrræði, dregur úr kostnaði.
5. Gervigreindar-/vélanámsforrit: Bedrock og LLM framkvæmd
Umfjöllun á X/Twitter minntist einnig á LLM (Large Language Model) rannsóknarpraktík hjá AWS AI Lab og notkun Bedrock. AWS býður upp á mikið úrval af gervigreindar-/vélanámsþjónustum sem geta hjálpað þér að byggja ýmis gervigreindar-/vélanámsforrit.
- Amazon Bedrock: Þjónusta sem býður upp á úrval af afkastamiklum grunngerðum frá leiðandi gervigreindarfyrirtækjum. // Þjónusta með afkastamiklum grunngerðum frá leiðandi fyrirtækjum.
- AWS AI Lab: Einbeitir sér að gervigreindar-/vélanámsrannsóknum og býður nemendum upp á starfsnám. // Einbeitir sér að rannsóknum og býður upp á starfsnám.
Framkvæmdarleiðbeiningar: // Leiðbeiningar um framkvæmd:
- Notaðu Bedrock til að byggja gervigreindarforrit: Þú getur notað grunngerðirnar sem Bedrock býður upp á til að byggja ýmis gervigreindarforrit, svo sem textagerð, myndgreiningu, talgreiningu o.s.frv. // Notaðu Bedrock til að byggja ýmis gervigreindarforrit.
- Fylgstu með LLM minni og stöðugu námi: Að fylgjast með nýjustu rannsóknum á LLM, svo sem LLM minni og stöðugu námi, getur hjálpað þér að byggja greindari gervigreindarforrit. // Fylgstu með nýjustu rannsóknum á LLM minni og stöðugu námi.
6. Öryggi og samræmi: Fylgstu með AWS þjónustutruflunum
Umfjöllun á X/Twitter minntist á AWS þjónustutruflanir, sem minnir okkur á að fylgjast með öryggi og samræmi AWS.
- Dreifing á mörgum svæðum: Að dreifa forritum á mismunandi AWS svæðum getur komið í veg fyrir að bilun á einu svæði geri forritið óaðgengilegt. // Dreifing á mismunandi svæðum kemur í veg fyrir óaðgengi vegna bilana.
- Vöktun og viðvaranir: Settu upp vöktun og viðvaranir til að greina vandamál tímanlega og grípa til aðgerða. // Settu upp vöktun og viðvaranir til að greina vandamál.
- Afritun og endurheimt: Taktu reglulega afrit af gögnum og prófaðu endurheimtarferlið. // Taktu reglulega afrit af gögnum og prófaðu endurheimtarferlið.
- Samræmi: Skildu og fylgdu viðeigandi samræmiskröfum, svo sem GDPR, HIPAA o.s.frv. // Skildu og fylgdu viðeigandi samræmiskröfum.





