배포 자료
Summer Bootcamp AWS 배포 자료 _ by judy
Overview
What is Cloud Computing ?
IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말합니다.
물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스할 수 있습니다.
AWS, GCP, Azure 등이 있습니다 .
Advantages of cloud computing
민첩성
탄력성
비용 절감
몊 분 만에 전 세계에 배포 (지리적 리전으로 확장)
⇒ 효율적
Types of Cloud Computing
IaaS (Infrastructure as a Service)
PaaS (Platform as a Service)
SaaS (Software as a Service)
Top 4 AWS Services
Amazon EC2 (Elastic Compute Cloud)
Amazon RDS (Relational Database Services)
Amazon S3 (Simple Storage Service)
Amazon Lambda
Setup and requirements
AWS 계정 생성
IAM 사용자 생성
Simple Deployment with AWS EC2
Task 1. Create EC2 instance
Connect to console
Start Instance
Start setting
Add Name and Tag
Application & OS Image (AMI)
Create Key
☄️ 절대 노출 금지
Network settings
Storage setting
✨ 넉넉하게 설정해주면 나중에 메모리 부족으로 인한 에러 해결하는 시간을 단축할 수 있음
Finish !!!
Verify
Task 2. Create Elastic IP
Task 3. Connect to EC2 instance
Task 4. EC2 setting
Install and start docker
Install nvm, Nodejs and Yarn
Install git
Task 5. Clone sample project
sample app
project directory structure
Task 6. Additional Settings
환경 변수 및 시크릿 설정
IP setting (sample app 기준)
localhost를 고정IP 주소로 수정
.env 파일 DJANGO_ALLOWED_HOSTS 에 고정IP 추가
REACT_APP_BACKEND_URL 수정
설정에 따라 필요한 값들 수정
Additional settings
docker-compose build 후 makemigrateions, migrate, dollectstatic, loaddata 순서대로 설정
Task 7. Run docker-compose
Task 8. Verify
고정 IP로 접근하여 확인
Create domain with AWS Route 53
Task 1. Register domain
Finish register domain !
Task 2. Create Record
도메인 이름과 IP 주소 연결
레코드 생성
이제 www.judyyy.com 으로 접속 해보자
‼️ 데이터가 사라졌다
Task 3. Domain settings
sample app 에서 다음과 같은 항목들을 업데이트 해준다.
.env 파일 DJANGO_ALLOWED_HOSTS 에 도메인 주소 추가
ex.
domain.kr
www.domain.kr
둘 다 필요
nginx.conf
에listen 8080
아래에server_name
ex.
domain.kr
www.domain.kr
; 둘 다 넣어줘야함
REACT_APP_BACKEND_URL 수정
다시 접속해보자 !!
🙌🏻 🙌🏻 🙌🏻
Trouble Shooting
✔️ No space left on device on my EC2 AWS Instance
✔️ docker-compose INTERNAL ERROR: cannot create temporary directory
✔️ 메모리 부족 현상을 해결하기 위한 Swap memory 설정
오류:
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
✔️ .pem
파일로 vscode에서 Remote SSH 설정 _ mac
✔️ .pem
파일로 vscode에서 Remote SSH 설정 _ window 10
✔️ vscode 코드 저장 오류
vscode에서 ssh로 연결 후 코드 수정 및 저장 시 (NoPermissions (FileSystemError): Error: EACCES: permission denied, open ~) 오류 나면, /home
에서
✔️ vscode 도커 확장 프로그램 설치 오류: Error: connect EACCES /var/run/docker.sock
해결하기
✔️ npm install
중 오류: JavaScript heap out of memory
Reference
Notion ver.
rimages
Last updated