나의 재물운? 연애운은?
AI가 봐주는 내 사주팔자 - 운세박사
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'database-1.cyfnfibkdjsr.ap-northeast-2.rds.amazonaws.com:3306' (60)")
RDS 생성 후에 로컬에서 돌아가는 Django 프로젝트에 RDS를 붙임.
python3 manage.py migrate
명령어로 마이그레이트
그때 아래와 같은 오류 발생
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'ghdfhdf' (60)")
위와 같은 경우는 대부분 인바운드 규칙의 문제임
1분도 안되서 연결이 안되었다고 뜨면 보안그룹부터 확인해야함
AWS > EC2 > 보안그룹
생성
유형에 MYSQL 선택 후 모든 IP에 대해서 허용하기
로컬에서만 접근하려면 내 IP 선택 해도 됨.
내 IP 선택하면 우리 회사의 공유기를 공유하는 네트워크에서 접근이 가능함
보안그룹은 항상 인바운드만 신경쓰면 됨.
인바운드가 되면 아웃바운드는 자동으로 됨.
[EC2에서 RDS 접근]
MySQL 보안그룹 인바운드에 웹(EC2) 보안그룹을 등록하면
EC2에서 MYSQL에 접근이 가능함.
보안그룹이 같으면 서로 통신이 가능함.
20명 규모 이후부터 MSA를 진행함 대부분
MSA는 초기 비용이 많이 듬
EC2 4개 데이터베이스 8개 정도 돌리는 데 120만원 월간
아무것도 없는 상태에서 MSA를 하면 월 120만원 고정비만 듬
대신 규모가 커졌을 때 MSA가 오히려 더 비용이 저렴함 (최적화 가능)
그 이유는 MSA는 작은 단위로 스케일아웃을 할 수 있기 때문임.
스케일업 = 성능 올리기
스케일아웃 = 복제, 복사하면 트래픽 커버
RDS는 스케일 아웃을 하는 데 한계가 있음
따라서 MSA로 만들어서 작은 단위로 스케일하면 더 효율적임
MSA는 어느정도 성공이 보장된 서비스에서 하는 것임
MSA를 도입할 지 말지 결정할 수 있는 것은 행복한 고민임
그냥 ㅈ밥들은 전부 모놀리식으로 일단 만들면 됨.
당근 DDD
도메인 기반으로 잘 나눠놓는 설계
작은 팀 단위로 서비스 만들어서 배포하고 통합 가능함.
나의 재물운? 연애운은?
AI가 봐주는 내 사주팔자 - 운세박사