Salta al contingut principal

Entrades

Desplegament del servei a Fargate, xarxa i resolució de problemes

Per definir el servei d'ECS és necessari connectar-lo a una VPC i a les seves subxarxes. Podríem crear una VPC des de zero configurant les seves taules de rutes i un Internet Gateway, però el nostre compte d'AWS ja ve amb una VPC predeterminada i xarxes a cadascuna de les zones de disponibilitat, que són les que utilitzarem. Fins ara a Terraform hem utilitzat blocs de resource per crear components nous. Tanmateix, quan necessitem consultar recursos existents al nostre compte d'AWS, utilitzem blocs data , que ens permeten importar els seus IDs directament al codi: També és necessari crear el seu Grup de Seguretat . En ell configurarem: el seu nom, la VPC predeterminada a la que es vincula i les regles de tràfic: A ingress el tràfic entrant per port 5000 i a egress permetrem la seva sortida sense restriccions. A continuació, crearem la configuració del servei aws_ecs_service : Seguidament definirem la infraestructura, executarem terraform plan . Com a qualsevol proje...
Entrades recents

Configuració d'IAM i definició de les tasques a ECS

Amb la imatge de la nostra aplicació ja pujada a ECR, el següent pas és preparar la seguretat i la definició de la tasca que s'executarà a ECS. Primer creem una política personalitzada d'S3 utilitzant l' AWS Policy Generator . Perquè la política gestioni correctament els accessos, separem en dos statements : - Un sense asterisc ( arn:aws:s3:::el-bucket ) per referir-nos al bucket d'S3 com a recurs. - Altre amb asterisc ( arn:aws:s3:::el-bucket/* ) per referir-nos a tots els objectes continguts dins del bucket. Una vegada generada la política, és millor operativament passar-la a HCL que és un llenguatge per definir IaC (Infraestructura com a Codi). JSON i HCL comparteixen les mateixes estructures de dades (clau-valor, llistes, cadenes, números i booleans), HCL aporta avantatges quan escrivim codi: - No s'utilitzen cometes a les claus - S'utilitza = en lloc de : - No son necessàries les comes al saltar de línia - HCL permet afegir comentaris al codi, una...

Publicació i allotjament de la imatge de Docker a Amazon ECR

Bona tarda. L'objectiu d'avui és passar la imatge de Docker a Amazon ECR amb el fi de desplegar la nostra aplicació al núvol d'AWS utilitzant IaC de manera automàtica. El primer és afegir a l'arxiu main.tf el nom del repositori : Les línies force_delete i scan_on_push : · force_delete = true : Per defecte, AWS protegeix els teus repositoris perquè no esborris coses per error si tenen imatges a dins. Però en un entorn d'aprenentatge o proves, si executes terraform destroy sense aquest paràmetre, AWS donarà un error lleig dient "No es pot esborrar ECR perquè no està buit" . D'aquesta manera, Terraform podrà eliminar el repositori i totes les imatges que contingui en executar terraform destroy , sense que AWS bloquegi el procés per no estar buit. · scan_on_push = true : És una bona pràctica perquè AWS analitzi si la imatge de Docker té vulnerabilitats conegudes en pujar-la. Seguit de l'output que ens generarà el registre ECR en desplegar-lo. D...

Pas del gestor d'S3 a IaC amb Terraform

Bona tarda de nou a tothom. En aquest segon post de la sèrie ens acostarem a l'objectiu, que és automatitzar el desplegament amb IaC (Infraestructura com a Codi). Per començar , instal·lem Terraform des dels seus repositoris oficials . Per estructurar correctament el codi de manera neta , dividim la configuració en tres arxius principals dins d'una mateixa carpeta: providers.tf , main.tf i variables.tf . providers.tf , per a la connexió. Definint amb qui parla Terraform (en aquest cas, AWS) i quina versió del plugin ha de descarregar. variables.tf , per a les entrades. Definint paràmetres que poden canviar com són la regió, els noms, les mides de la màquina. Valors que farien difícil el desplegament si es quedessin fixos (hardcoded). main.tf , els recursos: On es troba la infraestructura real a crear : servidors, buckets, xarxes, BDs. Separar-lo d'aquesta forma ens dona la possibilitat de reutilitzar la mateixa infraestructura en altres entorns o amb diferents noms de ...