티스토리 뷰
프론트엔드 (React)
[1] S3
- 버킷 만들기
- 버킷 이름 : 도메인과 일치하도록 (Route53 설정 시 필요)
- 퍼블릭 액세스 차단 : 해제(비활성화) - 빌드한 파일 업로드
- [권한] 탭 '버킷 정책'
- '정책 생성기' 이용
- "Resource" 부분 arn 뒤에 /* 붙이기 - [속성] 탭 '정적 웹사이트 호스팅' 활성화
- React라서 인덱스와 오류문서 모두 index.html
- 엔드포인트 생성됨 (이걸로 바로 접속 가능)
(참고 : https://velog.io/@jinseoit/AWS-S3-bucket)
[2] Route53
- S3와 연결
- 레코드 유형 : A
- 별칭 사용하여 S3 버킷 선택 (버킷 이름과 도메인 이름 불일치 시 안 뜸) - 하위 도메인 www 등록
- 레코드 유형 : CNAME
- 별칭 x : 1번에 등록한 내 도메인 입력
백엔드 (NestJS)
[1] EC2
- 인스턴스 만들기
- '인스턴스 시작' 버튼으로 만듦
- 보안 그룹은 80(http) / 443(https) 허용하도록 새로 생성하거나 기존 그룹 선택 (나중에 변경 가능) - 탄력적 IP 할당
- 선택이지만 보통은 이렇게 고정 IP로 사용 - 인스턴스 접속
- 해당 인스턴스 선택 후 '연결' 버튼 클릭 - nginx 프록시 서버로 사용
1) 설치 & 실행
- apt 업데이트 : sudo apt-get update - y
- nginx 설치 : sudo apt-get install nginx
- 실행 확인 : service nginx status (active : running 뜨면 OK)
- EC2 링크로 브라우저 접속해서 'Welcome to nginx' 페이지 확인 (안 뜨면 보안 그룹 확인)
2) 프록시 서버로 설정하기
- 기본 페이지 파일 지워줌 : sudo rm /etc/nginx/sites-available/default (안 지워도 되지만, 관습적으로 지워줌)
- 설정 파일 수정 : sudo vi /etc/nginx/nginx.conf (포스팅 하단 참고)
- 구문 오류 테스트 : sudo nginx -t
- nginx 다시 시작 : sudo service nginx restart
* nginx.conf 수정
# server 블록 추가
server {
# root ... -> 정적파일 올릴 때
listen 80;
server_name example.com;
location {
proxy_pass http://localhost:8080
}
}
...
# 하단 include ~~ 2줄 삭제 (default 파일 삭제해서 필요 x)
(저장 후 종료 -> esc 누른 뒤 :wq!)
[2] RDS
- 데이터베이스 생성
- '배포 옵션' 체크 (다중은 더 비쌈)
- '스토리지' 체크 (가격이 달라지는데 나중에 늘리는 건 가능해도 줄이는 건 불가능 / 기본값 200, 최솟값 20)
- '퍼블릭 액세스' 허용 (허용하니 workbench / cmd 통해 접속이 되었음) - 서버 접속해보기
- DB까지 설정했을 때 EC2 ip로도 잘 접속 되어야 함
[3] Route53
- EC2와 연결
- 레코드 유형 : A
- 별칭 x : EC2 ip 입력
* 서버 백그라운드에서 24시간 켜기 : nohup 이용
sudo nohup {명령어} &
# nohup : 세션 종료해도 연결을 끊지 않음 / & : 백그라운드에서 실행
# nohup.out 기록 안하려면 추가 옵션 필요
exit
* workbench 에서 데이터 export/import
: [server] 메뉴에 [Data export / import] 이용
'팁' 카테고리의 다른 글
윈도우 CMD(명령 프롬프트) 통해서 내 IP 주소 검색하기 (0) | 2022.06.15 |
---|
댓글