묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
Postman으로 응답받은 부분 질문 있습니다
Postman으로 요청을 보내는 게 첫 번째 사진에서 '사용자 -> EC2',그리고 2번째 사진인 Postman으로부터 받은 응답은 'EC2 -> 사용자' 맞죠? S3가 EC2엔 저 URL을 보내고, 서버에서 다시 가공해서 사용자에게 응답한 게 2번째 사진이 맞는지 궁금합니다. 좀 당연하다고 생각하고 있는데 혹시 제가 헷갈려서 틀렸을까 봐 확인차 질문드립니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
RAM & 스왑메모리 폭증하는 문제
안녕하세요! 강의 늘 잘 듣고 있습니다! CI/CD 배포하다가 서버가 자꾸 죽어서 스왑 메모리까지 도입을 했는데도 비정상적으로 RAM과 스왑메모리가 꽉 차는 이슈가 있는데 도저히 어떻게 해결해야할 지 몰라서 이렇게 질문 남깁니다! 서버 인프라 환경 ELB - EC2(t3.small, EBS: 30GiB)EC2 내부 : Docker 기반 Spring Boot + MySQL 8.0 + Redis문제 상황 어디가 구체적으로 문제인지 몰라서 그냥 구구절절 다 설명드릴게요.처음부터 CI/CD가 안된건 아닙니다. 원래 잘 됐었는데요.인증 도메인(일반/소셜 로그인) 정상 작동하는거 확인하고 push 해서 배포완료 후 docker-compose.yml 수정해서 push 하고나니까 갑자기 CICD 할때마다 서버가 다운되는 문제를 발견했습니다. yml 파일을 바꾸게 된 경위는, 토큰 받아오는 과정에서 에러 뜨는거 보고 docker-compose.yml에 redis 관련 환경변수를 등록하는걸 깜빡했구나 싶어서 그거 추가한게 다 입니다. 이게 전혀 문제가 안될텐데 이상하게 이 시점 이후로 계속 문제가 터져서 좀 난감합니다. 애플리케이션이래봤자 아직 인증도메인 & 유저 간단한 CRUD가 전부라서 무거울게 없기 때문에 t3.small로도 충분할거라 생각했지만, 혹시나 하는 마음에 t3.medium으로 scale up을 해봤습니다.그랬더니 이번엔 RAM 4GB와 Swap Memory를 5.9GB 까지 잡아먹는 비정상적인 현상이 계속 반복되더라구요. 혹시 한꺼번에 docker build를 해서 그런가 싶어서 container 별로 나눠서 빌드시키고 각 단계마다 sleep을 줘봤는데도 결과는 똑같았습니다. 아래가 이제 t3.small (Swap 4GB 설정)이구요 이게 t3.medium (Swap 6GB)입니다. (위와 로직이 좀 달라요. 근데 이러나 저러나 결과는 똑같아서..) 배포 관련 파일대상 : deploy.yml, docker-compose.yml, Dockerfile 글자 수 제한 이슈로 노션에다가 코드 올렸습니다.https://hooby.notion.site/CICD-OOM-2a6f6c063f3e805ba105d78284365fbe?source=copy_link 질문 혹시 제 deploy.yml이나 docker-compose.yml 에 문제가 있나요? 메모리 80% 이상 차지하는게 전부 Docker 관련 프로세스여서요. Update 2: 테스트 결과에 따라 하단의 질문들이 원인이 아니라는게 검증됨아니면.. t3.small이 docker 기반 Spring Boot + MySQL + Redis를 빌드 못할 수준인가요? (아닐 것 같긴해요.) 아니면 제 인증 구현 방식에 문제가 있어서 저럴 수도 있는건가요? Redis 기반으로 Token에 블랙리스트 설정하고, 클라이언트한테 쿠키로 토큰 심어서 내보내는 방식인데, 혹시 이게 문제가 될 수도 있는건가요? 근데 로컬에서 redis 랑 스프링부트 가동하고 htop으로 메모리 변화를 봤을 땐 문제 없어보이긴 했습니다.긴 글 읽어주셔서 감사합니다. Update 1: EC2에 직접 실행해본 결과 EC2에서 docker-compose.yml을 그 안에다가 직접 만들어서 mysql, redis만 띄우고Spring Boot는 클론해서 환경변수 직접 세팅해주고 실행해봤습니다. 이는 혹시나 혹시나 애플리케이션이 너무 비정상적으로 설계되서 메모리를 많이 잡아먹진 않을까 하는 우려에 임시로 이렇게 세팅해뒀습니다.결과적으로 잘 돌아갑니다. 메모리가 1.36GB 정도 잡히긴 하지만...? 그래도 redis + mysql + spring boot 다 돌렸을 때 이정도고 Swap 메모리 있으니까 괜찮지 않을까 하는 판단 중입니다. (아니면 호되게 지적해주세요) 하단은 임시로 세팅하기 위한 docker-compose.yml 입니다.https://hooby.notion.site/CICD-OOM-2a6f6c063f3e805ba105d78284365fbe?source=copy_link한번 이것도 CI/CD로 돌려봐야겠긴 한데, 우선 문제가 됐던 deploy.yml과 docker-compose.yml에서 어떤 문제가 있었길래 저런 사태가 발생했던건지 알고싶습니다.Update 2: 우선 대안으로 SCP 활용 강의에서 초기 프로젝트에 좋다고 했던 방법대로 해결했습니다. CICD 과정에서 메모리는 900MB 미만 수준에서 안정적으로 돌았습니다. 근데 제가 원했던 설계는 Docker로 Spring Boot + MySQL + Redis 일원화였기 때문에 개발 완료되는대로 다시 찾아봐야겠습니다.https://hooby.notion.site/Server-Infra-Setup-Remodeling-2a8f6c063f3e808a8674fbc2a62cdd22?source=copy_link
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
AWS S3 버킷에 퍼블릭 액세스 차단을 해야 하는 경우?
사이트에 들어온 사용자가 화면에 뜨는 이미지들을 보려면 퍼블릭 액세스 차단을 다 풀어서 퍼블릭 액세스를 허용해야 한다면, 퍼블릭 액세스 차단을 해야 하는 경우는 어떤 상황일 때 사용하는 건지 궁금합니다. 현업에선 S3 버킷을 보통 여러 개 만들고, 퍼블릭 액세스 허용하는 버킷과 차단하는 버킷들로 나뉘나요?
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
로드밸런서 연결 실패
배포 슬랙연동까지 잘 됬는데, 마지막, 로드밸런서 DNS연결이 안됩니다.node version, port 등을 수정 했습니다.여러번 시도 해봤으나 잘 안되네요. 궁금합니다. FROM node:22-alpine WORKDIR /app COPY myapp/package*.json ./ RUN npm install COPY myapp/ ./ EXPOSE 3000 CMD ["npm", "run", "preview", "--", "--host", "0.0.0.0", "--port", "5173"]{ "name": "myapp", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", "preview": "vite preview", "start": "vite preview --host 0.0.0.0 --port 5173" }, "dependencies": { "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@eslint/js": "^9.36.0", "@types/react": "^19.1.16", "@types/react-dom": "^19.1.9", "@vitejs/plugin-react": "^5.0.4", "eslint": "^9.36.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.22", "globals": "^16.4.0", "vite": "npm:rolldown-vite@7.1.14" }, "overrides": { "vite": "npm:rolldown-vite@7.1.14" } }
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
efs를 쓰는데 s3도 쓰는 이유가 궁금합니다.
정적 컨텐츠를 efs에 올려 놓고 써도 될 것 같은데 굳이 s3를 별개로 사용하는 이유가 궁금합니다.s3가 과금적인 면에서 대용량 파일을 다룰때 이점이 있는걸까요??
-
미해결프론트 개발자를 위한 백엔드 101 (NestJS, TypeORM)
SQL Sheell
SQL Sheell 깜빡 열렸다가 꺼지는데 postgresql-18.0-2-windows-x64 설치 해야 되나요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
cloud front 생성 방법이 변경 되었습니다
생성방법이 변경되어서 OAI적용을 어디서 해야 하는지 모르겠습니다.업데이트 부탁드립니다.
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
RDS에도 IP 주소가 있나요?
RDS 파트 다 듣고 삭제까지 하고 궁금해져서 직접 확인을 못 했는데퍼블릭 액세스에 체크를 하면 퍼블릭 IP 주소가 할당된다고 나와 있는데, RDS에도 탄력적 IP처럼 공인 IP가 있나요? 노션 자료엔 엔드포인트만 있고 IP 주소가 안 보여서 질문드립니다. +) 강의 순서가 CI/CD -> Docker인데Docker 먼저 듣는 건 비추하시나요? Docker 강의 자체가 CI/CD 강의를 이미 수강한 사람들이라 가정하고 만들어진 강의인지, 아니면 우선순위 자체가 CI/CD가 먼저인 건지 궁금합니다. 잘은 모르겠는데 CI/CD 강의 중에 Docker를 활용하는 부분이 있길래... 그냥 Docker 먼저 듣는 게 나을까 생각이 드는데, 아무래도 그냥 로드맵 순서대로 하는 게 나을까요?
-
미해결99% J형 엔지니어와 함께하는 AWS EKS와 GitLab CI/CD 기초 완벽 정복
강의 노션 링크는 어디있는걸까요?
강의 노션 링크는 어디있는걸까요? 대시보드에 안보여서요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다.
올해 완강을 목표로 수강했는데 시간 부족으로 기간 내에 수강이 불가능할 것 같아요. ㅠㅠ연장 가능할까요
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
기존 AWS 콘솔에서 생성한 서비스들을 테라폼으로 관리할 수 있나요?
안녕하세요 그동안 AWS 콘솔에서 직접 VPC, EC2, S3, IAM 등 여러 서비스를 생성해서 사용해왔습니다.최근 Terraform 강의를 들으면서 코드 기반으로 인프라를 관리하고 싶다는 생각이 들었습니다.이미 콘솔에서 생성된 기존 리소스들을 Terraform으로 가져와서 관리하는 게 가능한지 궁금합니다.가능하다면 어떤 방식으로 진행하는 게 좋을지도 알려주시면 감사하겠습니다.
-
미해결쉽게 설명하는 AWS 기초 강의
Connection failed
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" RDS 접속 강의를 수강 중인데요. 선생님과 같이 해도 저는 Test Connection을 해도 Connection Failed가 뜹니다. 뭘 놓친 걸까요?
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
대상 그룹 관련 헷갈려서 질문드려요
복습하다가 궁금한 점이 생겼습니다. 강의에서 ELB 리스너에서 프로토콜을 HTTPS로 구성했는데 대상 그룹은 이전에 HTTP로 설정한 대상 그룹으로 지정한 거 맞죠? 근데 이전 자료(ELB란? / TLS, SSL과 HTTPS)에서 "HTTPS 인증을 받은 웹 사이트가 백엔드 서버와 통신하려면, 백엔드 서버의 주소도 HTTPS 인증을 받아야 한다." 이거 때문에 좀 헷갈리네요. HTTPS에 대한 대상 그룹을 새로 만들 필요는 없나요? 제가 이 부분에 대한 이해가 아직 부족한 것 같습니다. 강의에서 한 대로면 ELB의 HTTPS 리스너로 요청을 받으면 그걸 다시 대상 그룹으로 보낼 땐 HTTP로 보낸다고 생각하면 되나요? EC2 인스턴스 인바운드 규칙에도 HTTPS 말고 HTTP만 설정했던 거 같고... 지금은 인스턴스를 삭제해서 제가 어떻게 설정했었는지, 강의 그대로 하긴 했는데 다시 확인을 못 하네요.. +) 로드 밸런서는 삭제했는데, 대상 그룹은 굳이 삭제 안 해도 비용 발생은 안 하나요? EC2 인스턴스를 삭제해서 그런지, 대상 그룹 내부에 등록된 대상은 지금은 없다고 뜨긴 합니다.
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
3강 spting 빌드환경에서 mysql 부분 질문있습니다.
intelilJ 에서 어플리케이션 실행시 application.yml 프로파일에 default 부분이 깃허브에 올라온 파일에는 prod로 되어있고 그대로 실행하면 mysql에서 ordersystem 테이블 생성이 정상적으로 되지 않아서 강의를 상세하게 보니 코드부분에 local로 실행을 시키셔서 그것을 바꾸고 실행하니 테이블 안에 member , ordering , product는 생성되었는데 포스트맨에서 로그인 테스트시 임의로 만든 이메일 계정 조회시 404가 뜨는데 제가 어느부분을 놓쳐서 정상적으로 작동이 안되는걸까요?그부분 상세하게 설명 부탁드리겠습니다.
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
서버 인프라 관련 질문 (1)
안녕하세요!항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다.제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 일단 첫번째로 생각하고 있는건 ELB, Nginx에 대한 고민입니다. 내용이 길어서 질문은 나눠서 올리려고 합니다.제 머릿 속에 있는 걸 그냥 그대로 끄집어낼게요. ELB로 EC2에 직접 접근 (Client -> ELB -> Spring Boot) ELB를 80/443 으로 열고, http에 대한 타겟그룹을 8080로 설정한 후 EC2 쪽 인바운드는 8080만 열어야 하는가?ELB는 WAS가 아니라서 Nginx처럼 리액트 빌드 결과물 (정적파일)을 서빙 못하지 않을까?그럼 S3 파트에서 배웠던 내용대로 S3 + Cloud Front 방식으로 리액트 결과물 내보내야 할까?https 설정은 Nginx 대비 이게 더 편한거같음 Nginx만 사용 (Client -> WAS (Nginx) -> Spring Boot & React)ELB 대비 https 인증이 경험 상 상당히 까다로웠음 (자동 인증사 만료 처리도 해야하고...)EC2 안에서 React까지 처리하기 좋았음이 경우는 인바운드를 80/443 열고 nginx 에서 reverse proxy ELB + Nginx 사용 (Client -> ELB -> Nginx -> Spring Boot & React)ELB는 로드밸런서 역할과 https 인증 담당용 (로드밸런싱은 추후 확장가능성 염두, https 인증은 elb가 더 쉬우니까)Nginx는 내부에서 리버스 프록시 적용https 처리는 elb가 쉬우니까 이거 쓰고, 리버스프록시와 정적 파일 서빙은 nginx에게 위임하겠다는 취지만약 이럴 경우, ELB는 80/443 열고 EC2는 80만 허용하면 되는건가? 그러면 80->443 리다이렉션하고 443은 타겟그룹 80을 향해 들어가면, EC2에서 80으로 들어온 요청을 nginx가 리버스 프록시어떤게 적절한 선택일지 고민중입니다.서버 인프라를 구성하기 위해 참조할 만한 자료로 깃헙을 찾아보니, 다른 프로젝트 아키텍처 보면 다 2번처럼 하는 것 같았습니다. 근데 실습을 했을 때 ELB가 https 인증이 너무 쉽게 되었던게 매력적이었어서 차마 2번 방식에는 손이 잘 안갑니다. 근데 1번만 하자니, 과연 1번만으로 충분할까? 라는 의문이 들었습니다. 그래서 ELB랑 Nginx를 혼합해서 쓸까라는 생각까지 이어진건데요. 3번은 저 생각대로면 각자의 편의를 챙겨가기는 하지만 좀 더 복잡한 아키텍처같은 생각도 들어요. 우선 각각의 생각에 오류가 있는지, 그리고 전문가의 식견으로 봤을 때 어떤게 더 나은 접근인지 여쭤보고싶습니다. 어려운게 있으면 항상 박재성님 강의부터 찾습니다. 늘 도움받아갑니다. 감사합니다.
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
서버 인프라 관련 질문 (2)
안녕하세요!항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다.제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 고민하고 있는건 EC2 등 모델 선정입니다. 그리고 RDS, ElastiCache 도입여부 또한 고민중입니다.제 프로젝트는 거의 싸이월드 같은 사이트를 만들어야 하는 상황입니다.알림, 조회수, 좋아요 기능, 파일 업로드, 스트리밍, 게시판, 댓글 등이 주된 기능입니다.(이때 파일 업로드는 multipart/form-data 업로드와, 동영상과 같은 대용량 파일 처리를 위한 AWS Multipart Upload 방식으로 나뉩니다.) 한번 AWS 강의에서 배운걸 다 써먹어보고 싶어서 EC2, RDS, S3, ElastiCache 도입을 상정해봤습니다. 초기 단계 모델을 먼저 결정한 후 K6 등으로 동시접속자 수 100명 200명 300명 순으로 테스트를 진행해서 스케일업을 고려중입니다. (데모 시연도 하고, 실제로 한달 간 출시도 해봐야해서요)구상중인건 다음과 같습니다. 1단계 (개발 중) ::CI/CD용 : t4g.small (EBS 있으니까 여기 안에서 Redis랑 DB, 서버 다 돌림) + S3 2단계 (개발 완료 후 배포) ::실제 운영 테스트용 :Case 1. t4g.small + S3 (CI/CD용 그대로)Case 2. t4g.small + RDS + S3 (Redis는 EC2 안) (RDS는 EC2모델과 같은 사양으로)Case 3. t4g.small + RDS + S3 + ElastiCacheCase 4. t4g.medium + RDS + S3 + ElastiCache 근데 Case 3까지만 가도 AWS 계산기 돌려보니 월 10만원이 조금 넘더라구요. RDS에서 프록시나 Insights 설정 빼고 SingleAZ로 변경한게 저 수준이었습니다. 너무 비싸더라구요. Case 4는 한 17만 7천원 나오더라구요... RDS가 많이 비싼 것 같습니다.비용이 비정상적인게 아니라면, 그대로 진행해도 전 좋습니다. 배움에 돈아끼면 안된다고 생각하거든요.근데 그게 오버스펙이나 비정상적인 설계로 비용이 많이 나오는건 별개의 문제잖아요. 그래서 결국 어떻게 서버 인프라를 구축할지에 대한 고민이 많습니다.비용이 제 기준에서는 높지만 남들 기준에선 높은게 아닐 수도 있고, 아니면 정말로 너무 높게 나온걸 수도 있어서 정상적으로 프로젝트에 맞게 아키텍처를 구축한게 맞는지, 잘못되었다면 어떻게 조정해야할지에 대한 판단이 어렵습니다. 실례가 안된다면, 지금 제가 어떤 문제가 있는지, 제 상황에선 어떤 아키텍처가 적절한지 설명부탁드려도 될까요? 이건 저 생각이 들기까지의 내용들을 정리한 노션 페이지입니다.https://hooby.notion.site/Server-Infra-Setup-28af6c063f3e80b7a8c3d653add0c068
-
해결됨eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
S3 업로드 역할 부여 질문 드려요
안녕하세요, 강의 잘 듣고 있습니다.강의를 듣는 중 궁금한 점이 있어 문의드립니다. 현재까지는 EC2에 Spring Boot를 배포하고, EC2 인스턴스에 S3 접근 권한을 가진 IAM 역할을 부여해 S3 업로드 기능을 구현해 왔습니다.이번에 처음으로 EKS를 사용해보려고 하는데요,EKS에서도 EC2 워커 노드에 IAM 역할을 부여해 S3 접근 권한을 줄 수 있는지 궁금합니다.또는 일반적으로는 어떤 방식으로 S3 접근 권한을 설정하는지 알고 싶습니다.
-
해결됨AWS SAA-C03 자격증 대비-문제 풀이
선생님 정말 죄송하지만 수강기간 조금만 연장 안될까요?
먼저 유사한 질문이 있는지 검색해보세요.학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 핑계지만 여러사정상 이제서야 수강 하려고 하는데 기간이 얼마 남지 않아서요...꼭 강의 듣고 합격해서 합격 수기 수강평 남겨놓겠습니다 ㅠㅠ부탁드립니다
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다
이전에 구매하고 학교생활하느라 정신없어서 잘 듣지 못했는데지금 다시 들으려고 보니 기간이 거의 남지 않았네요ㅠ수강기간을 한 번만 연장시켜 주실 것을 부탁드립니다.. 감사합니다!
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
HTTPS 적용 이후 아이피로 접속
HTTPS 적용 이후엔 api.jscode-test.net/로 접속하니 정상적으로 HTTPS가 적용됩니다. 그런데 아이피인 43.200.101.5 혹은 43.200.101.5:80 혹은 43.200.101.5:3000으로 접속하면 HTTPS가 적용이 안 되어 있습니다.이유가 뭘까요? cmd에서 nslookup으로 www.google.com 아이피를 알아낸 다음에 아이피로 접속하면처음엔이렇게 뜨지만 '사이트로 이동' 버튼을 누르면 HTTPS가 적용이 되더라고요. 왜 구글은 아이피로 접속해도 HTTPS가 되고 제 사이트는 안 되는 걸까요? 구글은 뭔가 다른 설정을 더 했기 때문인가요?