ecs(9)
-
AWS ECS Fargate에서 EBS 사용 가능
개요 AWS ECS와 AWS Fargate에서 EBS volume을 연결할 수 있는 기능이 글로벌에 출시가 됐다. Fargate를 쓰면서 diskless, serverless의 강점을 갖고 썼었는데, 이런 기능이 나왔다고 특별히 더 쓸 것 같지는 않다. 물론 원래 20GB의 임시 Storage를 사용할 수 있었는데 추가로 EBS로 사용하면 훨씬 편하긴 하겠지만 여전히 개인적인 용도는 찾지 못하겠다. 문서상 "deploy storage and data intensive applications such as ETL jobs, media transcoding, and ML inference workloads" 에 적합하다고 하는데 개인적으로는 위 서비스들은 ECS fargate에서는 적합하지 않은 것 같다. ..
2024.01.12 -
AWS CLI cheat sheet
- 개요 AWS CLI를 통해 리소스를 관리하고 리스트화 할 수 있는 스크립트를 정리했다. 대표적인 리소스를 테이블 또는 리스트로 관리할 수 있는 스크립들이다. - AWS CLI https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html#cli-aws - EC2 ## runnung ec2 with Name, PrivateIP, PublicIP, Status, Instance Type, VpcId on table aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,PrivateIP:PrivateIpAddress,Nam..
2023.10.10 -
ECR lifecycle policy 전체 repository 적용
- 개요 ECR Repository를 생성하면 기본적으로 LifeCycle이 적용되지 않으며, 해당 메뉴까지 나눠져 있어서 그냥 데이터가 계속 쌓이면서 과금이 된다. 아래는 계정의 전체 ECR에 untagged image 15개 이상 부터 삭제하라는 LifeCycle을 일괄 적용하는 스크립트이다. - 스크립트 ( ecr_retention_put.sh ) #!/bin/bash for i in $(aws ecr describe-repositories --query 'repositories[*].repositoryName[]' --output text) do aws ecr put-lifecycle-policy --repository-name $i --lifecycle-policy-text "file://pol..
2023.06.28 -
Cloudformation Stack ECS-Console-V2-Service-xxxxxxxx ECS-Console-V2-Cluster-xxxxxxxx
- 개요 AWS console에서 ECS관련 리소스 생성할 경우 cloudformation에 동일한 stack이 생성된다. ECS-Console-V2-Service-xxxxxxxx ECS-Console-V2-TaskDefinition-xxxxxxxx - Document AWS CloudFormation stacks The following behavior applies to task definitions created in the new console before January 12, 2023. When you create a task definition, the Amazon ECS console automatically creates a CloudFormation stack that has a name..
2023.01.27 -
Unable to update platform version on services with a CODE_DEPLOY deployment controller. Use AWS CodeDeploy to trigger a new deployment
- 개요 CodeDeloy로 B/G deployment가 구성되어 있는 ECS의 경우 desired count를 AWS Web Console에서 변경을 시도할 경우 에러가 발생한다. - 에러 메세지 HTTP status code 400 Unable to update platform version on services with a CODE_DEPLOY deployment controller. Use AWS CodeDeploy to trigger a new deployment. - 해결 방법 (CLI를 통해 처리) aws ecs update-service --cluster --service --desired-count X
2022.11.29 -
ecs service multiple target group
- 개요 ECS Service에 다중 LB 및 TG 를 사용이 요구 되는 경우는 종종 있다. Internal & External 을 사용하는 경우가 대표적이다. 그럴 경우 콘솔에서는 안되지만 CLI, SKD 등을 사용해서 생성이 가능하다. ECS Service에 TG를 여러 개 붙히려고 한다면 AWS Web Console에서는 불가능하여 CLI로 하는 방법을 정리했다. - 방법 aws ecs update-service --cluster --service --cli-input-json file://service.json # service.json { "cluster": "", "service": "", "desiredCount": , "taskDefinition": "", "loadBalancers": [..
2022.10.25 -
AWS ECS service last event
- 개요 ECS의 Service의 상태를 확인하는 가장 효과적인 방법은 최근 event 를 확인하는 것이다. 아래는 사용하고 있는 전체 ECS Service의 마지막 event log를 확인하는 스크립트 이다. - 스크립트 #!/bin/bash declare -a ecscluster=$(aws ecs list-clusters | awk -F / '{print $2}' | tr -d '",' | awk NF) region=`aws configure get profile.default.region` for i in ${ecscluster[@]} do for service in $(aws ecs list-services --cluster $i | awk -F / '{print $3}' | tr -d '",' ..
2022.10.12 -
Amazon CloudWatch logs 용 CLI
- 개요 대부분의 AWS 서비스는 cloudwatch logs에 로그를 남길 수 있다. - 로그 확인하는 방법 ( AWS Console ) https://docs.aws.amazon.com/cli/latest/reference/logs/index.html - 로그 확인하는 방법 ( AWS CLI ) https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/using_cloudwatch_logs.html - 로그 확인하는 방법 ( awslogs ) https://github.com/jorgebastida/awslogs - 비고 awslogs가 제일 간편하고 강력하다
2020.10.28 -
ECS Task를 ALB Target 등록 시 Healthcheck fail 이슈
- 개요 ALB -> TargetGroup ->Task(Fargate) Health Check - 현상 ECS fargate를 사용하던 중에 ALB에 target으로 task가 IP로 등록되는 과정에서 계속 initial -> unhealthy -> draining 이 반복 - 1차 조치 health check interval을 300s까지 늘려서 처리는 하였으나, healthy status를 받는데 거의 600s 소요 - 2차 초치 최초 task가 target그룹에 join할 때 상태검사 유예 시간 설정하는 값 "healthCheckGracePeriodSeconds" 값을 조정 (30s) - 결과 배포 후 조인하는 1분 미만으로 처리 - 참고 https://docs.aws.amazon.com/elast..
2020.10.27