묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
ECS는 사용 안 하나요?
ECS는 사용 안 하나요? ECS도 많이 쓰이는 거 같던데..
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
EC2의 docker compose up에서는 localhost를 컨테이너 이름으로 변경하지 않아도 왜 잘 돌아가나요?
EC2로 여러 개의 container를 docker compose up으로 배포를 하는 것은, EC2라는 가상의 컴퓨터에서 springboot, mysql, redis container를 실행시키는 것이잖아요. 이전 다른 실습에서는 springboot에서 localhost는 자기 자신의 포트를 가리키기 때문에 docker에서 container의 이름인 my-db와 my-redis-server로 바꿔주어야 한다고 하셨는데, 현재 인텔리제이에서 docker로 빌드한 이미지에는 .properties 파일과 gradle 파일을 맞춰서 작성하지 않았는데, db나 redis를 못찾는다는 에러 없이 왜 잘 돌아가는지 궁금합니다.
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
"https통신을 위한 인증서 작업" 영상에서 나오는 notion 정보 어디에 있는 걸까요?
https://picturesque-staircase-f6e.notion.site/eks-spring-1c323940dccf8067a6c2ee4bbbaaa91a 해당 링크에서 찾으려고 하니 제가 못 찾는 건지 찾을 수가 없는데요. 제가 못 찾는 걸까요??
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
EKS 에서 노드 그룹 생성 실패 질문
안녕하세요 선생님! 우선 좋은 강의 만들어주셔서 감사드립니다 :) E0622 -------- ---- memcache.go:265] couldn't get current server API group list: the server has asked for the client to provide credentialserror: You must be logged in to the server (the server has asked for the client to provide credentials)kubectl get nodes이렇게 명령어를 실행하니 위에 같은 에러가 발생 됩니다.그래서 AWS 에서 정상적으로 노드그룹이 생성 되었는지 확인 해보니깐 이렇게 에러가 발생 되었습니다.구글링 통해 확인 해보니깐 VPN 관련 이슈가 있을 수 있다고 해서 VPN -> NAT 게이트웨이 페이지로 가보니 아무것도 생성이 되지 않는 것 같은데 혹시 NAT 게이트웨이 생성 해야지 해결 될 수 있는 부분일까요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
백엔드 프론트엔드 배포 흐름이 이해가 안갑니다.
글을 작성하고 조금 더 공부해봤는데 저는 프론트(3000번 포트)와 백엔드(8080번 포트)간의 통신으로 웹이 배포되고 운영되는걸로 알았는데, 3000번 포트와 8080번 포트간의 통신을 하는 게 아니라고 하는 것 같아서 댓글에 다시 정리해보았습니다. 글의 내용처럼 서버가 배포되는것이 아닌, 댓글에 남긴 흐름으로 배포가 되는 게 맞는건지 궁금합니다.🥹안녕하세요.최근 재성 강사님의 AWS, Docker, CI/CD 강의를 수강하며, Spring Boot 프로젝트를 Docker 이미지로 패키징하고 무중단 배포하는 과정까지 직접 구축해보았습니다.Spring 서버를 EC2에 자동으로 배포하고 무중단으로 교체하는 구조는 충분히 이해하고 구현도 해보았지만, 이번 프로젝트에서 프론트엔드까지 함께 연동하려다 보니 새로운 고민이 생겼습니다.프론트 지식이 전무한 상태에서, 프론트엔드 팀원이 React로 만든 프론트 화면까지 백엔드와 함께 배포해달라는 요청을 주셨는데, 여기서부터 개념적으로 막히기 시작했습니다. React에서 api/login 같은 요청을 보내면 Spring 서버가 응답하고, 이 데이터를 바탕으로 React가 화면을 렌더링한다는 구조를 이해하고, AWS강의를 들으며 S3, CloudFront로 프론트를 배포하는 과정도 실습하였는데 Spring과 React를 동시에 배포하려니까 흐름이 잘 이해가 가지않습니다..ㅠㅠ https://velog.io/@jwo0o0/AWS-S3%EB%A1%9C-React-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0https://velog.io/@jwo0o0/AWS-S3-%EB%B2%84%ED%82%B7-Github-Action%EC%9C%BC%EB%A1%9C-CICD강사님이 AWS 강의에 react 배포하는 방법으로 올려주신 블로그 포스팅을 참고해서 이해하려고 하는데 제가 이해한 흐름이 맞는 지 확인해주실 수 있나요? 현재 프로젝트에서 백엔드와 프론트를 분리해서 각각 repository에 올리고있는데요!Spring에서 workflow에 Github에 올라와있는 React 프로젝트를 S3에 업로드하고 CloudFront로 배포하도록 자동화이후 workflow에 백엔드 Spring 프로젝트를 Docker 이미지로 패키징하여 ECR에 이미지를 Push.workflow에 SSH로 EC2에 접속하는 코드를 작성. EC2에서 ECR에 올린 이미지를 Pull받은 뒤 해당 이미지로 docker run 하여 spring server를 띄움.이렇게 흐름을 이해하고 github Actions workflow를 작성해도 괜찮을까요?react는 3000포트를 사용하고, Spring은 8080포트를 사용하는걸로 아는데, 포트번호가 달라도 알아서 잘 통신이 되나요..??또 Spring workflow에서 프론트 Git 레포지토리까지 왔다갔다 하면서 S3 업로드 자동화를 해주는게 맞나요...?? 제가 프론트 지식이 아예없어서 S3에 프론트 프로젝트를 업로드하면 어떻게 백엔드와 어떻게 통신을 하는건지 잘 이해가 가지않습니다. 홈화면의 페이지가 있다면, 로그인이라는 버튼을 눌렀을 때 백엔드에 api/login이라는 요청을 보낸다고 했을 때 아무런 작업을 안해줘도 알아서 서로 통신을 하는지... 인프라 개념이 아직 미숙하다 보니 글도 장황한 것 같습니다 죄송합니다.. 😢정리해보면서도 스스로 구조를 잡고자 하는 중인데, 혹시 제가 놓치고 있는 개념이 있다면 알려주시면 정말 감사하겠습니다!
-
해결됨인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트
Test 질문입니다.
Test 질문입니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
30000 Port로 접속이 안됩니다 ㅠㅠ
포트포워딩 실습할때는 정상적으로 접속이 됐는데 service를 통한 접속은 안되네요 ㅠㅠ pod 로그를 찍어보니 요청 자체가 안간거 같아요 ㅠminikube service --url spring-service위의 명령어로 만들어지는 url로는 정상적으로 접근이 됩니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose up -d --build
안녕하세요![실습] AWS EC2에 Spring Boot 배포하기 수업을 듣다가 궁금한 점이 생겨서 질문드립니다.이전의 강의에서 docker compose -d --build여기서 --build 옵션은 코드가 수정된 것을 실시간으로 반영하기 위해서 컨테이너를 띄울 때 마다 이미지를 매번 새롭게 빌드한다는 뜻이라고 하셨는데요EC2에 스프링 부트를 배포할 때는로컬에서 이미 빌드된 이미지를 ECR 에 push 하고, EC2에서는 그 이미지를 pull 땡겨서 사용하는데컨테이너를 띄울 때 꼭 --build 옵션을 적어줘야 하는건가요?수업하시면서 --build 옵션을 강조하셔서 그 부분이 헷갈려서 여쭤봅니당 또 비슷하게 한가지 궁금한건 compose.yml 파일에build: . 이 아닌 image: <이미지명>이 있을 땐 --build 옵션을 쓰지 않아도 되는걸까요?
-
미해결쉽게 시작하는 쿠버네티스(v1.35)
Tabby 무응답
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://inf.run/DvsRD)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://inf.run/Ljaer)[질문 하기]tabby를 실행해도 아무런 반응이없습니다. 다른 게시글을 확인해봤을때 저와 같은 사례가 몇개 있는거 같지만 명확한 답이 작성되있질않내요. tabby라는 오류 메세지라던지 특별한 메세지가 나와야 검색을 해볼텐데 그냥 무작정 응답이 없습니다. 어떻게 해결해야하나요
-
해결됨강의 하나로 끝내는 백엔드 모든 지식!
강의 자료 어디서 받을 수 있나요?
강의 자료 어디서 받을 수 있나요?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
안녕하세요. 실습 환경 질문드립니다.
안녕하세요~ 강사님. 강의 잘 듣고 있습니다.섹션 7, 8은 꼭 AWS를 이용해야만 실습이 가능한 섹션일까요? (아직 안들어봐서 모르겠는데 AWS가 아닌 다른 개인 클라우드 서버를 갖고 있다면 대체가 가능할지 여쭙고 싶어요.)
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
argocd 배포 이슈
안녕하세요.우분투 22.04에서 실습하는데, argocd에 배포시 이슈가 있어 문의 드립니다.서버에 minikube 설치 후 테스트를 진행하였고 argocd에서 배포할 때 강사님의 github에 있는 manifest에서 sync를 맺으려고 하면, Failed to load live state: namespace "default" for Service "welcome-svc" is not managed 와 같은 메세지가 나오는데요.roll-binding, config map 수정등의 작업을 수행해도 sync시에 default namespace에서의 에러가 발생합니다.감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
컨테이너가 생성과 동시에 꺼집니다.
안녕하세요. docker 공부를 하고있는데 redis를 강사님과 똑같이 docker run -d -p 6379:6379 redis 라고 생성했더니 생성은 되나 자동으로 꺼지네요.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES be795dd1b69f redis "docker-entrypoint.s…" 4 seconds ago Exited (1) 4 seconds ago my-redis ce1e514748c0 redis "docker-entrypoint.s…" 3 minutes ago Exited (1) 3 minutes ago gallant_davinci M1칩 맥북을 사용하고있는데 아키텍처 불일치 문제일 수도 있다고 하여 구글링해서 아래와 같이 입력도 해보았으나 계속 자동으로 꺼집니다..ㅠㅠdocker run --platform linux/arm64 --name test-redis -d -p 6379:6379 redis 전에 Docker Desktop을 깔아두어서 사용중인데 이것때문에 문제가 발생할수도있나요? nginx 이미지를 통해 컨테이너를 생성하면 안꺼지는데 redis, mysql, mariadb같은 데이터베이스 이미지만 사용하면 꺼지네요.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
강의가 재생이 되지 않습니다.
nginx 웹서버 설정 이해2해당 강의가 위와 같이 뜨고 재생이 되지 않습니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
깃액션은 성공하지만 계속 서버가 Killed 됩니다.
name: Deploy TO EC2 on: push: branches: - main jobs: Deploy: runs-on: ubuntu-latest # SSH로 접속하는 명령어를 쳐주자. # 일일이 다 쳐도 되지만 불편하기때문에 github actions의 라이브러리를 사용하면 편하다 # uses는 내가 어떤 라이브러리를 쓸 건지 기재하는 곳이다. steps: # SSH는 다른 원격 컴퓨터로 접속하는 프로토콜이다. # Github Actions도 하나의 컴퓨터고, EC2도 하나의 컴퓨터이므로 SSH를 통해서 원격 접속을 진행해주자. - name: SSH(원격 접속)로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.HOST }} # IP 주소를 말함 username: ${{ secrets.EC2_USERNAME }} # EC2를 연결할 때 사용자 이름 key: ${{ secrets.EC2_PRIVATE_KEY }} # EC2에 접근할 때 사용하는 키 페어 script_stop: true # run이 아닌 script로 실행하는 라이브러리도 있으니 예제파일을 참고하자 # EC2에 접속해서 실행한 명령어들을 차례대로 작성해주자 # 1. 프로젝트의 해당 경로로 이동 # 2. github에서 프로젝트 pull # 3. gradlew 재 빌드 # 4. 포트번호 8080서버를 끄거나 서버가 이미 꺼져있어도 true # 5. SNAPSHOT.jar로 끝나는 파일을 실행. 로그는 output이라는 파일에 남김 script: | cd /home/ubuntu/personal-cicd-server git pull origin main ./gradlew clean build sudo fuser -k -n tcp 8080 || true sudo java -jar /personal-cicd-server/build/libs/*SNAPSHOT.jar > ./output.log 2>&1 & 메모리 부족 문젠가 싶어서 https://velog.io/@kwontae1313/AWS-EC2-%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%9A%A9%EB%9F%89-%EC%A6%9D%EC%84%A4위 링크를 보며 메모리 용량 증설도 해주었으나, 이후에도 안되어서 t3.small로 인스턴스 유형을 변경하였습니다.근데 계속 Killed이 뜨네요..ㅠㅠ 다시 서버를 실행시키면 코드가 변경은 되어있구요.. 왜 계속 프로세스가 죽는걸까요..??
-
미해결대세는 쿠버네티스 (초급~중급편)
cat join.sh시 존재하지 않는다네요
join.sh가 없는데 다시 vagrant up 해야하나요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
리액트 배포하기..
안녕하세요!! 혹시 리액트로 배포하는 방법도 알려주시면 안될까요 ? ㅜ
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
팀프로젝트시
안녕하세요! 취준생입니다!교육받는 곳에서 취업을 목표로 팀프로젝트(4명)를 진행하려고 하는데, 방법4까지만 해도 괜찮을지 5까지 하면 포트폴리오로써 더 좋을지 궁금합니다..
-
해결됨인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트
The edge runtime does not support Node.js 'crypto' module.
[auth][error] JWTSessionError: Read more at https://errors.authjs.dev#jwtsessionerror[auth][cause]: Error: The edge runtime does not support Node.js 'crypto' module.Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtimeat Object.get (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\_b7b28d92._.js:62:41)at C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\node_modules__pnpm_e56295b8._.js:8637:62at getSecret (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\node_modules__pnpm_e56295b8._.js:8620:20)at push.[project]/node_modules/.pnpm/jsonwebtoken@9.0.2/node_modules/jsonwebtoken/verify.js [middleware-edge] (ecmascript).module.exports (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\node_modules__pnpm_e56295b8._.js:8623:12)at Object.decode (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\[root-of-the-server]__273b5c62._.js:135:233)at session (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\0253f_@auth_core_77718842._.js:4516:39)at AuthInternal (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\0253f_@auth_core_77718842._.js:5123:269)at async Auth (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\0253f_@auth_core_77718842._.js:5379:34)at async handleAuth (C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\node_modules__pnpm_e56295b8._.js:3885:29)at async C:\project\whatsForLunch\basic-app\frontend\.next\server\edge\chunks\_b7b28d92._.js:12505:20[auth][details]: {}GET / 200 in 137msauth.ts에 jwt: { encode: async ({ token, secret }) => { return jwt.sign(token as jwt.JwtPayload, secret as string); }, decode: async ({ token, secret }) => { return jwt.verify(token as string, secret as string) as JWT; }, },이 부분을 추가한 이후부터 The edge runtime does not support Node.js 'crypto' module.이 에러가 발생하는데 해결이 어렵네요.. 코드는 노션이랑 강의 보고 다 비교해 봤는데 드른 부분은 없었스빈다..
-
해결됨인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트
토큰 쿠기 유실 원인
안녕하세요 강의 잘 보고 있습니다.현재 섹션4까지 전부 수강한 상태이고 슬랙에는 해당 강의에 대한 질문 채널은 따로 없는 거 같아서 여기에 질문 남깁니다 로그인할 때 authjs.session-token 라는 쿠키가 생기지 않는데 로그인 후 메인 페이지로 돌아오면 로그인된 이메일 정보가 나옵니다그리고 새로고침하면 다시 없어집니다혹시 쿠키가 제대로 저장되지 않는지 이유를 알 수 있을까요? 아래는 섹션4까지 수강한 코드입니다https://github.com/account-0021/inflearn-clone