묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 오류 질문
26강까지 내용을 모두 따라하고 실행하니 다음과 같은 오류가 뜹니다j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]o.s.boot.SpringApplication : Application run failed yml 설정도 잘 하고 mySql 버전도 맞는데 왜 오류가 날까요? ㅜㅜ
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
Amazon EKS Data Plane - 노드
안녕하세요 강의 잘 듣고있습니다. ㅎ강의에서 관리형 노드 그룹, 자체 관리형 노드, AWS Fargate 에 대해서 설명을 주셨는데요.그래도 선호하시거나 많이 사용하는 방법이 뭔가요 ?? 가령 AWS ECS 에서도 EC2 와 Fargate 가 있는데 , EC2 가 비용이 비교적 저렴하지만 여러 관리 부하 등을 고려했을때 Fargate 를 추천 많이하고 사용하는걸로 아는데요 EKS 는 어떤가요 ?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
aws professional강의 계획 문의
aws solutions architect professional강의(기출 풀이)도 듣고 싶은데, 강의 계획 있으신지요?
-
해결됨AWS(Amazon Web Service) 입문자를 위한 강의
사용자 목록에서 root유저 보이지 않는 문제
수업 듣다가 질문 남깁니다. 저도 다른 분처럼 사용자 목록에서 root 유저가 보이지 않습니다. 로그인시 분명히 root계정으로 들어왔는데 왜 그런지 모르겠습니다.
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
kubernetes cluster unreachable
안녕하세요.저는 퍼블릭 서브넷의 Bation host에서 프라이빗 서브넷의 EKS Cluster에 접근후 노드 그룹을 구성해놓은 상태입니다.저의 환경에서 github actions dev 배포가 필요해서 강좌를 참고하는 중인데 deploy 부분에서 위와 같은 에러가 발생했습니다.dev 배포 실습 강좌 전에 EKS 환경 설정은 모두 진행했습니다.구글링이나 chat gpt를 이용해봐도 명확한 해결 방법을 찾지 못했습니다.환경이 다른 문제일까요?
-
미해결AWS 클라우드 이해와 실습
Web App의 정확한 의미
안녕하세요 선생님!단어의 의미로 제가 이해하는데 약간의 혼동이 있는것 같아 이를 확실하게 하기위해 질문드립니다! 제가 알기로 vue.js등으로 구현된 애플리케이션도 강의에서 설명해주신 앱처럼 JSON형태의 데이터를 주고 받는것으로 알고 있습니다! 혹시 Web App은 타임리프나 JSP와 같은 뷰템플릿 엔진을 활용하여 서버에서 HTML을 응답하는것을 의미하신것일까요?Web App을 검색해보니 서버와 Json형태의 데이터를 주고받는 화면도 의미하는것 같아 좀 혼동이 되어서 질문드렸습니다! 감사합니다.
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
artifacts 에 대한 질문이 있습니다!
안녕하세요 지식공유자님 수준 높은 강의를 제공해주셔서 감사합니다! gitlab-sast 같은 내용을 artifacts 로 업로드에서 사용하시던데,artifacts 에 업로드 되는 내용으로 라이브러리 같은 것도 괜찮은가요? artifacts 를 cache 처럼 사용해도 되는건가요? 예를들어 python3.8 를 CI/CD 가 실행될 때마다 직접 빌드를 하게되는데, 10분 정도가 소요된다고 했을때,오래 걸리니, 한번 빌드 후 artifacts 에 업로드한 것을 다운 받아 사용하는 겁니다. (라이브러리 캐싱 처럼)
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
섹션10 언제 나오나요?
대략적인 일정이라도 궁금합니다
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
안녕하세요! 비용 질문한가지 드려요!
이번달 비용 예측중인데요월간비용누계와 이번달의 총 예상 비용은 무슨 차이 일까요? 예를들면 이번달 비용 예측이 12.3 달러라는 뜻일까요? 아니면 30달러가 맞는걸까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ec2 에 배포 자동화시 참고 코드 올려 봐여
ec2 에 배포할 경우 아래처럼 deploy.ytml 수정 하면 pm2 프로세스 종료 후 서버 시작까지 잘되요 여기에 뭔가 좀 빼고 더하는 개선이 필요할것 같은데 일단 기본적인 배포 액션은 잘 동작 합니다. deploy.ymlname: deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout the code uses: actions/checkout@v1 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: "18.x" - name: Create SSH directory run: mkdir -p ~/.ssh - name: Install pm2 run: sudo npm install -g pm2 - name: SSH Commands uses: appleboy/ssh-action@v0.1.6 with: host: ${{ secrets.AWS_SSH_HOST }} username: ${{ secrets.AWS_SSH_USERNAME }} key: ${{ secrets.AWS_SSH_KEY }} port: ${{ secrets.AWS_SSH_PORT }} script_stop: true script: | # sudo apt-get update || exit 1 cd express-redis-server/ sudo pm2 delete all || true sudo git pull || exit 1 sudo npm install || exit 1 sudo npm run build || exit 1 sudo pm2 start npm -- start
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
스스로 구축하는 AWS 네트워크 입문?
안녕하세요. 강사님..학습과 별개의 질문이긴 한데.. 어디다 문의해야 될지 몰라 여기에 문의 드립니다."스스로 구축하는 AWS 클라우드 인프라-기본편" 을 구입하여 기본을 익히는데 많은 도움을 받았으며, 인프라 기본편 구매 당시에 "스스로 구축하는 AWS 네트워크" 강의도 있었는데 어느 순간 없어졌더라구요..해당 강의가 어떤 구성인지 궁금하기도 하고 인프라 기본편이 너무 만족스러워서 강사님의 네트워크 강의를 통해 좀 더 학습하고자 하는데 혹시 다시 강의를 게시할 계획이 있으신가요?아니면 다른 대체할 추천해주실 만한 강의가 있는지 여쭤봐도 될런지요?감사합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장
바뻐서 거의 듣지를 못했습니다. 수강기간 연장 부탁드립니다. 꼭 부탁드려요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 부탁드립니다
완강했는데 한번 더 복습하고 싶습니다! 연장 부탁드립니다!
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
await 관련해서 질문드릴게 있습니다!!
안녕하세요 강사님 !! ㅎㅎ 강의 재밌게 듣고 있습니다. async await 방식이 코틀린의 코루틴과 굉장히 유사하다고 생각이 되는데 그럼 다음과 같이 Promise.all 대신 await를 늦추는 방식으로 풀어써도 똑같이 동작하나요?? async createBlog() => { await Promise.all([ Blog.insertOne({...}), // 1000ms User.UpdateOne({...}) // 1000ms ]) } // 실행시간 : 1000ms // 질문코드 async createBlog() => { const blogPromise = Blog.insertOne({...}) // 1000 ms const userPromise = User.updateOne({...}) // 1000 ms A(await blogPromise, await userPromise) } // 실행시간 : 1000ms(?)
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
에러가 해결이 안돼요ㅜ
에러 : Parameter 0 of constructor in com.group.libraryapp.service.user.UserServiceV1 required a bean of type 'com.group.repository.user.UserJdbcRepository' that could not be found. 구글링해보니까 service, repository 등의 annotation이 빠져서 그렇다고 하는데 다 들어가있습니다ㅜ계속 문제가 해결안돼서 참고하라고 주신 코드로도 변경해봤는데 계속 동일한 문제가 뜨네요.. package com.group.libraryapp.service.user; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.response.UserResponse; import com.group.libraryapp.dto.user.request.UserUpdatRequest; import com.group.repository.user.UserJdbcRepository; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserServiceV1 { private final UserJdbcRepository userJdbcRepository; public UserServiceV1(UserJdbcRepository userJdbcRepository) { this.userJdbcRepository = userJdbcRepository; } public void saveUser(UserCreateRequest request) { userJdbcRepository.saveUser(request.getName(), request.getAge()); } public List<UserResponse> getUsers() { return userJdbcRepository.getUsers(); } public void updateUser(UserUpdatRequest request) { if (userJdbcRepository.isUserNotExist(request.getId())) { throw new IllegalArgumentException(); } userJdbcRepository.updateUserName(request.getName(), request.getId()); } public void deleteUser(String name) { if (userJdbcRepository.isUserNotExist(name)) { throw new IllegalArgumentException(); } userJdbcRepository.deleteUser(name); } } package com.group.repository.user; import com.group.libraryapp.dto.user.response.UserResponse; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import java.util.List; @Repository public class UserJdbcRepository { private final JdbcTemplate jdbcTemplate; public UserJdbcRepository(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public boolean isUserNotExist(long id) { String readSql = "SELECT * FROM user WHERE id = ?"; return jdbcTemplate.query(readSql, (rs, rowNum) -> 0, id).isEmpty(); } public void updateUserName(String name, long id) { String sql = "UPDATE user SET name = ? WHERE id = ?"; jdbcTemplate.update(sql, name, id); } public boolean isUserNotExist(String name) { String readSql = "SELECT * FROM user WHERE name = ?"; return jdbcTemplate.query(readSql, (rs, rowNum) -> 0, name).isEmpty(); } public void deleteUser(String name) { String sql = "DELETE FROM user WHERE name = ?"; jdbcTemplate.update(sql, name); } public void saveUser(String name, Integer age) { String sql = "INSERT INTO user (name, age) VALUES (?, ?)"; jdbcTemplate.update(sql, name, age); } public List<UserResponse> getUsers() { String sql = "SELECT * FROM user"; return jdbcTemplate.query(sql, (rs, rowNum) -> { long id = rs.getLong("id"); String name = rs.getString("name"); int age = rs.getInt("age"); return new UserResponse(id, name, age); }); } }package com.group.libraryapp.controller.user; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.request.UserUpdatRequest; import com.group.libraryapp.dto.user.response.UserResponse; import com.group.libraryapp.service.user.UserServiceV2; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController //스프링 빈이 됨. 즉 jdbc에 의존하게됨 public class UserController { private final UserServiceV2 userService ; //@Quailifier("main")가 primary보다 더 앞선다. public UserController(UserServiceV2 userService){ this.userService = userService; } @PostMapping("/user") public void saveUser(@RequestBody UserCreateRequest request){ userService.saveUser(request); } @GetMapping("/user") public List<UserResponse> getUsers(){ return userService.getUsers(); } @PutMapping("/user") public void updateUser(@RequestBody UserUpdatRequest request){ userService.updateUser(request); } @DeleteMapping("/user") public void deleteUser(@RequestParam String name) { //query를 직접 사용해서 포스트맨으로 찾음 그래서 requestbody가 아니라 param을 씀userService.deleteUser(name); userService.deleteUser(name ); } }
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강신청 연장 부탁드립니다.
수강신청 연장 부탁드립니다.일이 바빠서 조금씩 밖에 듣지 못하고 있네요...
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
karpenter 동작이 이상합니다..(안됩니다)
순서대로 따라했으나, karpenter가 제대로 동작하지 않습니다.프로비저너 스펙으로 spot이나, 직접 인스턴스 유형을 지정한 경우나 둘 다 p4d.24xlarge 라는 말도 안되는 인스턴스를 요청하거나 계속 waiting on cluster sync 라는 문구가 나옵니다.왜 이런 오류가 나는건지 알 수 가 없네요 ㅠ ㅜ완전히 싹다 밀고 처음부터 하나하나 다시 천천히 입력해봐도 여전히 똑같습니다..
-
해결됨[2024] 실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
IAM 사용자별 EKS 접근 권한 추가 방법
안녕하세요. 강의를 듣다보니 궁금하여 문의드립니다.현업에서 IAM role에 따라서 EKS 접근 권한을 제한하여 동작을 시키고 싶을때 어떻게 하면 될까요? PL 에게는 EKS 모든 권리를 주고developer에게는 EKS 특정 pod 만 생성할수 있고 수정할수 있는 권한을 주고operator에게는 pod를 읽을수 있는 권한만 주려고할때 어떻게해야할지 모르겠네요. 찾아본 바로는 IRSA와 RBAC을 절적히 사용하면 된다고하는데 잘모르겠네요. 만약에 권한을 주는 것도 level 0, level 1, level 2 같이 권한으로 디자인하고 PL은 level 2 권한을 주고sub PL, develope는 level 1 권한을 주고 operator와 tester는 level 0를 주어 권한을 제한할수도 있을까요? IAM role을 가져올때 이 사람이 PL인지 아니면 sub PL인지 developer인지 구분할수 있는 방법이 있을까요? 강의 들어도 잘 모르겠네요. ㅜㅜ
-
미해결AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안
L4의 HASH 방식을 대체하는것이 가능한지요?
안녕하세요. WAF, LB 셋팅시 APP의 세션 공유하기가 어려워서, 로드밸런싱보다는 LB 셋팅할때 접속자 주소를 HASH 해서 특정 서버로만 밀어 주도록 설정할 수도 있을까요?
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
안녕하세요
질문 드립니다. 현재 4장에서 프로메테우스 스택 인스톨까지 진행하고나서예전 질문에 답변주셨던 1장의 마리오 게임을 배포했던 부분과4장의 Nginx 웹서버 배포를 복습하고 있습니다.원클릭 -> 프로메테우스 스택 -> mario apply, nginx apply 마리오는 Service로/ nginx는 인그레스로 apply 하는데요 NLB와 ALB로 외부 노출해야하는 조건이나 이유가 있는건가요 앱에 따른 차이일까요? 프로메테우스 스택을 보면 하나의 ALB로 묶기 위한 그룹이 명시되어있는데 그룹으로 묶어서 ALB로 열어주는 kind: IngressClass 은 보이지 않습니다, helm install시 알아서 설치되는 건가요?노드 익스포터가 포드로 배포되었기 때문에 노드에 존재하는 모든 앱의 메트릭 값을 자동으로 수집할 것이라고 생각했는데, nginx 파라미터 파일을 보면 metrics.enabled : true 소스가 있습니다. 각 앱을 apply 할때 metrics.enabled : true 값을 명시하는 것이 필수인 건가요?metrics.enabled : true값이 필수라면 마리오 게임을 배포할 때 metrics.enabled : true 값이 없었으므로 메트릭 값이 수집 되지 않는 건가요? 추가해야 할까요?4장의 nginx 파라미터 파일에 spec 소스를 추가 작성하면 도커허브의 html파일을 가져와서 배포할 수 있을까요?nginx배포시 레플리카 부분이 명시되어 있지 않아 1개의 포드만 생성될 것이라 예상했고, kubeops를 확인하니 실제로 1개만 배포되었습니다. 하지만 kubectl get pods 명령어 확인하니 nginx 2/2 ready 상태입니다.부하발생 실습 부분에서 레플리카를 늘려서도 시험해 보고 싶어서 helm upgrade nginx bitnami/nginx --version 14.1.0 -f nginx-values.yaml --set replicas=2 명령어를 사용했는데요, 업그레이드 됐다는 메시지는 출력 되는데 포드의 변화가 없습니다 어떻게 하면 될까요? NGINX 모니터링 대시보드 : 12708 사용,while true; do curl -s https://nginx.$MyDomain -I | head -n 1; date; sleep 1; done명령어 입력 후 3분 뒤 초록색 GO 사라지고 빨간색 NO DATA 출력, 모든 그래프 사라짐 -> Home Dashboards Kubernetes / Compute Resources / Namespace (Pods)에서 모니터링 네임스페이스 확인해보니 메모리 사용부분 1400% 찍혀있는데 서버 다운된건가요? 인스턴스 스케일업 해야하는건가요? t3미디엄입니다. - 만약 맞다면 추후 HPA나 CA를 통해 해결이 가능할까요?앱 배포시 프로메테우스 target에 nginx 잡히는 것은 확인했습니다. 실제로 부하를 줄 시 프로메테우스에서 부터 수집되는 메트릭 값을 확인해 보고 싶고 -> 그 값이 실제로 그라파나에 동일한 값이 출력되는지 확인해보고 싶습니다. 하지만 현재 프로메테우스에서는 어떻게 확인하는지 모르겠고, 그라파나에서는 No Data로 오류발생입니다