묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
테라폼으로 람다 형상 관리 방법
안녕하세요모든 리전 알람에 람다.tf 강의 버전으로 배포하면 람다 콘솔에서 코드를 수정하는 경우 테라폼으로 추적이 안되더라구요.변경점을 추적하는 방법을 찾아보니, 대충 테라폼에서 배포할 때 zip 형태로 말아 배포할때마다 hash값을 비교해서 변경을 감지한다는거 같은데 이도 사실 제가 정확히 이해했는진 모르겠네요.사실 저는 개인적으로 람다가 워낙 자주 수정되니 그냥 최초 배포할 때 이후로 따로 추적은 안하고 git 같은 곳에서 버전관리를 하면 되지 않을까라고 생각합니다.아니면, 람다 함수를 git, s3 등에서 버전을 관리하고 테라폼 모듈에서 source를 git or s3와 같이 지정해주면 될 것 같은데 실제 운영하실 땐 어떤 방식으로 테라폼으로 관리하는지 궁금합니다
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
SecurityMockContext 로부터 유저 정보를 가져오기
@Test @DisplayName("글 삭제") @CustomMockUser void test7() throws Exception { // given UserPrincipal principal = (UserPrincipal) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); Member byId = memberRepository.findById(principal.getUserId()).orElseThrow(UserNotFound::new); Post post = Post.builder() .title("Hello World") .content("Hello Java") .member(byId) .build(); postRepository.save(post); // expected mockMvc.perform(delete("/posts/{postId}", post.getId())) .andExpect(status().isOk()) .andDo(print()); }
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
강의 순서 문의
강의 추천을 받아 구매하게 되었습니다. 무료 강의 + 구매한 강의 총 4개가 있는데 4개 순서를 어떤식으로 들으면 좋을지 문의드립니다. 감사합니다.
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
iam 권한에 대한 질문
수업 잘 듣고 있습니다 궁금하게 있는데 , 처음에 aws ec2의 aws configure를 할때 , iam 계정을 사용해서 환경설정을 하고 뒤로 그 계정으로 putty로 접속해서 수업 실습을 따라하고 있는데, 궁금한게 ,저는 iam 계정에 VPC에 대한 권한을 준 적인 없는데 , iam 계정으로 configure한 CLI로 VPC 를 만들고 , Subnet을 만 들 수 있는게 신기하고 , 궁금합니다 , CLI로 접속하면 , iam 권한의 제한이 없어지나요 ? , iam 권한 젒속은 aws console에 한정되나요?
-
해결됨쉽게 설명하는 AWS 기초 강의
강의 제작을 해주심에 감사합니다.
안녕하세요 🙂저는 1인으로 서버리스 기반의 서비스를 개발하고 싶은 한 개발자입니다.최근 회사의 경영약화로 퇴사를 하게 되었어요.이참에 LLM기반의 풀 서버리스로 서비스를 개발해보자! (지식수준은 0이긴해요) 라는 생각이 들었어요.사실 이 강의를 지금 딱 만난게 저는 엄청난 럭키비키라는 생각이 들었고강의를 제작해주시고 말도 안되는 가격으로 지식을 전파해주셔서 너무나 감사합니다.이 강의를 기반으로 서비스를 출시하게 된다면 감사인사 다시 드리겠습니다.오늘도 좋은 하루 되세요 !
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
6강 import 존재에 대한 질문
수업 잘듣고 있습니다다름이 아니라 import를 하려면 , 내 local에 bucket에 대한 s3.tf파일이 있어야한다고 하는데 , 그럼 import를 하는 이유가 뭔지 궁금합니다 , 코드가 없으니까 , import 해서 받으려고 하는게 , 정상적인 사고 같은데 , 그럼 다시 내 local에서 s3.tf파일을 작성해서 import를 해야하고 , 그럼 import의 존재 이유는 내 local의 .tf코드와 만들어진 s3 bucket의 코드가 같은지 비교하는 용도인가요 ? 아니면 내 local의 s3.tf 파일이 aws의 s3 bucket의 코드와 완벽하게 일치하지 않아도 되는 건가요 ?, 만약 resource와 bucket의 이름만 같고 다름 옵션이 다를경우 import를 사용해서 가져오면 좋으니까? 이렇게 사용하는건가요? , 잘모르겠어요 ㅠㅠㅠ
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
docker compose 를 이용하는 방법?
프로젝트에서compose.yml 파일에 mysql과 redis를 적용 시켜놓은 상태입니다compose를 통해 명령 할려면 어떤 식으로 해야 되는지 감이 안잡혀서 여쭈어 봅니다
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
람다 캐싱 질문
안녕하세요. 4-10 강의를 보고 질문드립니다.람다는 stateless 방식으로 실행된다고 알고 있었는데, 전역 변수가 캐싱이 된다고 설명해주신 이유는 해당 프로젝트 같은 경우 모든 알람이 발생할때마다 실행되니, coldstart가 발생하지 않는다라는걸 전제하에 말씀해주신걸까요? 아니면 람다 자체에서 내부적으로 어떠한 동작에 의해 캐싱이 이루어지는건가요?===이 프로젝트는 모든 알람이 발생할 때마다 람다가 실행되니 coldstart로 응답이 느려질거 같진 않은데요, 만약 5~10분마다 실행되는 람다 함수라면 coldstart에 대한 대책으로 3분정도 주기마다 eventbridge로 람다를 트리거해주는 것도 방법이 될까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 부탁 드립니다!
안녕하세요!덕분에 AWS 개념을 잡고, 서비스를 접하며 잘 공부 하고있습니다.제가 일을 하며 강의를 수강하다가, 퇴사를 하고 공부를 하던 중에 부트캠프를 진행 하게되어시간적으로 한계가 있어 강의를 끝까지 수강하지 못했습니다.아직 부트캠프 기간이 5개월 정도 남았는데,수료 후 자격증 취득을 목표로 하고 있습니다.혹시 가능하다면, 수강 기강 연장을 부탁 드려도될까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
선생님 모든 IP 말고 제 IP로는 연결이 안 됩니다.
선생님 좋은 강의 감사합니다. 도중에 문제가 생겼는데 도무지 해결이 안 돼 글 남깁니다. ㅠㅠ너무 위험해 보여서 제 IP로 진행하고 싶어 보안 그룹에서 SSH 22번 포트 설정할 때 제 IP로 설정을 하였습니다. 제 맥북 터미널을 통한 SSH 원격 접속은 잘 되는데, 콘솔에서 강의에 나오는 웹 방식으로는 접속이 안 되고 있습니다.왜 이럴까요? IP가 잘못된 것은 아닙니다. IP를 바꾸고 제 맥북 터미널에서 SSH 접속을 해보면 접속에 실패하는 것으로 확인했습니다. 도대체 왜 이럴까요?
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
webhook 단점
안녕하세요slack 부분 구성이 좀 궁금해서 일단 해당 부분 강의만 봤는데Webook 단점 영상 중에 강사님이 만드신 Alert이 왔을때 생기는 버튼 및 Log에 대한 쓰레드를 달 수있는 기능은 webhook으로 불가능하다 하셨는데요.그렇다면, 저 기능을 이용하려면 Webhook말고 어떤 기능을 이용해야하나요?감사합니다.
-
해결됨AWS SAA-C03 자격증 대비-핵심 정리
Cross Origin 관련 질문 있습니다.
강의명 : S3 액세스 제어-버킷정책, CORS, 액세스포인트. pre-signed URL에서 4분 22초 부분의 설명 중 왜 정적 웹사이트 https://a.com과 S3 Bucket의 origin이 다른건가요??? S3 Bucket으로 요청을 하는 https://a.com의 프로토콜, 포트번호, 도메인은 모두 Browser의 프로토콜, 포트번호, 도메인 인건가요? orgin은 프로토콜, 도메인(=호스트), 포트번호 이 3개가 같아야 동일한 것으로 인식을 한다고 하는거 같은데.... 3개 중 뭐가 달라서 오리진이 달라지는 건가요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
프론트 백엔드간의 http 요청을 주고 받으려면
안녕하세요 선생님.저는 next.js로 만든 프론트엔드와, nestjs로 만든 백엔드를 ECS에 각각 서비스로 만들어 클러스터를 관리하고 있습니다.프론트엔드에서 fetch() 함수로 백엔드에 요청을 보내는데,이 때 백엔드 url을 결정하는데 어려움을 겪고 있습니다.처음에는, 서비스 연결 을 적용해서Request URL: http://languin-backend-container-8000-tcp.languin-cluster:8000/auth/check/email이런식으로 적용했었는데, ERR_NAME_NOT_RESOLVED 이란 에러를 만났습니다.혹시 이 문제가 fetch() 함수가 프론트엔드가 실행되고 있는 컨테이너가 아니라, 사용자 브라우저이기 때문에 Inter Service Communication이 적용이 안되는 건가요?프론트에서 백엔드로 요청을 보낼 수 있도록 하려면, 백엔드 주소를 어떻게 정해야 하나요? Route53을 사용해야 하는건가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
블로그 정리
안녕하세요 영상을 보면서 자격증 공부를 하고 있습니다. 영상 내용을 바탕으로 개인 블로그에 정리하며 공부를 하고 싶은데 강의 출처를 밝히고 블로그에 정리해서 올려도 되는지 궁금해서 질문을 남겼습니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 서버실행 오류
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-06-28 18:38:36.868 ERROR 35116 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.6.jar:2.7.6] at com.group.libraryapp.LibraryAppApplication.main(LibraryAppApplication.java:10) ~[main/:na]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.24.jar:5.3.24] ... 21 common frames omittedCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.24.jar:5.3.24] ... 35 common frames omittedCaused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:171) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.24.jar:5.3.24] ... 36 common frames omitted기존에 저랑 같은 문제를 갖고 있는 학우 분 코멘트 따라서runtimeOnly 'com.mysql:mysql-connector-j'기존 runtimeOnly 의존성을 지우고 해당 코드를 추가해줬지만 여전히 같은 에러가 나옵니다.어떻게 해결하면 좋을까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
도커 이미지 생성과 푸시 명령어를 할 수 있는 이유
안녕하세요 선생님. 질문 있어 글 남깁니다.Github actions에서 도커 이미지를 생성하고, ECR에 푸시하기 위해 사용한 docker build, docker push와 같은 명령어가 어떻게 실행 될 수 있는건가요?위의 테스트 과정에서 테스트를 위해 ubuntu 서버에 node를 설치했듯이, 여기서도 이미지 생성,푸시 위해서는 ubuntu 서버에 docker를 설치해야 되지 않나요?정리하면, ubuntu 서버에서 도커 설치 없이 docker build, docker push와 같은 명령어가 실행 가능한 이유가 궁금합니다
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 부탁드립니다.
제가 군인이라 생각보다 공부 시간이 부족하네요. 수강 기간 연장해주시면 감사하겠습니다.
-
해결됨AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
bastion서버가 있을경우 cli로의 접근은 권장되지 않나요??
강사님은 ssh나 sftp툴을 사용하시나요? connect 서비스를 사용하지 않는경우에 bastion서버는 처음사용하는데 cli를 사용하는 저같은경우 두번 접속하는게 조금은 번거롭게 느껴져서 궁금합니다
-
해결됨AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
java.net.UnknownHostException 에러 관련 질문입니다
현재 환경VPCpublic subnet 2개ALB, Nat gatewayprivate subnet 2개fagateSecurity grouppublic group (80포트 모든 ip허용)private group(80포트 public group아이피만 허용) 여기서 이미지 컨테이너 실행도중 한 컨테이너에서Caused by: ! java.net.UnknownHostException: 690bd678bcf4: Name or service not known와같은 에러와함께 컨테이너 실행이 실패했고스택오버플로우 검색에서 얻은 정보를 통해localhost를 수정하는 sh파일을 도커컨테이너 실행하도록 변경하여 에러를 해결했습니다.(해당 스크립트)#!/bin/bash set -e shift cmd="$@" echo "127.0.0.1 $HOSTNAME" >> /etc/hosts exec $cmd현재 실행된 컨테이너는 아무문제없이 잘 작동하지만제가 이부분에대해 이해가 잘 안되기도하고 올바른방법으로 해결한것인지 불안한감이 있어서혹시나 좋은 피드백을 받을 수 있을까해서 질문올립니다! 위에러는 강의랑 다른구성의 서버실행도중 발생한 에러이고 저또한 정확한 질문을 드린것은 아니라답변이 안될거라 생각되지만 혹시나하는 마음에 올려봅니다!!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수간 기간 연장 부탁드립니다.
수강 기간 연장 가능할까요?아직 시험일정을 못잡아서 추가적으로 학습이 필요할것 같아 기간 연장 요청 드립니다.