Networks/aws

SK networks AI Camp - AWS + MySQL

코딩하는 Español되기 2024. 8. 13. 20:00

이전에 만들었던 걸 다 지워주겠습니다.

1. Instance

    ○ Instance state에 Terminate instance 클릭

2. security 그룹(default는 삭제하지 말기)

    ○ Delete security groups

3. key-pair 삭제

    ○ Delete 하기


DBeaver를 사용하여 aws와 MySQL과 연결

 

1. AWS에서 DB 생성

    ○ RDS(Relation Database System)로 접속

    ○ Databases 클릭 → Create Database

        ● Easy로 하면 외부에서 접근이 불가(진행의 편의상 직접 접속이 가능한 Standard 사용)

        ● MySql 선택 & 버전 선택 가능(진행은 default인 8.0.35 사용)

          * Aurora(MySQL Compatible = 클러스터로 구성)(N개의 컴퓨터로 서버를 구축한다고 생각)

        ● Templates : Free tier

         * Production : 실서비스용(빠르고 안정적)  *Dev/Test : 여기부터 가격이 청구 * Free tier : 공짜(스토리지 비용은 발생)

        ● Settings : DB instance identifier (DB 이름), Master user name (DB 접속할 기본 ID)Master PW 입력

        ● Instance configuration 선택(free-tier로 해서 2개밖에 선택 안됨; default로 진행) 

        ● Storage 설정(수집한 데이터의 2배 정도로 설정해 주면 좋음; 현재는 default로)

           * Storage autoscaling에서 자동으로 넘쳤을 때 넘겨지는 것이 선택됨(연습용이어서 해제) 

        ● Connectivity

            - 나머지는 default로 하고 Public access(외부접속 허용)만 Yes로 변경

            - VPC security group : 새로운 security group 생성

            - tag 설정 : 이 후 비용관련해서 편하게 하기 위해 설정해 주는 것이 좋음

        ● Addtional configuration

            - Database options → table 이름 설정

            - Backup, Encryption, Log 선택 안함

            - Maintenance : version 업그레이드 선택 유무

            - 이후 선택하지 않고 create

 

2. DBeaver와 연결

    ○ 만든 DataBase에서 EndPoint 복사해서 DBeaver Server Host에 붙여 넣기 

        ● Server Host : 복사한 EndPoint

        ● Database명 : djangodb

        ● Username : 입력한 Master user name

        ● 비밀번호 : 입력한 비밀번호 

    ○ EC2 → Security Groups → Edit inbound rules

 

3. Django와 생성된 DB 연결하기

    ○ 가상환경 설정 → pip upgrade django/pymysql/mysqlclient 설치

py -3.12 -m venv .venv
.\.venv\Scripts\activate
py -m pip install --upgrade pip
pip install django pymysql mysqlclient

 

    ○ Project 실행 → app 실행 →  config/settings 수정

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "djangodb", # 데이터베이스 이름 
        "USER": "admin", 
        "PASSWORD": "admin1234",
        "HOST": "mysql-database.ct2eieu2ut7u.ap-northeast-2.rds.amazonaws.com",
        "PORT": "3306"
    }
}

 

    ○ makemigrations → migrate → DB 확인

python manage.py makemigrations
python manage.py migrate

 

다음 글에서 이어서...