[aws] 드디어 때가 되었다, 반쯤 죽어 눈을 반만 뜬 나의 인스턴스를 살릴 시간이..(ec2 인스턴스 상태검사 1/2통과, 인스턴스 연결성 검사 실패)
cloud/aws2024. 5. 20. 22:31[aws] 드디어 때가 되었다, 반쯤 죽어 눈을 반만 뜬 나의 인스턴스를 살릴 시간이..(ec2 인스턴스 상태검사 1/2통과, 인스턴스 연결성 검사 실패)

0. 상황    - Docker compose로 java 어플리케이션을 3개 올려놓은 내 ec2 인스턴스는, docker compose를 up 한 뒤 24시간 이내로 CPU가 튀면서 인스턴스 상태검사에 실패하고, 배포 사이트 접속은 물론 ssh 접속마저 불가능해지는 이슈가 있었다.    - 모니터링을 확인해보니, compose up을 실행한 후 하루가 되지 않아 실제로 cpu 사용율과 cpu크레딧 사용량이 튀면서 더이상 네트워크 패킷이 정상적으로 오가지 않는 것을 확인할 수 있었다.1. 에러코드 전문    - 일단...로그를 뺄 수 있을까? 시도해 보자2. 원인    - Amazon ec2는 아래 세 가지 상태 확인을 통해 각 ec2 인스턴스 상태를 모니터링한다.        1. 시스템 상태 확인   ..

[AWS summit seoul 2024] 참가 일기 >-<
회고곡호고곡(회고록)2024. 5. 18. 21:11[AWS summit seoul 2024] 참가 일기 >-<

드디어 야나 난생 처음으로 AWS 써밋 댕겨왔습니다여이이이-!!!  개발로 넘어오기 전 근무했던 사무실이, 코엑스 바로 옆이었어서 감회가 더 색달랐다..!  첫 세션은 컨테이너..! EMR on EKS..!사실 아직 컨테이너 기술과 데이터 처리 분야에 대해서는 배경지식이 거의 없었기에 온전히 이해할 수는 없었지만(물론 설명을 정말 쉽게 해주신 덕분에 대략적인 감은 잡을 수 있었다!), 데이터 사용을 원하는 개발자들이 다른것이 아닌 "개발"에만 집중 할 수 있도록 플랫폼을 생성하고 개선해왔다는 부분이 인상적이었다.Apach Yunikorn, Airflow 관련해서도 이야기를 많이 해주셨는데, Yunikorn에서는 고급 스케줄링으로 자원경합을 방지하고 과도한 프로비저닝을 막았다는 부분의 원리가 궁금했고, A..

Project/(공통)troubleshooting2024. 5. 15. 21:38[멘토링] ec2인스턴스의 메모리 부족 관련해서, spring 어플리케이션의 가용 메모리에 제한을 걸어주거나 connection 생성에 제한을 두는 방법이 있을까요?

해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1.  ec2인스턴스의 메모리 부족 관련해서, spring 어플리케이션의 가용 메모리에 제한을 걸어주거나 connection 생성에 제한을 두는 방법이 있을까요?제 개인 포트폴리오를 위한 aws 인스턴스에서 스케일 관련 이슈가 있어 질문드립니다. 현재 aws 프리티어 ec2서버인 t2.micro에 docker-compose를 이용해 spring application 3개와 nginx를 띄워 리버스 프록싱을 적용함으로써 운영중입니다.어플리케이션을 띄울때에는 조금 느리다는 부분 말고는 정상적으로 구동이 되는데, 이틀간격으로 어플리케이션이 다운되는 현상을 마주했습니다.해당 부분 관련해서 파악을 해보니, 스프링..

Project2024. 1. 24. 13:01[AWS] 아마존 벽돌 그만 사주기 프로젝트, Resource Consolidation(월 25만원 - >2만원)

AWS… 월 청구 비용 25만원. 이게 정말 맞나요?(클라우드에 대한 이해 없이 진행한 배포의 비싼 수업료)  EC2 인스턴스 2개에서 spring - jsp 프로젝트와 node-react 프로젝트를 돌리던 어느날, 어마무시한 청구서가 날아왔다. 팀프로젝트를 진행하며 동일한 DB를 사용하기위해 공유했던 각 프로젝트들의 RDS 인스턴스와 더불어서, node-react에 대한 이해 없이 백엔드와 프론트엔드 각각의 js 런타임을 서버에서 돌리기 위해 규모가 큰 EC2인스턴스를 사용한 결과였다. AWS 클라우드와, Node 그리고 JS의 런타임에 대한 이해의 부족이 만들어낸 눈덩이같은 결과였다.  이에, 우선 사용중인 AWS 서비스들이 정말 필요한지 판단을 하기 시작했는ㄷ, 포트폴리오를 위한 서비스들이었고, 유..

Project2024. 1. 24. 11:22[Ncloud, AWS] aws밖에 모르던 클라우드린이의 Ncloud 적응기(Feat.. 클라우드에 대한 이해)

1. 학습 계기 취준생 시절, 개인/팀 프로젝트에서 매번 배포를 도맡으면서 AWS EC2, RDS, S3 등을 통한 배포에 어느새 적응해가던 내게, 좋은 기회로 외주 프로젝트의 기회가 찾아왔다. 당연하게 AWS로 배포를 시도하려던 내게 대표님께서 기존 외주 작업자들이 사용중이던 Ncloud를 통한 배포를 요청하셨다. 두구둥.. 그렇다 세상에는 AWS사를 제외하고도 수많은 클라우드 사가 존재했고, 최근 몇 년 간 ncloud사의 적극적인 영업으로 ncloud의 클라우드 시스템을 사용하는 회사들이 많아지기 시작했다고 들었다. 2. 이번 학습으로 인한 기대 효과 사실 기존에는 AWS를 사용하고 있었지만 "클라우드"라는 것에 대해서 완벽히 이해하고 사용하고 있다는 느낌은 받을 수 없었다. 단순히 '이런 상황에서..

[Docker] 도커... 그래서 그게 뭔데...?
Web_Backend/Docker2023. 9. 8. 17:15[Docker] 도커... 그래서 그게 뭔데...?

AWS 비용 줄이기 프로젝트 2일 차, EC2 인스턴스 하나에 프로젝트들을 전부 올리기 위해 방법을 구상하던 중, 요새 그렇게도 많이 들려오는 Docker라는 놈이 궁금해졌고 하나의 인스턴스에 여러 개의 프로젝트를 단순히 띄우는 것이 아닌 도커 컨테이너를 통해 띄우는 방향으로 잡고 진행해보고자 했다. 대략적으로 건너건너 들은 바로는 Docker를 통해 여러 개의 컨테이너를 동시에 띄울 때에는 Docker Compose를 사용하는 것 같은데, 우선 가장 기본적인 Docker를 통해 Ec2 인스턴스에 간편하게 프로젝트를 띄우는 것을 먼저 시도해보고자 한다. 1. Docker 그게 뭔데? Docker란 컨테이너 기반의 가상화 기술이지만, 기본의 Virtual machine과는 다르게 Host의 OS를 공용함으..

[mysqlDump] DB 합치기.. 그거 어떻게 하는건데.....? feat.. mysqldump
Web_Backend/DB2023. 9. 6. 22:01[mysqlDump] DB 합치기.. 그거 어떻게 하는건데.....? feat.. mysqldump

1. 안녕하세요? AWS에 벽돌 12,000장쯤 사준 YanaKo94입니다. RDB 인스턴스를 줄여야할 필요성의 대두..(feat 비용절감... 어디부터 해볼까..!) 그렇다, 프로젝트를 AWS RDS와 EC2를 통해 배포한 지 어언 1년가량이 흘렀고... 나의 AWS 관련 비용 지출은 이제는 조금 자신 있게 "아마존에 벽돌 낭낭히 사줬습니다"라고 할 수 있을 정도가 되어버렸다. 프로젝트를 내리고 싶지 않았기에 결국 비용 절감을 위해 기존 배포방식을 변동하기로 결심했고, EC2의 경우 인스턴스를 합치기 전에 CD를 구축하면서 업로드받는 resorce를 인스턴스 내부에 저장하는 방식에서 S3 storage로 변경하는 것이 필요하다고 판단해 우선 RDB부터 정리를 시작했다. 2. mysqldump, 뭐하는 ..

Project/(공통)troubleshooting2023. 5. 30. 06:40[AWS, SSH] Permission denied (publickey)

💡 Private key의 Permission이 너무 공개되어있기 때문에 발생한 이슈 에러 코드 McBookPro ~ % ssh -i "[pem 키 위치/파일명].pem" [계정]@[aws 퍼블릭 IPv4 DNS 주소] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '[pem 키 위치/파일명].pem' are too open. It is required that your private key files are NOT acces..

Project/(공통)troubleshooting2023. 5. 30. 06:37[RDS,mySQL] RDS 포트 변경 이슈com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

💡 RDS 포트를 보안 관련 이슈로 변경하였지만, yml에 변경된 포트를 반영해주지 않았기 때문에 발생한 이슈 에러 코드 2023-05-30 06:27:29.225 ERROR 58789 --- [nio-8021-exec-1] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received a..

[troubleShooting] AWS RDS 인바운드 포트 설정 관련(Operation timed out)
Project/(공통)troubleshooting2023. 5. 29. 17:56[troubleShooting] AWS RDS 인바운드 포트 설정 관련(Operation timed out)

💡 NAT 환경에서 공인 IP주소를 입력해주지 않았기 때문에 발생한 이슈. 에러 코드 DBMS: MySQL(버전 8.0.28) 대/소문자 구분: 일반=exact, 구분자 추가=exact 드라이버: MySQL Connector/J(버전 mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0), JDBC4.2) Operation timed out. 핵심 요점 와이파이 등 NAT을 이용할 시 공인 IP가 아닌 사설 IP를 AWS 보안그룹 인바운드 규칙에 추가할 시 계속해서 접근이 차단된다. 해결 방안 공인 IP를 인바운드 규칙에 추가한다 ipconfig가 아닌 네이버의 내 ip 찾기 이용 터미널에서 curl [ifconfi..

image