묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
rds read replica 접속 에러
시작 템플릿 - 유저 데이터에 write와 read 설정하고 오토스케일링 돌렸는데 에러가 납니다. 시작 템플릿에서 테스트로 인스턴스 생성해서 확인해보니 write는 문제 없는데 read에서 에러가 나옵니다. (여러번 설정해봄)ssh 접속해서 아래부분 실행 시 에러... 무슨 문제 일까요?java -jar build/libs/aws-msa-monolithic-prac-0.1.jar \ --spring.datasource.write.jdbc-url=jdbc:postgresql://goopang-rds-db.*****.ap-northeast-2.rds.amazonaws.com:5432:goopang_database \ --spring.datasource.write.username=postgres \ --spring.datasource.write.password=**** \ --spring.datasource.read.jdbc-url=jdbc:postgresql://goopang-rds-db-read-replica.****.ap-northeast-2.rds.amazonaws.com:5432:goopang_database \ --spring.datasource.read.username=postgres \ --spring.datasource.read.password=****2024-08-31T02:10:00.841Z ERROR 2333 --- [ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'javax.persistence.jdbc.url', 'hibernate.connection.url', or 'hibernate.dialect') 2024-08-31T02:10:00.907Z ERROR 2333 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'javax.persistence.jdbc.url', 'hibernate.connection.url', or 'hibernate.dialect') at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) ~[spring-context-6.0.9.jar!/:6.0.9] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) ~[spring-context-6.0.9.jar!/:6.0.9] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) ~[spring-context-6.0.9.jar!/:6.0.9] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.1.0.jar!/:3.1.0] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) ~[spring-boot-3.1.0.jar!/:3.1.0] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) ~[spring-boot-3.1.0.jar!/:3.1.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) ~[spring-boot-3.1.0.jar!/:3.1.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) ~[spring-boot-3.1.0.jar!/:3.1.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294) ~[spring-boot-3.1.0.jar!/:3.1.0] at com.prac.monolithic.awsmsamonolithicprac.AwsMsaMonolithicPracApplicationKt.main(AwsMsaMonolithicPracApplication.kt:13) ~[classes!/:0.1] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[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:569) ~[na:na] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[aws-msa-monolithic-prac-0.1.jar:0.1] at org.springframework.boot.loader.Launcher.launch(Launcher.java:95) ~[aws-msa-monolithic-prac-0.1.jar:0.1] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[aws-msa-monolithic-prac-0.1.jar:0.1] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[aws-msa-monolithic-prac-0.1.jar:0.1] Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'javax.persistence.jdbc.url', 'hibernate.connection.url', or 'hibernate.dialect') at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:277) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:229) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:197) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:166) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) ~[spring-orm-6.0.9.jar!/:6.0.9] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376) ~[spring-orm-6.0.9.jar!/:6.0.9] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-6.0.9.jar!/:6.0.9] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-6.0.9.jar!/:6.0.9] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352) ~[spring-orm-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1816) ~[spring-beans-6.0.9.jar!/:6.0.9] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766) ~[spring-beans-6.0.9.jar!/:6.0.9] ... 24 common frames omitted Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'javax.persistence.jdbc.url', 'hibernate.connection.url', or 'hibernate.dialect') at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:188) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:87) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:274) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:34) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264) ~[hibernate-core-6.2.2.Final.jar!/:6.2.2.Final] ... 39 common frames omitted 2024-08-31 02:10:01,061 - cc_scripts_user.py[WARNING]: Failed to run module scripts-user (scripts in /var/lib/cloud/instance/scripts) 2024-08-31 02:10:01,064 - util.py[WARNING]: Running module scripts-user (<module 'cloudinit.config.cc_scripts_user' from '/usr/lib/python3.9/site-packages/cloudinit/config/cc_scripts_user.py'>) failed Cloud-init v. 22.2.2 finished at Sat, 31 Aug 2024 02:10:01 +0000. Datasource DataSourceEc2. Up 122.75 seconds [root@ip-10-0-1-8 aws-operation-prac]#
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
인스턴스 타겟그룹 등록 언헬시
인스턴스 만들때 라우팅 테이블 어떻게 설정 되어 있나요 nat랑 연결되어있나요?
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
ECS Fargate 배포후 504 time-out
안녕하세요, 회사에서 GCP에서 AWS로 인프라를 이관 중에 있습니다. 강의를 들으면서 개발 서버를 이관했고 ECS에 서비스를 작동 중입니다. 하지만, Deploy는 Failed 하고 504 timeout-error가 발생하면서 ALB의 IP들도 모두 unhealthy 상태입니다. 이상한 점은 ECS에서 서비스 로그를 확인하면 스케줄러로 등록해뒀던 작업들이 실행되는 로그를 확인할 수 있습니다. 이로 미루어 볼때 서버는 실행이 되고 있는 상태이나 외부에서 접근이 안되는 것 같아 security-group 과 vpc 설정, 포트도 확인을 해봤었는데요. 그래도 해결을 못하고 있어서 이렇게 질문 남겨 둡니다. ㅠㅠALB Resource map2. ECS service 상태서비스 이벤트 로그 service has started 1 tasks: task ******* Amazon ECS replaced 1 tasks due to an unhealthy status.service registered 1 targets in target-group *****service port 3000 is unhealthy in target-group *** due to (reason Health checks failed).service deployment *** deployment failed: tasks failed to start.
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
NAT gateway 비용 절감을 위한 NAT instance (실습) 수업노트 오타
네트워크 인터페이스 이름을 확인 명령어natstat -i오타 제보합니다!netstat -i
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
비용을 줄이거나 잠시 일시중지 하려면 어떤 서비스를 중지해야하나요?
안녕하세요!한번에 모든 실습을 진행하면 좋겠지만. 섹션 별로 실습을 하고있는데 현재는 Elastic Load Balancer까지 진행하였습니다.그런데 비용이 하루에 1달러 정도씩 나가는거같아서. 이걸 좀 줄이고 싶은데 어떤걸 중지시키면 될까요?혹 중지 시키더라도 다시 재시작 하면 실습을 이어가면서 할 수 있나요?
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
질문있습니다!
안녕하세요뭔가 커뮤니티 리스트에 제 글이 계속 올라와서 민망한데.. 질문이 있어서 문의드립니다프라이빗 서브넷에 위치한 구팡 ec2의 보안그룹 인바운드 설정이고,그외에 강의에 나온대로 전부 설정이 제대로 되어있는데 unhealthy 상태가 그대로 유지되고있는데 혹시 어느 부분을 확인해야 할까요?
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
궁금한게 있어서 질문드립니다!
안녕하세요ELB 첫번째 강의에서'현재 우리가 구현한 구조에서의 문제점은 쿠팡 서버가 프라이빗 서브넷으로 이전되면서 API 요청을 받을 수 없게 되었다는 것입니다.'라고 하셨는데, 잘 이해가 되지 않아서 질문드립니다NAT 게이트웨이(혹은 인스턴스)를 설정하고 인터넷 게이트웨이로 연결되어서 외부 통신이 가능한 구조인것 같은데 왜 API 요청을 받을 수 없게 되었다는 것인가요??
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
Private EC2 인스턴스 접속에는 성공하였는데
advanced setting에 작성한 스크립트가 동작하지 않은 것으로 보입니다.bastion host로 프라이빗 서브넷에 위치한 EC2에서 로그를 확인했을 때Amazon Linux 2023 repository 0.0 B/s | 0 B 05:59Errors during downloading metadata for repository 'amazonlinux'- Curl error (28): Timeout was reached for https://al2023-repos-ap-northeast-2-de612dc2.s3.dualstack.ap-northeast-2.amazonaws.com/core/mirrors/2023.5.20240722/aarch64/mirror.list [Connection timeout after 30001 ms]과 같은 로그가 발견되는데..레포지토리에 접근하지 못하는거보면 80번 포트 관련한 내용인거같은데 혹시 문제가 무엇일까요?직접 sudo yum install -y git 등의 명령어를 수행해도 Waiting for process with pid 2984 to finish.Waiting for process with pid 3564 to finish이란 내용과 함께 다운되지 않습니다혹시 Bastion host의 보안그룹에 80번 포트를 추가하면 될까 해서 시도해봤는데요렇게 뜨면서 안되네요 ㅠㅠ
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
./gradle build 실행 시간
안녕하세요 강의 잘 듣고 있습니다./gradlew buildsudo java -jar build/libs/aws-msa-monolithic-prac-0.1.jar위 명령어를 실행하는 경우gradle build가 완료되지 않고Desired : 3 까지 인스턴스가 생성됩니다.인스턴스를 지금까지 생성하면서 계속 ./gradle build시 문제가 발생하는데 어떻게 해야하는지 궁금합니다.
-
해결됨AWS로 구축하는 MSA와 컨테이너 오케스트레이션
bastion서버가 있을경우 cli로의 접근은 권장되지 않나요??
강사님은 ssh나 sftp툴을 사용하시나요? connect 서비스를 사용하지 않는경우에 bastion서버는 처음사용하는데 cli를 사용하는 저같은경우 두번 접속하는게 조금은 번거롭게 느껴져서 궁금합니다
-
해결됨AWS로 구축하는 MSA와 컨테이너 오케스트레이션
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로 구축하는 MSA와 컨테이너 오케스트레이션
path기반의 라우팅 테스트 실패이유가 궁금합니다
라우팅 부분이 제대로안되는 것 같아 경로기반 라우팅 테스트후에 타겟그룹을 연결하려고 하는데요라우팅 테스트를 실패하지만 원인을 모르겠어서 질문드립니다. public subnet에 로드밸런스를 생성한뒤 80번 포트로 2가지 룰을 만들었습니다.첫번째는 기본값으로 default response를 반환2번째는 /mp4* 경로로 들어오는 모든 값에대해 mp4 reponse라는 텍스트를 반환하도록 설정했는데 alb도메인/mp4 입력시, alb도메인 입력시 모두 "default response"가 반환되는데어떤부분을 제가 이해못해서 안되는지 잘 모르겠는데 혹시 짐작가는 부분이 있다면 알려주시면 감사하겠습니다
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
강의 자료는 어디에 업로드되어 있는걸까요?
못찾겠어요 ㅠㅠ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이4 29번
무슨 소리인지 헷갈려서 ECS 직접 실습을 하려는데..Q. 서버리스인 Fargate로 어떻게 ECS 클러스터를 서로 다른 여러 가용 영역에 사용자 임의로 각각 생성할 수 있는건가요? Q. 테스크를 n개 만들면 로드벨런서가 n개의 테스크를 번갈아가면서 사용하기 때문에 이것이 가용성을 보장한다는 것 인가요?->이 n개의 테스크는 자동으로 서로 다른 가용영역에 생성되나요?->그렇다면 테스크가 1개일 때는 가용성이 없는건가요?Q. 문제 조건이 '세 가지 인스턴스가 항상 같이 실행되야 한다는 것' 아닌가요? 세 개가 아닌 세 가지면, 응용 프로그램의 각자 다른 기능을 가진 인스턴스 인것 같은데 이것들을 각각 다른 가용 영역에서 뿔뿔이 실행하는 것이 가용성을 만족하는 것맞나요? 문제가 정확히 뭘 묻는지, A와 C가 구조적으로 어떻게 다른건지 확실하게 정리가 안돼요ㅠ
-
미해결지금 당장 데브옵스 AWS
(확인) "시작 유형 호환성 선택 : Fargate 선택" 경로 확인 부탁드립니다.
제 작업 화면에서 못 찾겠네요좌측 제일 상단 버튼이 있었네요...