묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
가용영역마다의 nat 게이트웨이 필수?
선생님께서 설계하신 것처럼 가용영역마다 nat gateway를 생성하셨던데 가용영역마다 natgateway는 분리되어야하나요?region-b 의 server는 region-a의 natgateway를 이용할 수 없나요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.
안녕하세요.spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.강의에서는 products 테이블과 index 하나이지만실제로 프로젝트를 하게 되면 테이블을 여러 개 만들게 됩니다.가령, 학사관리 시스템의 경우 필요한 테이블이,student, professor, department, subject, course_registration.. 최소한 이정도는 있어야 되는데요...이러한 경우, Spring Boot JPA + Elasticsearch 조합으로 프로젝트를 진행하게 되는데. 테이블이 여러 개 있는 경우입니다.관리자 페이지이도 있어야 되고요.학생과 교수님의 경우에는 학생검색, 교수님 검색, 과목 검색, 학과 검색을 해야 되고, 관리자는 모두 다 검색할 수 있어야 됩니다. (수강신청내역검색 추가) 이런 경우에는 settings.json 파일을 어떻게 설정해야 되는지요?자세한 답변 부탁드립니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
aws eks --region ap-northeast-2 update-kubeconfig --name kube-practice 권한 거부
C:\Users>aws eks --region ap-northeast-2 update-kubeconfig --name kube-practiceAn error occurred (AccessDeniedException) when calling the DescribeCluster operation: User: arn:aws:iam::149536462938:user/my-computer is not authorized to perform: eks:DescribeCluster on resource: arn:aws:eks:ap-northeast-2:149536462938:cluster/kube-practice클러스터 전환이 안되는데 왜 이럴까요?우선 루트 사용자로 전환하니까 되긴 했습니다AllowEKSDescribeCluster고객 인라인인라인AmazonEC2ContainerRegistryFullAccessAWS 관리형직접AmazonEKSClusterPolicyAWS 관리형기존 iam유저 권한은 이렇게 지정되어 있습니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
CI/CD 자동화 배포 문제
강사님이 알려주신 대로 개인프로젝트 CI/CD 구축 방법-2 이거에서 하는데 자꾸 위와 같은 에러가 뜨는데 뭐가 문제인지 모르겠습니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
58 강에서 동의어처리가 안 됩니다
58 강에서 자동완성 기능은 잘 적용되나 동의어처리가 안 됩니다강의에 나온대로 elasticsearch와spring boot 의json파일에서 동의어처리와 자동 완성 처리를설정하고엘지 건조기엘지 휴대폰LG 에어컨엘지 청소기LG 공기 청정기엘지 식기세척기라고 POST 한 후에GET /products7/_search { "query":{ "multi_match":{ "query":"엘지", "type":"bool_prefix", "fields":[ "name.auto_complete", "name.auto_complete._2gram", "name.auto_complete._3gram" ] } }, "size":5 }이렇게 검색하면LG 에어컨LG 공기 청정기는 조회가 안 됩니다GET /products7/_search { "query":{ "multi_match":{ "query":"LG", "type":"bool_prefix", "fields":[ "name.auto_complete", "name.auto_complete._2gram", "name.auto_complete._3gram" ] } }, "size":5 }이렇게 검색하면LG 에어컨LG 공기 청정기만 조회 됩니다그리고, Spring Boot 를 사용하는 강의는 17, 18 강에서 하시고 kibana 에서 실습하다가 60강에서 다시 Spring Boot 에 적용하는 강의가 진행되는데, 18 강에서 없던 ProductService 가 이미 작성되어서 나옵니다.ProductControllerProductRepository도 그러네요...혹시 중간에 있었는데 제가 놓친 건가요?....
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
AWS EC2 인스턴스 생성하기 - 키페어 필요
12. AWS EC2 인스턴스 생성하기 인스턴스 시작할려고 하는데 키페어를 생성하라고 합니다. 새로 생성하면 되는걸까요..?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
opensearch nori 플러그인 지원
안녕하세요강의 너무 잘 듣고 있습니다!실무 위주로 쏙쏙 뽑아주셔서 공부하기 편해요~ 글을 남기는 이유는 다름이 아니라현재 opensearch에서 nori 플러그인 지원하고 있어서 입니다~~강의에서는 지원 안 하고 있다고 나와서요~
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
키페어 생성 시기
EC2를 생성 완료 한 후에 해당 EC2에 키페어를 만들어서 적용하는게 가능한가요? 아니면 EC2 생성할때 키페어를 추가하는것만 가능한건가요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
ECS는 사용 안 하나요?
ECS는 사용 안 하나요? ECS도 많이 쓰이는 거 같던데..
-
미해결비전공자도 이해할 수 있는 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이라는 요청을 보낸다고 했을 때 아무런 작업을 안해줘도 알아서 서로 통신을 하는지... 인프라 개념이 아직 미숙하다 보니 글도 장황한 것 같습니다 죄송합니다.. 😢정리해보면서도 스스로 구조를 잡고자 하는 중인데, 혹시 제가 놓치고 있는 개념이 있다면 알려주시면 정말 감사하겠습니다!
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
스프링부트에서 엘라스틱 인덱스 설정(동의어 필터 적용 에러)
개발환경 : WSL 기반의 리눅스 + 엘라스틱 서치spring boot : 3.5톰캣 서버를 구동하면 아래와 같은 에러가 발생합니다.request [HEAD http://localhost:9200/products] returned [HTTP/1.1 404 Not Found]2025-06-19T09:34:18.201+09:00 DEBUG 15492 --- [ restartedMain] org.elasticsearch.client.RestClient : request [PUT http://localhost:9200/products] returned [HTTP/1.1 400 Bad Request]인덱스를 생성하는 구문에서 에러가 발생하는데 이유를 살펴보면 아래와 같이 나옵니다.[illegal_argument_exception] failed to build synonyms from ['product_synonyms' analyzer settings product-settings.json 파일에 설정한 product_synonyms 부분에서 에러가 발생하고 있습니다.(혹시 잘못 작성했을까 해서 강사님의 github 파일을 복사했습니다.)---------------------------------------------------------------------------------------------[해결해보기]products_name_analyzer에서 product_synonyms 를 제거한 후 서버를 구동하면 서버는 문제없이 구동됩니다."products_name_analyzer": { "char_filter": [], "tokenizer": "nori_tokenizer", "filter": ["nori_part_of_speech", "nori_readingform", "lowercase"] },엘라스틱서치에 가서 확인해 보면 인덱스는 생성 되었으나 한글이 깨지는 상황입니다."analysis": { "filter": { "product_synonyms": { "type": "synonym", "synonyms": [ "samsung, �궪�꽦", "apple, �븷�뵆", "�끂�듃遺�, �옪�깙, 而댄벂�꽣, computer, laptop, notebook", "�쟾�솕湲�, �쑕���룿, �빖�뱶�룿, �뒪留덊듃�룿, �쑕���쟾�솕, phone, smartphone, mobile phone, cell phone", "�븘�씠�룿, iphone", "留λ턿, 留�, macbook, mac" ] } },[질문1] product_synonyms 필터가 적용된 상태에서 서버를 구동하는 부분 에러[질문2] 한글 깨짐 에러
-
해결됨쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Image Updater에서 새 Image가 감지되지 않아요
안녕하세요.질문은 아니고, 혹시나 저와 같은 현상을 겪는 분들이 계실 것 같아 글 남겨둡니다. 게시글과 계속 똑같이 진행해봐도 ImageUpdater에서 새로운 Image가 감지되지 않아 아무런 반응이 없는 현상을 겪었습니다. ChatGPT나 여러 레퍼런스들을 찾아봤을 때, Details > Annotations 에 정의한 내용과 Helm에서 정의한 내용이 일치하지 않으면 ImageUpdater에서 해당 작업을 건너뛴다는 내용이었습니다. 그래서, 결과적으로는 Release Repo의 2232/deploy/helm/api-tester경로에 있는 values-*.yaml 파일 내의 내용 중, 아래의 부분을 수정하는 것으로 정상적으로 작동하는 것을 확인했습니다.### 기존 내용 image: repository: 1pro/api-tester pullPolicy: Always tag: 1.0.0 ### 수정 후, 내용 image: repository: {username}/api-tester pullPolicy: Always tag: 1.0.0(물론, {username} 은 그대로 쓰시면 안 되고 자신의 Docker Username이 들어가야 합니다.) 제가 이전 강의에서 놓친 부분일 수도 있지만, 비슷한 현상을 겪는 분들이 꽤 계신 것 같아 조금이나마 도움이 되고자 글 남깁니다..!
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
30000 Port로 접속이 안됩니다 ㅠㅠ
포트포워딩 실습할때는 정상적으로 접속이 됐는데 service를 통한 접속은 안되네요 ㅠㅠ pod 로그를 찍어보니 요청 자체가 안간거 같아요 ㅠminikube service --url spring-service위의 명령어로 만들어지는 url로는 정상적으로 접근이 됩니다.
-
해결됨강의 하나로 끝내는 백엔드 모든 지식!
강의 자료 어디서 받을 수 있나요?
강의 자료 어디서 받을 수 있나요?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
안녕하세요. 실습 환경 질문드립니다.
안녕하세요~ 강사님. 강의 잘 듣고 있습니다.섹션 7, 8은 꼭 AWS를 이용해야만 실습이 가능한 섹션일까요? (아직 안들어봐서 모르겠는데 AWS가 아닌 다른 개인 클라우드 서버를 갖고 있다면 대체가 가능할지 여쭙고 싶어요.)
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
docker compose.yml 주석 중에 이해 안되는 부분이 있어요
es 설정을 입력해주는 부분이라고 이해했는데 운영환경에서는 설정하면 안된다는 게 무슨 말인지 잘 이해되지 않습니다.실제 docker 서버에서 경로에 elasticsearch.yml에서 설정하면 적용 안된다는 건가요? 아니면 보안 설정이라 실무에서 주의하라는 말씀이신가요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
jenkins pipeline step 3 실습 진행 중 VM 다운 및 에러 발생에 관한 질문 드립니다.
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다] 안녕하세요 일프로님!혼자서 해결해보려다가 하루종일 해봤는데 계속 같은 문제가 반복 되어서 질문드립니다. 현재까지 트러블 슈팅 해본 경험으로는 VM의 시스템 단의 문제 인걸로 파악이 됩니다.계속해서 일어나는 현상이 VM이 CPU 사용률이 높아서 K8s kube-system 내의 오브젝트들이 죽는 것이 반복 되는데죽었다 살았다가 지속 되다가 VM도 멈춰버립니다.이 환경을 최적화 하고 리소스 낭비가 있는 곳이 있다면 줄여서 정상적으로 실습을 하고 싶습니다. 참고로 제 노트북은 14코어에 렘 16Gb 입니다. CPU는 CICD 서버와 master node가 있는 서버가 돌아가도 50% 미만으로 여유가 있습니다. 렘 사용률은 90% ~ 95% 정도를 유지합니다. 1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요. Jenkins step3 blue-green 배포 진행 하다가 VM이 커널이 뻗어 버려서 리소스들이 부족한가 생각이 들어서 VM 종료 후 VitualBox 설정에서 VCPU 프로세서를 6 -> 12로 고쳐 다시 기동했습니다.Deployment들이 startupProbe 밑 설정들이 파드 로그들을 봤을 때 java 앱 기동도 전에 재시작이 되어 10초마다 60번 까지 체크 하는 걸로 고쳤습니다. 2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다. 지속적으로 VM에 문제가 발생합니다. [root@k8s-master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE app-1-2-2-1-78cbbff668-7vkls 0/1 Unknown 1 2d app-1-2-2-1-78cbbff668-jvzxq 0/1 Error 5 2d [root@k8s-master ~]# Message from syslogd@k8s-master at Jun 12 15:42:16 ... kernel:watchdog: BUG: soft lockup - CPU#2 stuck for 21s! [portmap:50410] 커널이 멈춰버리는 치명적인 버그가 있어서 검색해보니 사용 중인 리눅스 배포판(Rocky Linux 등)의 커널 버전에 알려진 버그일 수 있다고 들었습니다.그래서 sudo dnf update -y위 명령어로 커널 업데이트 했습니다. 업데이트 후에도 계속에서 top으로 조회 해도 cpu 사용률이 100% 를 넘어 가는 경우가 많아서 그럴 때 마다여러번 VM을 재시작했습니다. 재시작 후kubelet 과 containerd 도 재시작 하고 정상작동할 때 까지 기다리고 실습을 다시 진행했습니다.혹시나 전에 배포 했던 오브 젝트들이 차지 하고 있는 리소스 때문에 그런가 해서anotherclass-2** 으로 시작하는 네임 스페이스들을 anotherclass-221 제외하고 모두 삭제했습니다. 3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요. 반복해서 kubeapi-server가 죽습니다. 제 기동 되면 다시 kubectl 명령어가 됬다가 일정 시간이 지나고 다시 재시작 됩니다.그 동안 VM 이 느리지 않았는데 오늘 실습을 하고나서 kubectl 명령실행 시 꽤나 시간 약 (5초~30초) 후에 실행이 되거나 60초가 지나서 명령이 실행되지 않습니다.AI 한테 kube-apiserver 에러로그를 보여주고 답변 받은 내용도 보냅니다 3번 overflow는 2번 이 발생 해서 일어나는 현상이라고 생각이 되어서 3번 오류에 대한 AI 의 답변은 캡쳐 하지 않았습니다.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)6. 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Project URL와 Repository URL의 차이가 궁금합니다.
안녕하세요.젠킨스 파이프라인 기본 구성 및 배포 세분화 강의를 보던 중 궁금한 점이 생겨 질문을 남기게 되었습니다. 강의 영상의 8분 25초쯤을 보시면, Github project에 Project url을 지정하는 곳이 보입니다.그리고, 9분쯤에 Repository URL이라는 부분도 보입니다. 이 두 속성의 차이점이 궁금합니다. 제 개인적인 생각으로는 Project URL의 경우 해당 Repo가 Private일 경우 Jenkins에서 접근할 방법이 없기 때문에 단순히 명세의 개념이라고 생각했습니다.반대로, 실제로 Project 소스를 가져오기 위해 참조되는 것은 Credentials 속성을 가지고 있는 Repository URL일 것이구요. 혹시나, 제가 잘못 알고 있는 부분이 있다면 알려주시면 감사하겠습니다 !!
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
강사님 한번에 질문을 하게 되면 좋은데 그렇지 못해 죄송합니다.
인그레스서비스를 blue/green 배포하는 것은 잘 이해했습니다. 그럼 만약 ArgoCD를 여기에 사용 가능한지도 궁금합니다. 일반적인 blue/green 배포에서는 ArgoCD가 레이블을 자동으로 조정하는 것으로 알고 있는데 인그레스에서는 어떻게 동작하는지 설명 부탁드릴 수 있는지요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
현업에서 startupProbe 사용에 대한 질문입니다.
안녕하세요, 강의 내용과는 큰 관련 없는 질문이지만 지식 공유자님의 경험이 듣고 싶어서 질문 드립니다.저희 회사에는 EKS가 구축되어 있고, 기존에 사용하던 템플릿이 있어서 확인해 보았는데,startupProbe 없이 livenessProbe, readinessProbe만 최초 5초 정도 지난 후 동작하도록 세팅이 되어 있더라구요.저는 JVM 개발자이지만, 아직까지 다른 올라가있는 모든 App들이 파이썬 기반이라서 가능한 것으로 추측이 되었습니다.따라서 파이썬 기반이어서 최초 기동 시간이 필요가 없는 경우 등등 실제로 이런 식으로 startupProbe 없이 사용해도 무방한지가 궁금했고, 사용하는 경우가 자주 있다면 어떤 경우에 주로 사용되는지도 궁금합니다.감사합니다.