Middle+
Mit valósítottál meg az AWS felhőplatformján?
sobes.tech MI
Válasz az MI-től
Az AWS-ben automatizáltam az infrastruktúra és alkalmazások telepítését IaaS és PaaS szolgáltatások használatával.
Főbb munkaterületek:
- Infrastruktúra kódként (IaC): AWS CloudFormation és Terraform használata az infrastruktúra (VPC, EC2, RDS, S3 stb.) leírására és kezelésére.
- CI/CD pipeline-ok: AWS CodePipeline, CodeBuild, CodeDeploy beállítása az alkalmazások automatikus építéséhez, teszteléséhez és telepítéséhez. Integráció GitHub/GitLab-bal.
- Konténerizáció: Konténeresített alkalmazások telepítése és kezelése Amazon ECS és Amazon EKS segítségével. Fargate konfigurálása szerver nélküli konténerekhez.
- Megfigyelés és naplózás: Amazon CloudWatch bevezetése metrikák és naplók gyűjtésére, riasztások beállítása. AWS X-Ray használata elosztott rendszerek nyomon követésére.
- Konfigurációkezelés: AWS Systems Manager alkalmazása az EC2 példányok központi kezelésére.
- Biztonság: AWS Identity and Access Management (IAM) beállítása a hozzáférés kezelésére, AWS Security Groups és NACL használata hálózati biztonsághoz, AWS Secrets Manager bevezetése titkos adatok biztonságos tárolására.
- Szerver nélküli számítások: Funkciók fejlesztése és telepítése AWS Lambda segítségével.
- Adatbázisok kezelése: Amazon RDS (PostgreSQL, MySQL) és Amazon DynamoDB beállítása és migrálása.
- Költségoptimalizálás: Erőforrás-felhasználás elemzése AWS Cost Explorer segítségével és költségcsökkentés.
Példa pipeline az AWS CodePipeline-ben:
# Pipeline részletes definíció példája CloudFormation-ben
Resources:
MyPipeline:
Type: AWS::CodePipeline::Pipeline
Properties:
Name: my-application-pipeline
RoleArn: !GetAtt CodePipelineServiceRole.Arn
ArtifactStore:
Type: S3
Location: !Ref PipelineArtifactBucket
Stages:
- Name: Source
Actions:
- Name: SourceAction
ActionTypeId:
Category: Source
Owner: ThirdParty
Provider: GitHub
Version: '1'
OutputArtifacts:
- Name: SourceOutput
Configuration:
Owner: my-github-user
Repo: my-application-repo
Branch: main
PollForChanges: true
AccessToken: "{{resolve:secretsmanager:github_token:SecretString:token}}"
- Name: Build
Actions:
- Name: BuildAction
ActionTypeId:
Category: Build
Owner: AWS
Provider: CodeBuild
Version: '1'
InputArtifacts:
- Name: SourceOutput
OutputArtifacts:
- Name: BuildOutput
Configuration:
ProjectName: !Ref CodeBuildProject
# ... további szakaszok (Test, Deploy)
Terraform használata VPC telepítéséhez:
# terraform.tf
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
tags = {
Name = "main-vpc"
}
}
resource "aws_subnet" "public" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "us-east-1a" # Példa AZ
tags = {
Name = "public-subnet-us-east-1a"
}
}
# ... további erőforrások (Internet Gateway, Route Tables stb.)