Django

Django로 커뮤니티 사이트 만들기 (6): Heroku + AWS S3 배포

Jinmidnight 2023. 9. 19. 02:36

Heroku 또한 무료 호스팅 서비스다.

좀 더 정확히 말하면 무료 호스팅 서비스"이었다".

 

2023년부터 유료로 전환된 서비스지만, 여전히 Heroku는 많이 이용되는 호스팅 서비스인 만큼 배포 방법을 정리해보고자 한다

 

우선 Heroku가 무료일 당시 활성 주기가 짧은 저장공간을 보유하고 있어서, static/media와 같은 이미지 파일들이 얼마 안 있어 휘발되고는 했다. 이를 방지하기 위해서 static/media 파일은 AWS S3에서 관리할 수 있도록, Heroku와 AWS S3를 연동하여 배포했다

 

이에 대한 내용을 IT 동아리에서 활동할 당시 강의한 영상이 있어서, 글 대신 아래  유튜브 링크로 설명하고자 한다.

아래 첨부한 참고링크참고코드는 유뷰트 시청 시 활용될 예정이다

 

 

  • 참고링크
 

Heroku 배포하기 - Nimbus Platform

Heroku 회원가입 https://www.heroku.com Heroku CLI 설치 https://devcenter.heroku.com/articles/heroku-cli 환경 변수 적용 Debug 는 아래 값 사용 DE...

nimbusweb.me

 

  • 참고코드
    - AWS S3 연동 시 활용될 코드
    - AWS_ACCESS_KEY_ID 와 AWS_SECRET_ACCESS_KEY 는 IAM 계정을 만든 후 내용 수정
AWS_ACCESS_KEY_ID = '...'
AWS_SECRET_ACCESS_KEY = '...'
AWS_REGION = 'ap-northeast-2'
AWS_STORAGE_BUCKET_NAME = 'yonseicommunity'
AWS_S3_CUSTOM_DOMAIN =  '%s.s3.%s.amazonaws.com' % (AWS_STORAGE_BUCKET_NAME, AWS_REGION)
AWS_DEFAULT_ACL = 'public-read'

STATICFILES_LOCATION = 'static'

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'