위 url은 ec2에 연결된 역할을 반환하는 url입니다. ec2에 연결된 역할이 없을 경우 해당 오류를 반환하게 됩니다.
해당 오류로 인해 프로그램이 실행되거나 프로세스를 진행할 때 문제가 되진 않습니다.
https://stackoverflow.com/questions/58378329/aws-instance-metadata-for-iam-is-not-found
위 url은 ec2에 연결된 역할을 반환하는 url입니다. ec2에 연결된 역할이 없을 경우 해당 오류를 반환하게 됩니다.
해당 오류로 인해 프로그램이 실행되거나 프로세스를 진행할 때 문제가 되진 않습니다.
https://stackoverflow.com/questions/58378329/aws-instance-metadata-for-iam-is-not-found
원인
자바 entity와 DB의 table이 일치하지 않아서 발생
생각했던 영어 질문지의 형태가 영어 질문, 한국어 해석으로 구성된 다는 것을 만든 후에 알게 되어 추후에 수정후 ddl을 update로 두고
실행하였더니 위와같은 에러가 발생하였다. ddl이 update로 설정돼있기 때문에 알아서 업데이트될 거라 생각했지만 DB를 확인해보니 업데이트되지 않았다.
해결 방법
DB가 자동으로 변경되지 않은 점으로 보아 DB를 수정한대로 변경하면 해결될 것으로 추측했고 해결되었다.
The following declarations have the same JVM signature (0) | 2024.08.01 |
---|---|
The requested metadata is not found at http://169.254.169.254/latest/user-data/ (0) | 2022.08.16 |
Incorrect string value: '\xEC\x98\x81\xEC\x96\xB4...' (0) | 2022.08.01 |
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) (0) | 2022.08.01 |
duplicate content roots detected (0) | 2022.07.28 |
아래 코드처럼 파라미터로 넘어오는 2개의 클래스가 있고 해당 클래스에는 id 라는 변수가 둘다 존재합니다. 이럴 때
source = 해당클래스.id 이런식으로도 매핑이 가능합니다.
@Mapper(componentModel = "spring")
interface QuestionMapper {
fun toEntity(request: RequestSaveQuestion, member: Member): Question
@Mapping(source = "question.id", target = "question_id")
fun toResponse(question: Question, member: Member): QuestionResponse
}
쿼리스트링 파라미터를 배열처럼 전달 받는 방법 (0) | 2022.08.10 |
---|---|
DBbeaver에서 컬럼 삭제가 안보일 경우 (0) | 2022.08.10 |
VPC 네트워킹의 동작원리 (0) | 2022.07.25 |
크롬 드라이버의 find_element_by_css_selector 간단한 사용법 (0) | 2022.03.20 |
수동으로 프로젝트 제배포하기 (0) | 2022.03.06 |
이번에 여러 문제를 담을 table을 개발하고 쿼리스트링으로 여러 조건을 건내받기를 원했다. 이번에 선택한 방법은 하나의 파라미터에
difficulty=HARD-NORMAL 이런식으로 담겨오면 -값을 기준으로 스플릿하여 배열처럼 사용하였지만 id =1, id=2, id=3 이런식으로 하여서 배열처럼 받아올 수도 있는 것 같다 해당 방식은 아래 블로그를 참조하였다.
https://webisfree.com/2017-03-28/쿼리스트링-파라미터를-배열로-전달하는-방법은-어떤게-있을까요
mapstruct에서 mapping 할 때 꿀팁 (0) | 2022.08.10 |
---|---|
DBbeaver에서 컬럼 삭제가 안보일 경우 (0) | 2022.08.10 |
VPC 네트워킹의 동작원리 (0) | 2022.07.25 |
크롬 드라이버의 find_element_by_css_selector 간단한 사용법 (0) | 2022.03.20 |
수동으로 프로젝트 제배포하기 (0) | 2022.03.06 |
Database Navigator -> DB선택 후 우클릭 -> Connection view -> Advanced 클릭
mapstruct에서 mapping 할 때 꿀팁 (0) | 2022.08.10 |
---|---|
쿼리스트링 파라미터를 배열처럼 전달 받는 방법 (0) | 2022.08.10 |
VPC 네트워킹의 동작원리 (0) | 2022.07.25 |
크롬 드라이버의 find_element_by_css_selector 간단한 사용법 (0) | 2022.03.20 |
수동으로 프로젝트 제배포하기 (0) | 2022.03.06 |
LazyInitializationException과 트랜잭션, 영속성 컨텍스트에 대한 이해 (0) | 2024.12.01 |
---|---|
Kotlin, JPA 환경에서 Entity 설계에 대한 고민 (0) | 2024.09.08 |
@Enumerated (0) | 2022.07.25 |
Incorrect string value: '\xEC\x98\x81\xEC\x96\xB4...'
위와 같은 에러가 나며 maria db를 사용한다면
ALTER TABLE 테이블 이름 convert to charset utf8;
위 명령어로 해결 가능하다. 위 명령어는 테이블의 charset 을 utf8로 변경하는 것이다.
ec2 프리티어에서 만든 프로젝트를 빌드해보았다. 하지만 예상외로 시간이 많이 걸려 빌드를 실패하였다.
한 번에 50분이 넘어가는 경우도 있었다. 이를 해결하기 위해서 빌드를 빠르게 하는 방법과 해당 문제를 가진 사람들이 있는지 서치한 결과 gradle.properties 파일에 해당 값을 넣어주는 것으로 17분 만에 빌드에 성공하였다.
# for memory issue
org.gradle.daemon=false
# memory allotted to JVM
org.gradle.jvmargs=-Xmx1024m
# configure on demand
org.gradle.configureondemand=true
# parallel builds
org.gradle.parallel=true
# build Cache
android.enableBuildCache=true
# gradle caching
org.gradle.caching=true
램 1기가를 최대한 빌드하는데 쏘다 부으라는 ? 명령어로 보인다. 만약 gradle.properties 파일이 없다면 build.gradle 파일이 위치한 경로로 gradle.properties 파일을 생성해서 사용하면 된다.
could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement (0) | 2022.08.10 |
---|---|
Incorrect string value: '\xEC\x98\x81\xEC\x96\xB4...' (0) | 2022.08.01 |
duplicate content roots detected (0) | 2022.07.28 |
Failed to start bean 'documentationPluginsBootstrapper' (0) | 2022.07.27 |
invalid source release: 11 (0) | 2022.03.26 |
현재 저의 프로젝트는 자바 11을 사용하고 있기 때문에 11을 설치합니다.
우선 yum으로 설치할 수 있는 자바 버전을 확인합니다.
yum list java*jdk-devel
저의 경우 자바 7, 8 버전만 가능하다고 나왔습니다. yum 버전 업그레이드를 해야겠습니다.
sudo yum update
업데이트해도 설치할 수 있는 버전은 같았습니다. 아무래도 다른 방법을 사용해야 할 것 같습니다.
찾아 보니 아래와 같은 방식으로 자바 11을 설치할 수 있었습니다.
# aws coreetto 다운로드
sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm
# jdk11 설치
sudo yum localinstall jdk11.rpm
# jdk version 선택
sudo /usr/sbin/alternatives --config java
# java 버전 확인
java --version
# 다운받은 설치키트 제거
rm -rf jdk11.rpm
저같은 경우 이전 버전을 삭제 하려고 찾아보니 검색이 되지 않아서 위 과정으로 마무리 했습니다.
참조
기본 서버의 시간은 미국 시간대입니다. 한국 시간대가 되어야만 우리가 사용하는 시간이 모두 한국 시간으로 등록되고 사용됩니다.
date
위와 같이 date를 명령어로 입력하면 현재 사용하는 시간이 나타납니다. 예상한대로 저도 미국 시간대를 사용하고 있었습니다.
다음 명령어를 사용합니다.
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
2번째 명령어의 l은 L입니다. i의 대문자와 해깔릴 수도 있으니 주의해주세요
참조
스프링 부트와 AWS로 혼자 구현하는 웹 서비스
mac에서 간단하게 ec2 서버 접근하기 (0) | 2022.07.31 |
---|---|
devops의 변천사 (0) | 2022.01.18 |
AWS CLI (0) | 2022.01.16 |
외부에서 ssh 접속을 하려면 매번 아래와 같이 IP 탄력 주소를 알고있어야 됩니다.
ssh -i pem 키 위치 EC2의 탄력적 IP 주소
하지만 조금만 설정을 해놓으면 아래와 같이 접근할 수 있습니다.
ssh config에 등록한 서비스명
그럼 이제 진행해보겠습니다.
이제 다운 받은 키페어 pem 파일을 ~/.ssh/로 복사합니다. 이렇게 해두면 ssh 실행시 pem 키 파일을 자동으로 읽어 접속을 진행합니다.
이후부터는 별도로 pem키 위치를 명령어로 지정할 필요가 없게 됩니다.
cp pem 키를 내려받은 위치 ~/.ssh/
pem 키가 잘 복사되었는지 ~/.ssh 디렉토리로 이동해서 파일 목록을 확인합니다.
cd ~/.ssh/
ll
복사되었다면 pem 키 권한을 변경합니다.
chmod 600 ~/.ssh/pem키 이름
~/.ssh디렉토리에 config파일을 생성 합니다.
vim ~/.ssh/config
config파일의 내용은 아래와 같이 설정합니다.
Host 본인이 원한는 서비스명
HostName ec2의 탄력적IP 주소
User ec2-user
IdentityFile ~/.ssh/pem키 이름
작성이 끝났으면 :wq 명령어로 저장 종료합니다.
생성된 config 파일은 실행 권한이 필요하므로 권한설정을 합니다.
chmod 700 ~/.ssh/config
이제 실행해봅니다.
ssh config에 등록한 서비스명
참조
스프링 부트와 AWS로 혼자 구현하는 웹 서비스
ec2 서버 생성 후 꼭 해야되는 초기 설정 (0) | 2022.07.31 |
---|---|
devops의 변천사 (0) | 2022.01.18 |
AWS CLI (0) | 2022.01.16 |