fargate 삽질 2

hyuckhoon.ko·2023년 5월 15일
0

TIL

목록 보기
27/69

스토리지 및 로깅

읽기 전용 루트 파일 시스템

배포 회로 차단기

Deployment circuit breaker

테스트 리스너

관리 서버에서만 접속 가능하도록 보안 그룹을 수정한다는데, 관리 서버가 무엇이지?(p.243 내용 이해 필요)

상태 검사 유예 시간

creation failed: Service already exists. (Service: AWSServiceDiscovery; Status Code: 400; Error Code: ServiceAlreadyExists; Request ID: b2b871fb-9e37-4a98-981b-26ce73ffdb67; Proxy: null)

원인 : 동일한 이름의 서비스 디스커버리(검색) 이름을 새롭게 생성하려고 했기 때문

The CodeDeploy deployment failed.

CodeDeploy The application and deployment group could not be created.: AppECS-social-backend-staging-cluster-social-backend-staging-service already exists. (Service: AmazonCodeDeploy; Status Code: 400; Error Code: ApplicationAlreadyExistsException; Request ID: e3a81b56-5414-4340-9a53-dd3f27fc1d41; Proxy: null)

분명 태스크를 stop 시켰고, 서비스도 제거했지만 propagation으로 딜레이가 발생한 듯 하다. 5 ~ 10분이 지나고 나서 서비스 및 태스크가 제거되었다.

태스크 이미지는 변경없지만, 최신 도커 이미지로 교체되길 원할때는 어떻게 해야할까

새로운 작업 정의(task definition)을 만들고, 서비스를 업데이트한다. 이때 force deployment를 선택한다.

(만약, 작업 정의에서 latest태그 이미지를 pull하는 방식이라면 서비스만 강제 업데이트 한다.

그래도 변화가 없다면?
내가 하고 있는 배포 방식은 Blue/Green 배포 방식이다.
새로운 ECS UI에서 실행하면 배포가 되지 않던게
이전 UI에서 실행하니 바로 강제 배포가 진행됐다.

새로운 ECS UI 콘솔에서는 Blue/Green 배포를 지원하지 않는데
그것 때문에 안되는 게 아닌가하고 추측하고 있다.

서비스 삭제 시 유의할 점

  1. 태스크를 먼저 stop시켜야 한다.
  2. 서비스를 삭제하더라도 위 그림과 같이 Draining 상태에 머물러 있다.
    시간을 기다려야 한다.
    태스크 DEACTIVATING 중이기 때문이다.
  • 원래는 각 리스너와 연결된 타겟 그룹을 서로 교체하기 위해 서비스를 업데이트 하려고 했다. 하지만 타켓 그룹 자체 변경을 하기 위해선 서비스를 새로 만들어야 한다.

0개의 댓글

관련 채용 정보