Uruchom kontenery w chmurze AWS
Mikroserwisy na stałe zagościły jako podstawowa architektura naszych systemów. Rozwiązują kilka problemów, ale chcemy, żeby nie tworzyły kolejnych. Dlatego na warsztatach zapoznasz się z możliwościami, jakie oferuje Ci AWS w zakresie tworzenia i zarządzania kontenerami. Poznasz usługi Elastic Container Service (ECS), Elastic Kubernetes Service (EKS) i AWS Fargate. Wdrożysz swój własny kontener i zobaczysz, że to nie takie straszne.
Warsztaty live w ramach AWSowego tygodnia ➡️ https://www.akademiaarchitektait.pl/plan-wydarzen-awsowego-tygodnia/
Wymagane oprogramowanie
Docker
Pobierz i zainstaluj https://docs.docker.com/get-docker/
.Net SDK
Pobierz i zainstaluj .NET SDK z https://dotnet.microsoft.com/download
Instalację możesz sprawdzić komendą:
dotnet
Instalacja Copilot
brew install aws/tap/copilot-cli
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Copilot.html#copilot-install
AWS CDK
npm install -g aws-cdk
Aplikacja
dotnet new blazorwasm -o BlazorApp cd BlazorApp code . dotnet watch run dotnet publish -c Release -o published
Plik nginx.conf
events { } http { include mime.types; types { application/wasm wasm; } server { listen 80; location / { root /usr/share/nginx/html; try_files $uri $uri/ /index.html =404; } } }
Plik Dockerfile
# https://hub.docker.com/_/microsoft-dotnet FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /src COPY *.csproj . RUN dotnet restore COPY . . RUN dotnet build -c Release -o /app/build FROM build AS publish RUN dotnet publish -c Release -o /app/published FROM nginx:alpine AS final WORKDIR /usr/share/nginx/html COPY --from=publish /app/published/wwwroot . COPY nginx.conf /etc/nginx/nginx.conf
docker build -t blazorasm-docker .
docker images
docker run -p 8080:80 blazorasm-docker
docker run -d -p 8080:80 blazorasm-docker
docker ps
docker stop **id**
Copilot
copilot init
copilot app show
copilot svc show
copilot app delete
AWS Fargate – budowa w CDK
cdk init --language typescript
npm install @aws-cdk/aws-ecs-patterns
npm run build cdk deploy
Eksport docker image
docker tag blazorasm-docker ***adres uri repozytorium***
aws ecr get-login-password | docker login --username AWS --password-stdin ***adres rejestru***
docker push ***adres uri repozytorium***
Czyszczenie
cdk destroy