묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ECS Deployment Circuit Breaker was triggered
안녕하세요 계속 질문만남기는 것 같아 죄송합니다.섹션 10. AWS Elastic Container Service (ECS) 자세히 알아보기!에서 ECR private repository 이미지로 AWS ECS service 생성하기 강좌를 따라하고 있는데요앞강좌에서 local 에서 도커 이미지 push 까지 완료하고 해당 강좌도Task definition 까지 생성을 잘 완료 하였습니다.하지만 서비스 생성중에강좌대로 똑같이 서비스를 생성후 서비스 생성 클릭을 눌렀는데요해당 에러가 나와서 CloundFormation 에서 보기 버튼을 눌러서 확인해보니깐Resource handler returned message: "Error occurred during operation 'ECS Deployment Circuit Breaker was triggered'." (RequestToken: c1e2037e-83e2-33f1-1337-2b3ffd4347aa, HandlerErrorCode: GeneralServiceException) 검색을 해봐도 정확히 나오지가 않아서다시 서비스 생성해도 동일한 에러가 나오네요혹시 더 디테일한 로그를 보는방법이나해결방법을 알 수 있을까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
nginx와 app 연결 (ECS 내에서)
안녕하세요 강사님강사님께서는 강의에서 어플리케이션을 80포트에 배포해 바로 ELB에 연결하셨는데요혹시 nginx를 중간에 끼게 된다면 어떤 방식으로 하면 좋은지 궁금합니다 저는 nginx를 중간에 껴서 리버스 프록시 서버를 만들고 싶은데요이러한 방법이 ecs에서는 권장되지 않아 80포트로 어플리케이션을 배포하신건지 궁금합니다 또한 만약 nginx를 중간에 낄 수 있다면이를 service discovery 방식으로 nginx와 어플리케이션을 각각 서비스로 분리해 연결하는 방식하나의 태스크 정의에 nginx + 어플리케이션을 같이 정의해 하나의 서비스로 배포하는 방식이 방법은 fargate 사용시 bridge 를 지원해 주지 않아 localhost로 통신했습니다둘 중에 어떤 방식이 더 괜찮을지...? 아님 더 추천해주는 방식이 있으신지 궁금합니다
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
VPC와 Security Group 관련해서 질문 있습니다
안녕하세요 강사님강의 너무 잘 듣고 있습니다 🙂 위의 로드밸런서 내 vpc 통신 관련 강의를 듣다가 vpc 내 통신에 관련해서 질문이 있어 문의글을 남깁니다1. Vpc가 달라도 인바운드 규칙에 security group을 추가하면 통신 가능한지?2. 같은 vpc 내에서는 security group 없이도 통신 가능한지?로드밸런서 같은 경우, 로드밸런서를 연결하는 인스턴스에 로드밸런서의 sg를 매핑시켜놓는 것을 확인했습니다근데 제가 같은 vpc 내에서 sg 인바운드 규칙 추가 없이 private ipv4로 curl 요청을 보냈을 때, curl이 정상적으로 통신이 가능해서 여쭤봅니다위의 2가지 내용이 궁금합니다
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
redis 서버 추가시 할당량 에러
이번엔 제가 스스로 해보고 싶었는데 안되서 질문드립니다 죄송합니다 ㅜㅜredis 서버를 추가하는 도중에이런창이떠서이렇게 추가를 했더니....redis 서버가 추가가안되서 다시 요청하려고했더니Only one open service quota increase request is allowed per quota라고 뜨네요 ㅜㅜ 혹시 redis 서버를 추가할 수 있는 방법이 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
308 status code
안녕하세요. 백그라운드를 먼저 소개해드리자면,강사님께서 설명해주셨듯 http -> https로 리다이렉션을 시킬 때, 301 status code를 내뱉도록 만들었습니다. 테스트하다가 알게 됐는데,GET 메서드의 경우에는 잘 리다이렉션되지만, POST PUT 메서드의 경우 GET 메서드로 바뀐채 리다이렉션되더라고요. rfc 문서에서는 아래와 같이 설명하고 있습니다.| Note: For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the 308 (Permanent Redirect) status code can be used instead. 이에 따라 http -> https로 리다이렉션을 시킬 때 POST나 PUT 인 경우 308 status code를 주려고 했으나, aws 공식문서에는 이를 지원하고 있지 않더라고요.참고 : https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions보안 그룹에서 http에 대한 요청 자체를 막는것도 하나의 방법이 될거 같긴한데, 강사님께서는 어떻게 해결하실지 궁금해서 질문 남겨봅니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
client_loop: send disconnect: Broken pipe
안녕하세요 dev push 후 master 에 merge 중 에러가 나서 질문 드립니다! 섹션 4. Github Actions 를 이용한 배포자동화main branch 보호해주기 강좌를 보고 있는데요 client_loop: send disconnect: Broken pipe해당 에러가 나고 있지만domain 으로 접속해보니깐 수정한 텍스트 적용이 잘되더라구요 검색해보니https://may0301.tistory.com/10소켓이 닫혀서 nano ~/.ssh/config 파일에text editor에 Host * ServerAliveInterval 120 TCPKeepAlive no를 입력 해줘야한다고하는데 혹시 해당 에러가 나는 원인을 알수 있을까요?위에 검색한대로 소켓이 닫혀서 그럴까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
안녕하세요 ECS를 활용한 ETL 작업 관련해서 질문 드립니다
현재 강사님의 강의를 듣고 크롤러와 ETL 배치 파이프라인을 ECS로 배포해서 사용해보려고 합니다한가지 궁금한 점이 있어 문의드립니다해당 크롤러와 배치 잡은 모두 api가 아닌 스크립트로 이루어져 있습니다. 이 경우, 클러스터 내 서비스는 생성할 필요 없이, 태스크로만 필요할 때마다 생성하면 되나요? 아님 서비스도 사용하면 좋을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
redis Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) 에러
안녕하세요 redis-serve 실행까지는 잘되는데vsCode 에서 yarn test 만 하면 꼭 아래와 같은 에러가 발생합니다.기본포트로 할때는 되다가6380 포트로 바꾼이후로 잘안되고 redis 에서도바뀐포트로 연결하고 비밀번호까지 쳤는데 아래와 같은 에러가 발생합니다.그리고 제소스가 에러가 나서제공해주신 express 소스를 압축을 풀어도 같은 에러가 발생을 합니다. 혹시몰라 build 파일을 삭제하고 재빌드후 다시 켜도 아래와 같은 에러가 나는데혹시 이유를 알 수 있을까요? ● POST /messages › responds with a success message Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) at RedisSocket.<anonymous> (node_modules/@redis/client/dist/lib/client/index.js:396:14) at RedisSocket._RedisSocket_connect (node_modules/@redis/client/dist/lib/client/socket.js:166:18) at Commander.connect (node_modules/@redis/client/dist/lib/client/index.js:184:9) ● GET /messages › responds with all messages Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) at RedisSocket.<anonymous> (node_modules/@redis/client/dist/lib/client/index.js:396:14) at RedisSocket._RedisSocket_connect (node_modules/@redis/client/dist/lib/client/socket.js:166:18) at Commander.connect (node_modules/@redis/client/dist/lib/client/index.js:184:9) ● Test suite failed to run thrown: "Exceeded timeout of 5000 ms for a hook. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 18 | }); 19 | > 20 | afterAll(async () => { | ^ 21 | await client.flushDb(); 22 | await client.quit(); 23 | }); at Object.<anonymous> (app/index.test.ts:20:1)Test Suites: 1 failed, 1 total FAIL app/index.test.ts (101.064 s) ● POST /messages › responds with a success message Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) at RedisSocket.<anonymous> (node_modules/@redis/client/dist/lib/client/index.js:396:14) at RedisSocket._RedisSocket_connect (node_modules/@redis/client/dist/lib/client/socket.js:166:18) at Commander.connect (node_modules/@redis/client/dist/lib/client/index.js:184:9) ● GET /messages › responds with all messages Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) FAIL app/index.test.ts (100.278 s) ● POST /messages › responds with a success message Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) at RedisSocket.<anonymous> (node_modules/@redis/client/dist/lib/client/index.js:396:14) at RedisSocket._RedisSocket_connect (node_modules/@redis/client/dist/lib/client/socket.js:166:18) at Commander.connect (node_modules/@redis/client/dist/lib/client/index.js:184:9) ● GET /messages › responds with all messages Unhandled error. ([ErrorReply: ERR wrong number of arguments for 'auth' command]) at RedisSocket.<anonymous> (node_modules/@redis/client/dist/lib/client/index.js:396:14) at RedisSocket._RedisSocket_connect (node_modules/@redis/client/dist/lib/client/socket.js:166:18) at Commander.connect (node_modules/@redis/client/dist/lib/client/index.js:184:9) ● Test suite failed to run thrown: "Exceeded timeout of 100000 ms for a hook. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 18 | }); 19 | > 20 | afterAll(async () => { | ^ 21 | await client.flushDb(); 22 | await client.quit(); 23 | }, 100000); at Object.<anonymous> (app/index.test.ts:20:1)
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ECS Service-Discovery 강의내용이 없네요
강의 잘 들었습니다.강의중에 ECS안에 서비스가 여러가지일때 서비스를 찾아갈수 있는 서비스디스커버리에 대해 설명해주신다고 했는데 이부분에 대한 강의가 없네요. 가장 궁금했던 내용이었는데... 아쉽네요가령 메인도메인과 서브도메인이 있다면 각각의 로드밸런서를 도메인에 연결해서 써야 할까요아니면 하나의 로드밸런서에 2개의 도메인을 연결해서 메인도메인과 서브도메인을 구분하여 각각의 서비스를 찾아서 로드밸런싱하는 방법이 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Domain & https를 따라하지 않은 경우 이후 섹션에서 진행에 어려움이 있을까요?
안녕하세요 선생님, 질 좋은 강의 덕분에 까다로운 배포의 노하우를 손 쉽게 얻어 갈 수 있는 기회를 주셔 감사합니다.섹션 3부터 비용이 발생 하는 요소가 있는데 이 부분은 실습은 하지 않고 영상만 시청 했는데요.혹시 이러한 이유로 이후 섹션부터 실습 하는 데 어려움이 있거나 진행이 불가능한 경우가 발생 할까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
강의 질문
강사님 안녕하세요강의를 선 구매후에 질문을 남깁니다.현재 도커 컴포즈를 이용한 서비스를 개발하고 있는데요.강의를 듣고 lightsail이 아닌 ECS Fargate 혹은 EC2 형식으로 배포할 수 있는 능력을 키울 수 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
service 생성시 public ip 를 설정하지 않는 경우
안녕하세요. 유익한 강의 정말 감사드립니다강의 내용에서 조금 벗어난 질문이 될 수 있겠네요. 현재 강의 내용을 토대로 service 를 생성해보려하는데 public Ip 를 off 하였습니다. 이유는 외부에서의 접근을 막기 위함 (물론 Security guard 로 해결되는 부분입니다)더 큰 문제는 비용문제로 off 하였습니다 (내년 2월부터 public ip 에 대한 과금 때문입니다) public ip 를 off 한 결과 Service 에서 Task 를 정상적으로 실행못한느데 cloudFormation 을 봐도 정확한 정보가 나오지 않아 현재 2가지 문제로 예상하고 있습니다ECR 을 pull 하지 못하는 문제 target group 을 auto detect 못하는 문제 혹시 비슷한 경험이 있으면 조언 부탁드립니다! 감사합니다
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Scale-in 시
안녕하세요, 강의 수강 중 궁금한 점이 있어 질문 남깁니다.Scale-in 시에도 기본적으로 graceful shutdown 되도록 ecs autoscaling 내부에서 처리가 되는 것일까요?아니면, graceful shutdown을 위해서는 따로 설정을 해야하는 것일까요?감사합니다!
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
node port 설정
안녕하세요, 강의를 듣다 궁금한 점이 생겨 질문 남깁니다.이전에 lightsail에서 load-balancing 시 port를 80으로 설정했어야해서 현재 node 서버가 80 port로 설정되어 있잖아요!만약, node 서버의 port를 4000으로 열어놓고, ECR을 통해서 service 생성 시 load-balancer 세팅에서 사진의 부분이 80:4000으로 자동적으로 바뀌는 건가요?어떻게 ecr에서 현재 port가 80으로 열려있는 지 인식하고 위와같이 선택할 수 있는건가요?node port가 4000이였다면, 어떻게 되는 것일까요?감사합니다!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
SSH and deploy 과정에서 error
- name: SSH and deploy run: | ssh ${{secrets.SSH_USER_NAME}}@${{secrets.SSH_PUBLIC_IP}} " cd devops-practice git pull || exit 1 npm install || exit 1 npm run build || exit 1 sudo pkill node || exit 1 sudo npm run start & npx wait-on http://localhost exit" SSH and deploy 과정에서 exit 명령어가 실행되지 않고 무한 루프를 돌다가 cd가 실패하는 이슈가 발생합니다. ubuntu 18.04로 변경 ⇒ github action에서 18.04은 이제 지원하지 않는 것 같음GitHub Actions: The Ubuntu 18.04 Actions runner image is being deprecated and will be removed by 12/1/22env에 AWS_DEFAULT_REGION을 추가 ⇒ 여전히 에러 발생이슈해결을 위해 다음 방식을 찾아보았으나, 아직 해결하지 못하였습니다.어떤 부분이 문제일까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
branch rule
github branch 관련 rule을 생성하는 경우, private repository여서 요금을 내야 적용이 되는 것 같습니다.public repository에서는 무료로 이용가능하네요.공유차원에서 글 작성합니다!
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
port 80으로 변경 시 이슈
저는 port 80으로 실행 시 다음과 같은 에러가 발생하였습니다.Unexpected token . - ...options?.moduleshttps://stackoverflow.com/questions/76493795/syntaxerror-unexpected-token-when-connecting-to-redis-cluster해당 링크를 통해 이슈를 해결하였습니다.같은 이슈를 겪고 계시면 도움이 될 수 있을 꺼 같아 올려요!
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
aws ecs를 통한 멀티컨테이너 배포
존안님 혹시 aws-ecs를 통해서 멀티컨테이너 배포하는 방법을 여쭤봐도 괜찮을까요?