묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
github-actions repo의 create-cluster.yaml과 init.sh 사용
eks 환경 구성할때 github-actions-setting 을 사용하지 않고 github-actions에 있는 create-cluster.yaml과 init.sh 사용했는데 무방할까요??
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
rds 인바운드 규칙을 추가해도 접속이 안되는 경우가 있네요.
인프라 자원 생성 부분에서 보안 그룹에 인바운드 규칙 추가하고 퍼블릭 액세스를 활성화 해줘도 안되는 경우가 있네요. 찾아보니 RDS 서브넷이 private로 설정된 경우(그 사이에 default가 프라이빗이 됬나봅니다) 에는 aws vpc에서 라우팅 편집을 해야 접속이 되네요. aws는 설정이 조금씩 바뀌는 경우가 많아서 참 헷갈려요ㅜ
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
RDS 인바운드 규칙 설정 관련 질문
강사님 안녕하세요 강의 잘 듣고 있습니다!강의 12분 40초 대에 RDS에 인바운드 규칙을 설정하는 부분에서 이미 인바운드 규칙이 하나 존재함을 발견했습니다.원래 있었던 인바운드 규칙은 삭제해도 강의 진행에 문제가 없는지 궁금합니다(이 계정은 신규계정으로 강의를 듣는것만을 목적으로 생성하였습니다)감사합니다
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
appspec.yml, 스크립트 파일 수정요청
안녕하세요CI/CD 강의를 재미있게 수강중 입니다수강 중 수정 사항을 요청드리기 위해 여기에 남깁니다노션 : https://jscode.notion.site/CI-CD-c028a6824f824524bcb35b8c384c9771 appspec.yml 파일 작성 중 오타가 있습니다이로 인해 정상적인 배포가 되지 않습니다확인 해주시기 바랍니다
-
해결됨이거 하나로 종결-고품질 리액트와 스프링부트 65시간 풀스택 개발 강의(도커, AWS, GITHUB-ACTIONS)
강의노트가 자료에 있는건가요..? (답변이 늦어져도 괜찮습니다)
https://webzz.tistory.com 링크를 강의노트에 넣어놓을테니 꼭 확인 부탁드린다고 하셨는데 1. 자료안에 강의 노트가 안보입니다2.https://webzz.tistory.com 이 사이트는 쿠팡 파트너스 사이트 같습니다ㅠㅠ
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
강의 내용에서 보강 하고 싶어서 질문 드립니다 - DEV, PROD 환경
실전에서는 주로 어떻게 하는지 궁금 해서 질문 드립니다. 보통 실전에서는 개발서버 및 상용서버가 각각 물리적으로 분리 된 상태에서 관리를 할텐데요. 현재 선생님께서 알려주신 부분에서 이부분을 어떻게 적용 할지 궁금 해서 질문 드립니다. AWS EKS 하나로 같이 사용하되 네임스페이스를 논리적으로 분리해서 개발 환경하고 상용 환경을 분리하자AWS EKS 물리적으로 개발 환경하고 상용 환경을 분리 하기이렇게 이슈가 있을 것 같습니다. 일단 1번 내용으로 하게 된다면 name: deploy DEV backend on: push: branches: - dev jobs: build-and-deploy: runs-on: ubuntu-latest steps: ----- 생략 ----- - name: configure aws uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET }} aws-region: ap-northeast-2 - name: update cluster infomation run: aws eks update-kubeconfig --name ${클러스터이름} --region ap-northeast-2 - name: Login to ECR ----- 생략 ----- - name: build and push docker image to ecr env: REGISTRY: ${AWS ECR REPOSITORY} REPOSITORY: ${개발 Repository 명} IMAGE_TAG: latest run: | docker build \ -t $REGISTRY/$REPOSITORY:$IMAGE_TAG \ -f ./project/Dockerfile ./project docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG - name: eks kubectl apply run: | kubectl rollout restart deployment ordersystem-backend -n dev name: deploy PROD backend on: push: branches: - prod jobs: build-and-deploy: runs-on: ubuntu-latest steps: ----- 생략 ----- - name: configure aws uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET }} aws-region: ap-northeast-2 - name: update cluster infomation run: aws eks update-kubeconfig --name ${클러스터이름} --region ap-northeast-2 - name: Login to ECR ----- 생략 ----- - name: build and push docker image to ecr env: REGISTRY: ${AWS ECR REPOSITORY} REPOSITORY: ${상용 Repository 명} IMAGE_TAG: latest run: | docker build \ -t $REGISTRY/$REPOSITORY:$IMAGE_TAG \ -f ./project/Dockerfile ./project docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG - name: eks kubectl apply run: | kubectl rollout restart deployment ordersystem-backend -n prod 이렇게 네임스페이스 통해 논리적으로 분리해서 관리 하는 것도 있을 것 같은데요.하지만 제가 생각 했을때는 단점으로는 SPOF (Single Point Of Failure) 문제가 발생 될 것 같아 고민이 들지만 비용면에서는 1번이 좋을 것 같기도 합니다. 주로 실전에서는 어떻게 관리를 하는지 궁금 합니다! ^_^
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
MSA - member service 배포시 문제
안녕하세요 우선 좋은 강의 만들어주셔서 감사드립니다.MSA 파트에서 질문 하나 있습니다. ApiGateway 서비스 depl_svc.yml Aplly 하기 - kubectl apply -f ./depl_svc.yml ingress 배포 - kubectl apply -f ./ingress.ymlhttps.yml Aplly 하기 - kubectl apply -f ./https.ymlMember 서비스 depl_svc.yml Aplly 하기 - kubectl apply -f ./depl_svc.ymldeploy_ordermsa_with_k8s.yml 통해서 github push 하기 AWS ECR Repository 에 정상적으로 이미지 등록되는지 체크 API Gateway 배포 완료member service 배포 실패 - Readiness probe failed: Get "http://172.31.47.22:8080/health": dial tcp 172.31.47.22:8080: connect: connection refused일단 서비스가 정상적으로 배포되었는지 자기 자신 서버로 호출 해서 체크 하는 것 같습니다. 이런데 "연결 거절" 이라는 에러가 발생되네요. 무엇이 잘못되는지 확인이 어려워서 이렇게 질문 드립니다. 다시 처음부터 했는데도 문제가 있어서 분명 제가 설정 잘못 한거 같은데... 혹시 예상되는 부분이 있을까요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
appleboy/ssh-action stop_script 대체
학습 도중 발견한 내용이 있어 공유합니다. appleboy/ssh-action 라이브러리에서 stop_script 설정에 대한 내용입니다. 결론부터 말하면, appleboy/ssh-action 최신 버전(작성일 기준 1.2.2)을 사용하는 경우 stop_script: true 대신 script 첫 줄에 set -e를 사용해야 합니다.script: | set -e cd /home/ubuntu/github-actions git pull origin main문제 상황강의를 따라하던 중, 테스트에서 RuntimeException을 던져 실패하는 부분에서 다음과 같이 빌드는 실패하는데 github actions가 성공하고 코드도 업데이트 되는 경우가 발생했습니다. deploy.yml과 github actions 결과는 다음과 같습니다.name: hello application on: push: branches: - main jobs: Deploy: runs-on: ubuntu-latest steps: - name: ssh to EC2 uses: appleboy/ssh-action@v1.2.2 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} script_stop: true script: | cd /home/ubuntu/github-actions git pull origin main ./gradlew clean build sudo fuser -k -n tcp 8080 || true nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log 2>&1 & > Task :test GithubActionsApplicationTests > contextLoads() FAILED java.lang.RuntimeException at GithubActionsApplicationTests.java:11 1 test completed, 1 failed FAILURE: Build failed with an exception. > Task :test FAILED * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///home/***/github-actions/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 8s 8 actionable tasks: 8 executed 8080/tcp: 4782 =============================================== ✅ Successfully executed commands to all hosts. =============================================== 문제 원인이 차이점은 appleboy/ssh-action 버전을 최신 버전(1.2.2)으로 사용한 차이에서 발생한 것이었습니다. appleboy/ssh-action 링크에 가서 script_stop으로 검색해보니 다음과 같은 부분이 있습니다.1.0.3v 를 보니 해당 옵션이 있는 걸로 보아 script_stop 옵션은 제거된 것으로 보입니다. 그래서 적힌대로 set -e를 script 첫 줄에 추가했습니다.script: | set -e cd /home/ubuntu/github-actions git pull origin main이후 다시 푸시해보니 정상적으로 실패하는 것을 확인할 수 있습니다.1 test completed, 1 failed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///home/***/github-actions/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. GithubActionsApplicationTests > contextLoads() FAILED java.lang.RuntimeException at GithubActionsApplicationTests.java:11 BUILD FAILED in 8s 8 actionable tasks: 8 executed 2025/07/12 14:16:36 Process exited with status 1 Error: Process completed with exit code 1.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
Vue.js 파일 배포
안녕하세요 강사님 ACM 에서 인증은 받았고 사진 1 바로아래입니다. CloudFront에 도메인 이름을 넣었습니다.(밑에 사진2) 사진 3 Route53 에 CloudFront로 배포를 했는데도 aws s3 를 통한 정적웹사이트 배포는 정말 잘 되는데 뭐가 문제인지 모르겠습니다. 이렇게 연결이 되지 않습니다. 뭐가 문제인지 잘 모르겠습니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
aws를완강하고 ci/cd로 넘어왔습니다.
스프링부트로 진행중이라서 nest.js는 아예모르는데 섹션6,7부분은 뺴고 들어도 상관업나요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
vue.js 를 cloudfront+s3+Route53를 적용하여 배포
안녕하세요 강사님의 AWS 강의도 들었습니다.만약 도메인을 적용하고 배포하는 경우 CNAME을 통한 배포방식이 맞는지블로그도 열심히 찾아보고 했는데 안되가지고 질문 드립니다. cloudfront가 기존에 pdf랑 달라서 chatgpt한테 물어보면서 배포를 해 보아도 https + domain이 동시에 적용이 되지 않아 질문 드립니다. 단순 정적 웹사이트(S3 ) 만을 이용한 것은 정말 잘 되지만 cloudfront에 htpps+ domain 을이용한 배포가 되지 않아 질문 드립니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
S3에 프로젝트 업로드하기 오류
안녕하세요 이 부분분을 듣고 코드를 깃허브에 push 했는데 이런 에러가 계속 나가지고 질문드립니다. chatgpt로 돌려서 답장 받은거는 다 해봤습니다.
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
MAS 환경에서 Feign Client 라이브러리를 이용해 HTTP 통신 발생시 에 대한 질문 있습니다.
공유해주신 API Gateway 아키텍처를 보면Order 서비스가 Product 서비스에게 해당 상품 수량 어느정도인지 요청시Order 서비스는 유레카에게 Product 서비스 위치를 질의 한다.유레카에 등록된 Product 서비스 위치 정보를 Order 서비스에게 응답한다.Order 서비스는 Product 서비스에게 실질적으로 상품 수량 GET 요청 한다. 제가 알고 있는 일반적으로 (MAS X) 모놀리식 구조에서 Feign Client 를 사용시 유레카를 사용 하지 않는 상황에서 특정 서버에게 요청시 곧바로 해당 서버에게 요청을 했었는데요. (3 Way Handshake 생략)그런데 @FeignClient(name = "product-service", url="http://product-service") public interface ProductFeign { }이렇게 FeignClient 어노테이션에서 name 을 특정 서버 어플리케이션 이름으로 지정하게 된다면 알아서 유레카에게 질의하고 응답 받아서 Product 서비스에게 요청해서 총 HTTP 요청이 2번 일어 난다고 보면 되는건가요? 일단 비지니스 로직단에서는 HTTP 요청이 2번 일어난다(유레카 서버에게 호출 하고 그 다음 실질적은 요청하고자 하는 서버에게 다시 요청) 라고 로직상에서는 안보여서요. 이부분은 내부 로직(Feign client 라이브러리 내부 로직?? 이라고 해야 할까요?..)에서 처리된거라서 눈에 안보이는 부분인지 알고 싶습니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
CI/CD 자동화 배포 문제
강사님이 알려주신 대로 개인프로젝트 CI/CD 구축 방법-2 이거에서 하는데 자꾸 위와 같은 에러가 뜨는데 뭐가 문제인지 모르겠습니다.
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
AWS EKS 클러스터 생성 후 에러 문구 질문
리소스 로드 중 오류 발생Amazon EKS is unable to communicate with your Kubernetes cluster API server. The cluster must be in an ACTIVE state for successful connection. Please try again in few minutes. 안녕하세요 선생님 고생 많으십니다 ^^ 질문 하나 하도록 하겠습니다!이렇게 에러가 나오는데요! 분명 활성 상태인데 왜 이런 에러가 발생되는걸까요? IAM 도 분명 잘 설정 했는데도요 ㅠㅠ
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
프로젝트 연결
안녕하세요 강사님! Redis로 시작해 채팅 서비스를 거쳐 지금의 강의까지 도달한 학생입니다 :) 항상 유익한 강의를 제공해주셔서 정말 감사합니다. 이번 강의를 진행하기에 앞서 이전에 진행한 채팅 프로젝트를 적용해 배포해보려고 하는데요 혹시 강의를 진행하는데 있어 문제되는 부분이 생기지 않을까 싶어 미리 질문을 드렸습니다! 강의를 진행하는데 있어 프로젝트가 다르더라도 큰 문제가 없을까요?
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
슬랙 연동 안됨
안녕하세요 강의 잘 듣고 있습니다.슬랙 연동하는 부분이 지속적으로 안돼서 어떻게 해결해야 하는지 여쭤보고 싶습니다. 강의에 나온대로해도 안되길래 payload를 간소화해보기도 했고, 직접 마켓플레이스에 들어가 v2.1.0 문법으로 수정하기도 했습니다. 그런데 워크플로우에서 계속해서 5회 리트라이에도 실패했다는 값이 출력됩니다. 웹훅 URL도 정상적으로 생성되어 있고, text 값을 수정해서 별도로 curl을 날려도 정상적으로 슬랙에 메시지가 전달되는 상태입니다. action을 통할 때에만 실패하네요.. 혹시 슬랙이 무료판이라 그런걸까요.. 아래는 워크플로우 로그와 yaml 설정값입니다. Run slackapi/slack-github-action@v2.1.02 with:3 webhook: ***4 webhook-type: incoming-webhook5 payload: {6 "text": "리포지토리 생성 결과: success"7 }8 errors: false9 payload-templated: false10 retries: 511 env:12 ACTIONS_STEP_DEBUG: true - name: slack if: always() uses: slackapi/slack-github-action@v2.1.0 with: webhook: ${{ secrets.SLACK_WEBHOOK_URL }} webhook-type: incoming-webhook payload: | { "text": "리포지토리 생성 결과: ${{ steps.create-repo.outcome }}" }
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
키페어 생성 시기
EC2를 생성 완료 한 후에 해당 EC2에 키페어를 만들어서 적용하는게 가능한가요? 아니면 EC2 생성할때 키페어를 추가하는것만 가능한건가요?
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
visual studio code 터미널에서 github-actions 경로 설정 어떻게 하는 건가요?
따로 파일을 만들어서 하셨나요? 아님 github에서 fork 한 다음에 경로 설정하셨나요? 1:25초 부분에서 경로 설정을 어떻게 하는지 몰라서 질문드리고자 합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
ECS는 사용 안 하나요?
ECS는 사용 안 하나요? ECS도 많이 쓰이는 거 같던데..