묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 - 영상 누락
[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 영상 확인해보면 3초짜리 영상만 있습니다.그외 영상은 짤린거 같습니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
코드 에러 요청
Spring boot 코드 에서 완성본에CreateProductRequestDto클래스에 public CreateProductRequestDto() { }기본 생성자가 없어서 파씽 관련 에러가 발생되는거 같습니다.삭제 Controller 가보면public ResponseEntity<Void> deleteProduct(@PathVariable(name = "id") Long id) 이렇게 @Pathvariable 옵션에 name 을 명시적으로 지정하지 않으면 Spring Converter 내에 문제가 발생되는거 같습니다.(spring boot 최신 버전 한에...)
-
미해결실무에서 꼭 필요한 서버 모니터링(Zabbix)
개선요청
강의 목소리가 너무 작아 볼륨을 많이 높이고 듣고 있는데, 수업중 나오는 메신저 소리만 충격수준으로 큽니다.조치가 필요합니다
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
질문있습니다!!
안녕하세요, 강사님의 커리큘럼이 여러모로 정말 많은 도움이 되고있습니다!! 항상 잘보고 있습니다.질문이 있는데요, compose 파일을 통해서 이미지화하여 Elasticsearch를 활성화 시키는데, Docker의 Elasticsearch 이미지를 DockerHub에서 다운받는게 아니라 직접 yml파일을 작성해서 실행시키는 의도는 무엇인가요??
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
ECR에서 이미지를 받아오지 못하고있습니다
ECR에서 이미지를 못받아 오는거같습니다... 무슨 문제일까요..NAME READY STATUS RESTARTS AGE spring-deployment-6fdbd9cd87-j8ljj 0/1 ErrImagePull 0 6m1s spring-deployment-6fdbd9cd87-mchqp 0/1 ErrImagePull 0 6m1s spring-deployment-6fdbd9cd87-tp5x6 0/1 ErrImagePull 0 6m1sError from server (BadRequest): container "spring-container" in pod "spring-deployment-6fdbd9cd87-j8ljj" is waiting to start: trying and failing to pull imageEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 4m7s default-scheduler Successfully assigned default/spring-deployment-6fdbd9cd87-j8ljj to ip Normal Pulling 70s (x5 over 4m6s) kubelet Pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0" Warning Failed 70s (x5 over 4m6s) kubelet Failed to pull image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": rpc error: code = NotFound desc = failed to pull and unpack image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0": no match for platform in manifest: not found Warning Failed 70s (x5 over 4m6s) kubelet Error: ErrImagePull Normal BackOff 10s (x15 over 4m5s) kubelet Back-off pulling image "960452239058.dkr.ecr.ap-northeast-2.amazonaws.com/kube-ecr:1.0" Warning Failed 10s (x15 over 4m5s) kubelet Error: ImagePullBackOff 아키텍처 불일치 문제 같은데ARM64용 이미지 빌드 및 푸시를 해서 해결하려니Dockerfile이 없다고ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory꼬리에 꼬리를 무는게 뭔가 잘못된방향으로 가는거 같아서 도움이 필요합니다..
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
no basic auth credentials
ECR 생성도 되었고 권한 추가 했고 codeDeploy 성공 했는데 도커 로그인 안된 것 같습니다. 이럴때 어떤 것을 살펴보면 될ㄱ까요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
CodeDeploy Amazon Ec2 인스턴스
ec2 러닝 중이고 탄력적 IP 까지 할당 받았는데, 키 , 값 선택이 안 뜰수가 있나요? 만약 안뜨면 그냥 직접 입력 하면 될까요??
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
alb에 있는 도메인을 프라이빗 서브넷에 있는 백엔드 서버에 연결하는 것이 맞는지 고민 중입니다.
위 그림은 제가 구현한 아키텍처입니다. 제 프론트 서버에서 도메인/api 경로로 백엔드로 요청을 보내기 때문에 ALB에 기본 도메인은 프론트서버로 라우팅, 도메인/api 주소는 백엔드 서버로 라우팅되게 하였습니다. 그런데 프라이빗 서브넷은 외부로부터 접근을 못하는 것에 의미가 있는데 도메인이 연결된 로드밸런서에 프라이빗 서브넷을 연결하면 route53에서 로드밸런서 ip주소에 요청을 보내고 로드밸런서는 /api가 붙어 있는 것을 확인하고 백엔드 서버 대상 그룹으로 요청을 보냅니다. 즉 백엔드 서버 자체의 공인ip가 없어도 사용자가 웹 브라우저에 https://grow-farm.com/api/auth/health 라고 적으면 백엔드 서버에 직접 요청을 할 수 있고 응답도 그대로 돌아옵니다 물론 이것은 헬스체크라서 열어둔거고 다른 API는 앱 내부 차원에서 프론트를 통한 요청으로만 접근 할 수 있게 조치는 취해놨지만 인프라 차원에서 서버가 개방되어있으니 이 설계가 베스트 프랙티스가 아닌 것 같다는 생각이 들었습니다. 제가 기존에 했던 방법으로 도메인을 가지고 있는 로드밸런서에서 프라이빗서브넷에 있는 ec2에 /api를 붙여서 경로를 붙이는 것이 자주 쓰이는 방법이고 제가 잘못 생각한 것이라 큰 문제가 없는지 궁금합니다! 만약 1번이 문제가 있는 방법이라면 대안으로 프론트 서버는 10.0.2.2 같은 백엔드 내부 ip주소로 요청을 보내게 코드를 바꾸고 로드밸런서에서 백엔드 서버를 해제하면 사용자들은 브라우저창에 10.0.2.2/api/auth/health 를 검색하더라도 백엔드 서버에 접근할 수 없는 숨겨진 공간이 될 수 있을 것 같은데 혹시 괜찮은 방법인지 궁금합니다.감사합니다!
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
로드밸런서의 DNS로 들어가면 통신이 되는데 ip를 검색하면 안되는 경우는 어떤경우가 있을까요?
완강했습니다!! 처음 올린 질문이 해결이 되어서 질문을 수정했습니다!위 사진은 제가 만드려고 하는 아키텍쳐입니다사진에는 빠졌지만 alb도 있고 프론트서버에 연결되어있습니다현재까지는 프론트서버만 만든상태입니다.퍼블릭 서브넷에서 인터넷 게이트웨이 설치하고 접속이 되는건 확인했습니다.alb는 80,443 허용하였고 프론트는 22,80,443,3000허용하였습니다. (22는 나중에 배스천호스트로 옮길 생각입니다)대상그룹은 프론트 ec2로 설정하였고 http 3000으로 설정해서 healty 연결된걸 확인하였습니다.1. 로드밸런서의 dns로 들어가면 접속이 됩니다2. ec2내에서 로컬호스트로 들어가면 접속이 됩니다3. 도메인이나 ip를 검색하면 접속이 안됩니다4. 로컬에서 nslookup하면 제 서버 ip를 찾지 못합니다.어떤부분에서 빠뜨린게 있을까요? 이것저것 찾아보고 고민해도 해결이안되어서 4시간동안 찾다가 질문 드려봅니다 ㅠㅠ조금 걸리는 점은 제가 도메인사고 인증서받고나서 모든 ec2와 보안그룹들을 다 지워서 비용이 안 나가게한 적이 있습니다. 그 이후에 다시 vpc, ec2 등등 만들고 기존 도메인과 인증서를 연결했는데 인증서를 새로 발급받지 않고 기존 것을 쓴 것이 혹시 문제되지 않았을까? 라는 것이 약간 걸립니다그런데 도메인뿐만아니라 ec2의 ip로도 접근이 안되기 때문에 관련이 없다고 생각하여 그 부분은 건들지는 않았습니다 ㅠ
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
Error: Process completed with exit code 126.
Run ./gradlew clean build2./gradlew clean build3 shell: /usr/bin/bash -e {0}4 env:5 JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.7-6/x646 JAVA_HOME_21_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.7-6/x647/home/runner/work/_temp/24e2a6f8-136d-471b-b2ea-6203042af791.sh: line 1: ./gradlew: Permission deniedError: Process completed with exit code 126.찾아보니깐 실행 권한이 없어서 ./gradlew 스크립트를 실행하지 못했다는 뜻이라고 하는데즉, Gradle Wrapper 파일에 실행 권한이 없어서 생긴 문제가 맞을까요? - name: gradlew 실행 권한 부여 run: chmod +x ./gradlew이렇게 붙여줬더니 되긴 하더라고요. 맞는 방법이 몰라서 여쭤봅니다.
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
강의내용설명중 이해안가는부분이 있습니다.
15분 정도 강의내용중에 "StatefulSet 경우는 스토리지 클래스가 먼저 만들어져 있는 상태에서 StatefulSets에 이 VolumeClaimTemplage이라는 속성에storageClass이름을 넣으면 이렇게 각각의 파드들이 생길때마다 PVC와 PV가 만들어지고 볼륨이 만들어지고 이 구성들이복잡해지는데 VolumeClaimTemplage사용하면 이렇게 storageclass가 있으면 statefulSet에서 사용만하면되서 구성방법은더 쉬워졌다."이말씀이 있습니다.같은 말인거 같은데요...전자 후자 모두 VolumeClaimTemplage 사용하는데 앞 내용에서는 복잡하고 뒤에서는 쉬워졌다고 말씀하시니 헷갈립니다.똑같이 VolumeClaimTemplage 사용하는 내용같은데 말이죠~
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2 와 CodeDeploy 연결 에러
The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems.CodeDeploy Agent는 EC2에서 active 상태이고, S3에 업로드도 잘 되었으며, IAM 역할도 다음과 같이 설정했습니다:- EC2 인스턴스 역할: code-deploy-ec2-role (정책: code-deploy-ec2-policy세부 S3)- CodeDeploy 서비스 역할: AWSCodeDeployRole 포함하지만 배포 시 아래와 같은 에러가 납니다:> The overall deployment failed because too many individual instances failed deployment, or too few healthy instances...추가로 EC2 내에서 /var/log/aws/codedeploy-agent/ 로그 폴더가 존재하지 않습니다. appspec.yml 및 start.sh도 정상 포함했고, S3에 .tar.gz도 업로드 확인했습니다.
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
tls ingress 기본값 설정
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/ssl-redirect: "true"tls 적용된 ingress는 redirect 기본값이 true라고 적어주셨는데kubectl get ingress -n anotherclass-322 portal-3222 -o yaml 로 보면 안나오는데위에 기본값은 원래 있다는 의미로 저렇게 적어만 주셨던걸까요? 그리고 portal.com:31443/hostname으로 접속하면 페이지가 열리는데 portal.com:31080/hostname 요청하면 https로 리다이렉션 되니 페이지가 열려야 하는거죠?그런데 노드포트가 아니니 안열리는것 뿐인거고...실제는 portal.com:31443/hostname이거 요청했을때와 똑같은 페이지가 열려야 하는거죠?
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
프론트서버와 net인스턴스 서버는 nano 인스턴스로도 충분할까요??
제가 프론트서버 백서버 NAT인스턴스 역할을 하는 서버 이렇게 EC2를 3개 쓰려구합니다!!백서버는 프리티어인 t2.micro로 하고프론트서버는 t4g.nano로 하려고합니다1. 프론트서버라 메모리가 백서버만큼 먹진않을거같고2. t4g.nano가 nano중에 제일 싼데 성능은 제일 좋고3. arm64기반이긴한데 Next.js 서버가 충분히 호환된다고 들어서입니당Net인스턴스서버는 t3a.nano 쓰려고합니다1. Net게이트웨이 대용이라 nano면 충분할거같고2. Net Ami가 x86_64기반이라 arm64기반은 어려워 t4g.nano는 쓰지못하여 다음으로 저렴한 x86_64기반인 t3a.nano를 택했습니다근데 걱정이 일단 t2.micro의 성능은 확인해서 백서버가 돌아가는건 확인했는데 nano인스턴스들이 프론트서버와 net인스턴스의 제 역할을 해줄지 성능이 부족하진 않을지 걱정이네요 ㅠㅠ 혹시 이정도면 충분한 성능이 될까용??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
cicd 전과정 잘 들었습니다
안녕하세요! 강의 잘 들었습니다. 저는 여기에 추가로 rds로 db 연결, 그리고 Dockerfile 세팅작업에서 나아가 compose.yml로 nginx,redis 등 세팅 해주려 하는데 그것도 이 기본 세팅 위에서 작업하면 되는건가요..? 감사합니다. 그리고 단일 프로젝트에서는 codedeploy까지는 안해도 괜찮은 건지 궁금하고 추후 무중단 배포로 갈때는 blue/green 이런 전략을 찾아보고 채택하면 되는지 질문드립니다!
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
cicd Vagrant 파일 다운로드 404 에러가 발생합니다.
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)6. 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/cicd-server/vagrant-2.4.3/Vagrantfile nano Vagrantfile404: Not Found파일 안에 위와 같이 적혀 있습니다.
-
해결됨비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
이 경우에는 인프라 설계를 어떤식으로 해야 비용을 가장 절감할 수 있을까요?
안녕하세요 강의를 보면서 실제 운영할 서비스를 AWS에 올리고 있습니다지금 AWS 기본편을 끝내고 중급편을 수강중입니다. 프리티어 사용중이고 서버는 스프링부트 프론트는 Next.js로 만들었습니다.저는 로컬에서 도커 이미지를 프론트, 백 각각 만들어서 Elastic Continer Registry로 전송하고 EC2 하나의 인스턴스에서 두개의 이미지를 다 받아와서 사용중입니다.DB는 RDS쓰고 있습니다. 기본편을 보고 따라 만들었지만 실제 운영할 목적이라 조금 변화를 주면서 따라했습니다.RDS의 보안그룹의 인바운드 규칙은 EC2의 인바운드 규칙을 포함시켰고 추가규칙으로 제 IP로만 접근가능하게 했습니다 .로드밸런서는 대상그룹을 프론트, 백 2개 만들어서 기본은 프론트로 보내고 /api/루트는 백으로 보내게 했습니다. 기타 보안그룹 설정도 조금씩 바꾸었어요사진은 서비스의 인프라 흐름 입니다 그런데 RDS와 EC2 공인ip 할당받은게 2개니 하루에 0.24달러 나가는 것은 알고있었는데확인해보니 VPC에서 하루에 0.72달러씩 나가고 있더라고요 아직 중급편 초반부라 서브넷 배우고 있어서 중급에서 추가로 설정한건 없습니다. 0.24달러가 나가야하는데 0.72달러가 나갔는데 제가 변화를 준 것 중에 추가로 돈이 나갈만한 것이 있었는지 궁금합니다. 아직 서비스를 당장 운영할 것은 아니어서 DB나 EC2등 이미 만든 것은 잠깐 지우고 싶은데 제가 도메인을 결제해서 이미 만든 것을 지우다가 도메인 산 것도 지워질까 무서워서 못 지우고 있습니다. 혹시 어떤 부분만 안 지우면 되는지 궁금합니다. 뒤에 배울 Net 게이트웨이를 써야만 보안이 가능한지 아니면 중급편에서 배울 다른 내용들로 충분한 보안이 가능한지 궁금합니다. Net 게이트웨이 비용이 무섭더라구요 ㅠ 제 상황에서 어떻게 인프라를 구성해야 가장 비용 절감을 할 수 있는지 궁금합니다. (EC2 t2.micro를 2개 만들어서 사용 시간 비용을 좀 내더라도 탄력적ip는 인스턴스 하나에만 할당하고 인스턴스끼리 통신은 프라이빗ip로 통신하고 다른 인프라를 삭제해서 비용을 아끼는 것을 생각해본적이 있습니다) 늘 좋은 강의 해주셔셔 감사합니다! 부하테스트랑 SQL튜닝 레디스도 결제했습니다!
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
tls인증서 관련시
반면, nginx에 인증서를 넣을때는 이런 도메인이름( DNS Name : *.com ) 을 사면 여러 어플리케이션에 적욜수 있는데 이때는 비용이 더든다는 단점!이 있다고 말씀하셨는데요 nginx에 인증서를 넣을때 말고 ingress에 저런 도메인을 넣을수는 없다는 얘긴가요? nginx에 인증서 넣을때 *.com만 넣을수있는것처럼 반면, 말씀하셔서....헷갈려서 여쭤봅니다. 하나의 명확한 도메인은 ingress에만 넣을수 있다는것이죠? * 로 만든 여러 인증서는 nginx에만 넣을수있고, 또 사설만 가능하구요?
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
노트포트타입서비스 만들때 관한 설명
모든 노드에 포트가 만들어진다.이포트에 들어온 트래픽은 각각의 워커노드에 있는 iptables로 들어간다고 하셨는데요.동시에 각각 들어간다는 말이 아니고 특정 워커노드로 들어가서 그 노드의 iptables로 들어가는거지요? 그런데 kube-proxy라 다른 노드의 있는 파드로 라우팅을 해준다고 했는데 그럼 iptables와 kube-proxy역할이 각각 다른건가요? iptables는 로드밸런싱역할을 해주는것인가요?
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
노드 cpu사용량
매번 새로운 job실행시마다 cpu가 100% 차고 그래서테스트가 순조롭게 진행되지 않느데느려질때보면 cpu가 99%찹니다.해결방법이 있을까요?;;