[참고자료]
(배포) Django + React + Gunicorn + Nginx + EC2 배포하기
AWS EC2 인스턴스 생성
[AWS] 📚 아마존 가입 절차 / 보안 설정 (MFA & IAM) 정리
[AWS] Identity Center를 활용한 관리자 IAM 사용자 생성 (관리자 IAM 사용자를 사용하는 이유)
[+공부 필요]
AWS 간단히 이해하기 - S3와 EC2
인프라 기술, 기계학 개념 이해하기
캡스톤 디자인의 Django로 백엔드를, React로 프론트를 구성하여 웹을 만든 후, 배포를 진행한다.
리액트 프로젝트 npm run build 로 빌드 폴더를 생성한다.
그 후 장고 프로젝트 디렉토리 안에 client 폴더를 만들어 build 폴더 안에 있는 파일들을 모두 넣어준다.
ex) /static/... -> ./static/...
setting.py 에 들어가 template, static 경로를 설정해준다.
// template 경로 설정
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['client'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
static 경로 설정
STATIC_URL = '/static/'
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ROOT_DIR = os.path.dirname(BASE_DIR)
STATICFILES_DIRS = [
# 실제 static 파일은 모두 client 측에서 소유
os.path.join(ROOT_DIR, 'client/static')
]
AWS EC2는 아마존 웹 서비스에서 제공하는 서비스로 크기 조정이 가능한 컴퓨팅 파워를 제공하는 웹 서비스이며, 몇 가지 주요 특징은 다음과 같다.
데이터 저장과 컴퓨팅 파워를 개인의 컴퓨터에 의존하는 대신, 원격 서버와 데이터 센터의 자원을 사용하여 데이터를 처리하고 저장하는 방식을 말한다.
사용자가 필요에 따라 자원을 증가시키거나 감소시킬 수 있어 변동하는 작업에 유연한 대처가 가능하다.
또한 사용하는 만큼 비용을 지불하기 때문에 기업이나 개인이 비싼 하드웨어를 구매하고 유지할 필요가 없다.
인터넷이 연결 가능한 곳이라면 어디에서든 연결할 수 있다는 장점이 있고, 서비스 제공업체에서 서버를 유지 관리하므로, 소프트웨어와 보안 업데이트가 자동으로 이루어진다.
EC2 서비스에서 생성한 가상 서버를 인스턴스라고 한다.
AWS IAM - Amazon Web Service Identity and Access Management
처음 aws 계정을 생성하면 루트 계정으로 생성된다. 루트 계정은 모든 서비스와 빌링 관련 업무가 가능한 계정이기 때문에 가장 중요하게 관리해야 한다.
내 aws 계정이 비트코인 채굴 계정이 되어 3억원을 태우는 경험은 하고 싶지 않다.
내 계정 - 보안 챌린지 질문
흔한 2단계 보안설정과 같다.
Multi-Factor Authentication, 초단위 또는 분단위로 바뀌는 숫자
계정생성 끝. 추가 연동은 다음 글에 작성.