AWS RDS 에 django 프로젝트 데이터베이스 연결하기
1. AWS 에서 RDS 생성하기
- 아마존 RDS 로 들어가서 데이터베이스 생성하기
- 식별자 : DB 인스턴스 이름
- DB 접속에 필요한 사용자 이름과 비밀번호 입력하고 기억하기
- 인스턴스 클래스 : db.t2.micro
- vpc 와 서브넷 지정
- 로컬에서 테스트 하려면 퍼블릭 액세스 가능 선택하기
- 데이터베이스 인증 : 암호 인증
- 생성 후 조금 기다리면 엔드포인트 주소와 3306 포트가 입력된다.
*** 참조 링크 ***
https://velog.io/@hanif/AWS-RDS-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
[AWS] RDS 사용하기
RDS 생성하기
velog.io
2. 보안그룹설정
3. settings.py
*** 참조 링크 ***
AWS RDS + Django 데이터베이스 설정 (velog.io)
AWS RDS + Django 데이터베이스 설정
Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다.이 서비스는 산업 표준 관계형 데이터베이스를 위한 경제
velog.io
4. DB 생성 (schema 추가)
- pip install mysqlclient
- pycharm database - new - data source - MySQL
- HOST : 생성한 RDS 인스턴스 엔드포인트 입력, 포트 3306 확인
- DB user id 와 password 입력
- connection test 후 적용, 확인
- 생성된 DB 우클릭 - new - schema
- name : DB 인스턴스 이름
- 생성
- makemigrations 와 migrate 실행
- 생성된 테이블 확인
*** 참조 링크 ***
AWS RDS를 사용해 MySQL과 Python 연동 (feat. Pycharm) (tistory.com)
AWS RDS를 사용해 MySQL과 Python 연동 (feat. Pycharm)
먼저 아래 게시물을 참고해 AWS RDS 데이터베이스를 생성한다. https://daeunnniii.tistory.com/152 AWS RDS 데이터베이스 생성과 설정 방법 RDS란? RDS는 AWS에서 관계형 데이터베이스를 더욱 쉽게 설정, 운영 및
daeunnniii.tistory.com
AWS S3 에 django 프로젝트 static 폴더 복사하기
1. 버킷 만들기
- 버킷 이름
- 리전 : ap-northeast-2 (가까울수록 빠르다 )
- 객체 소유권 ACL 활성화
- 퍼블릭 액세스 차단 안함
- 버킷 생성
2. IAM 생성하기
- 사용자 이름
- 액세스 유형 : 프로그래밍 방식 액세스
- 그룹 생성 : 이름 정하고 S3 검색해서 AmazonS3FoullAccess 선택
- 사용자 만들기
- 액세스 키 ID 와 비밀 액세스 키를 받는다.
3. 버켓 정책
- 권한 설정 - 버켓 정책 편집 - 정책 생성기
- select type of policy : s3 bucket policy
- effect : allow
- principal : *
- aws service : 기본 설정(amazon s3)
- actions : get object(읽기);put object(쓰기) 등등~ 어떤거 쓰게 할지 지정
- ARN : arn:aws:s3:::버킷이름/ *
- add statement
- generate policy 누르고 json doc 복사 후 나와서 버켓 정책에 붙여넣기
4. django 모듈 install
- pip install boto3 : s3 사용을 위한 모듈
- pip install django-storages : 다양한 저장소 사용을 위한 모듈
- django-storages 를 통해 boto3를 사용한다.
5. django 프로젝트 폴더 settings.py
# s3을 이용하기 위한 변수들
AWS_ACCESS_KEY_ID = 'IAM id'
AWS_SECRET_ACCESS_KEY = 'IAM PW'
AWS_REGION = 'ap-northeast-2' # 버켓 리전
AWS_STORAGE_BUCKET_NAME = 'mlbbucket' # 버켓 이름
AWS_S3_CUSTOM_DOMAIN = '%s.s3.%s.amazonaws.com' % (
AWS_STORAGE_BUCKET_NAME, AWS_REGION)
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_DEFAULT_ACL = 'public-read'
AWS_LOCATION = 'static'
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
6. 정적 파일 모으기
- python manage.py collectstatic
7. settings.py 추가
- INSTALLED_APPS = [ 에 'storages', 추가
8. asset_storage.py 생성
# config/asset_starage.py
from storages.backends.s3boto3 import S3Boto3Storage
class MediaStorage(S3Boto3Storage):
location = 'media'
file_overwrite = False
'AI 웹 개발 과정 > 팀 프로젝트' 카테고리의 다른 글
유화제작프로젝트 - 기획 (0) | 2022.07.02 |
---|---|
팀 프로젝트 04 : 추천 시스템 페이지 - 8일차 / 프로젝트 제출 및 회고 (0) | 2022.06.14 |
팀 프로젝트 04 : 추천 시스템 페이지 - 6일차 | 모달데이터 읽기 (0) | 2022.06.10 |
팀 프로젝트 04 : 추천 시스템 페이지 - 5일차 / 모달 기능 구현 (html / javascript / django templates) (0) | 2022.06.09 |
팀 프로젝트 04 : 추천 시스템 페이지 - 4일차 / urls.py / views.py / UI 구성 (0) | 2022.06.09 |