반응형

전체 글 614

AWS RDS 연결이 안 될때

Workbench로 RDS에 접속하려니까 갑자기 연결이 안 되었다. ✔️ 확인해야 할 것 두 가지를 점검해본다. RDS가 퍼플릭 엑세스 가능으로 설정되어있나? 인바운드 규칙 확인하기 나는 내 IP로 설정해주었다. 접속이 안 된 이유는 RDS를 생성할 때 다른 장소에서 했는데 다른 IP로 접속하려니 안 된거였다. 모든 IP를 허용하는 게 편하기는 하지만, 보안의 문제가 있다. 🤨 인바운드는 내가 AWS의 인스턴스에 접속하는거, 아웃바운드는 AWS 인스턴스에서 밖으로 나가는 거다. 참고 👇👇👇 https://www.inflearn.com/course/aws-2/dashboard [무료] 클라우드 서비스 AWS - 인프런 | 강의 이 수업은 클라우드 서비스인 AWS(Amazon Web Services)의 기본..

AWS 2023.12.06

Nginx에 https 적용하기

certbot을 이용해서 배포한 서버에 https를 적용할 것이다.나는 Nginx를 Proxy server 용도로 사용하고 있다.공식 문서를 참고했는데 너무 간단하게 https를 적용할 수 있었다. (공식 문서 최고 🤗)   1. 사전 준비Software, System을 선택하면 그에 따른 설명을 보여준다.나는 Ubuntu 22 LTS를 사용하는데 저 선택 옵션에서는 Ubuntu 20까지밖에 없지만, 상관없다.  sudo apt-get remove certbotsudo dnf remove certbotsudo yum remove certbot apt / dnf / yum을 이용해서 Certbot을 설치했었다면, Certbot snap을 설치하기 전에 삭제해준다. sud..

AWS 2023.12.04

가비아에서 구입한 도메인을 Nginx 서버에 적용하기

가비아에서 구입한 도메인을 Nginx 서버에 적용할거다. 1. '레코드 수정'을 클릭한다. 2. '레코드 추가'를 클릭한 후 '호스트', '값/위치'를 입력한다. 값/위치는 EC2의 퍼플릭 IPv4 주소다. 호스트가 없으면 @를 입력한다. 이 경우 구입한 도메인이 test.shop이라면, http://test.shop http://www.test.shop로 접속하도록 만들고 싶으면 호스트에 www를 적어주면 된다. 3. nginx 설정을 변경한다. sudo vim /etc/nginx/sites-enabled/default i를 눌러서 insert 모드로 변경 후 servername 부분에 구입한 도메인명을 입력한다. 내 도메인은 비밀이다. 🐒🤫 저장할 때는 Esc 키를 누른 후 :wq를 입력하면, 저장과..

AWS 2023.12.04

Permissions for '*.pem' are too open.

ssh 접속 시 키 파일이 공개적이면 이런 에러가 발생한다. 권한 설정을 해주면 된다. 해당 키 파일을 우클릭 속성 ➡️ 보안 탭 ➡️ 고급 3. '상속 사용 안 함'에서 '이 개체에서 상속된 사용 권한을 모두 제거합니다 '를 선택한다. 4. '추가' 버튼을 클릭한다. 5. '보안 주체 선택'을 클릭한다. 6. '고급'을 선택한다. 7. 내 계정을 찾아서 추가한다. 8. 권한 설정을 해준다.

AWS 2023.12.03

AWS CloudFront

CloudFront Cache Server 전 세계 어디든지 빠르게 컨텐츠를 제공할 수 있는 CDN 🟡 CloudFront 생성 CloudFront와 S3를 연동해서 정적 리소스 파일 서빙용으로 사용할 것이다. 생성된 S3가 있다는 가정하에 CloudFront를 생성해보겠다. 추후에 https 적용 및 Route53 도메인 연결을 하면 좋을 것 같다 ! 원본 도메인에서 S3를 선택한다. 이름은 원본 도메인을 선택하면 자동으로 할당되길래 이걸로 사용했다. OAI 설정은 CloudFront를 통해서만 S3에 접속할 수 있도록 한다. 나는 AWS에서 권장한대로 CloudFront를 생성한 후 직접 버킷 정책을 수정하는 원본 엑세스 제어 설정(권장) 옵션을 선택했다. Legacy access Identities..

AWS 2023.11.29

[MyBatis] 순서가 있는 답글

🟠 요구사항 답글은 최근에 등록된 것일수록 위에 있게 한다. 위의 이미지에서 18번 답글이 17번 답글보다 더 최신 답글이다. 16번 글은 18, 17번 답글의 부모 게시글이다. reboard 답글 테이블의 필드 article_no 답글이 달린 조상의 번호 depth 쉽게 생각하면, 들여쓰기 step 답글의 정렬 순서 parent_no 원글의 번호(누구의 답글인지?) => 내 바로 위 부모의 번호 🟢 MyBatis 및 서비스 1. 새 글을 작성했을 때 @Transactional @Override public void writeArticle(Reboard reboard) throws Exception { reboardMapper.writeArticle(reboard); reboardMapper.newRep..

ORM/MyBatis 2023.11.27

JSON 타입에서 값 추출해서 JOIN하기

-- attraction 필드 값 예시 [{"order": 1, "orderDate": 1, "attractionId": 1886054}, {"order": 2, "orderDate": 1, "attractionId": 1920563}, {"order": 1, "orderDate": 2, "attractionId": 136249}, {"order": 2, "orderDate": 2, "attractionId": 136310}] attraction_plan 테이블에 있는 attraction 필드는 JSON 타입이고, JSON 객체를 담고 있는 배열이다. attractionId와 관광지 테이블의 attraction_info 테이블의 content_id 필드의 값을 이용해서 조인을 했다. select attr..

DB/MySQL 2023.11.21

연관 관계에 있는 데이터 삭제

alter table user_plan add constraint foreign key (plan_idx) references plan(plan_idx) on delete cascade; alter table attraction_plan add constraint foreign key (plan_idx) references plan(plan_idx) on delete cascade; 부모 테이블의 데이터가 삭제되면 연관된 자식 테이블의 데이터도 같이 삭제되도록 할려고 delete cascade를 줬다. 하지만, 안 된다. ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or..

DB/MySQL 2023.11.19
반응형