Cloud와 Deployment의 의미를 각각 알고, 내 코드를 남에게 배포할 수 있다.
1.클라우드 컴퓨팅이 무엇인지 설명할 수 있다.
2.애플리케이션 배포가 어떻게 변화되어 왔는지 이해할 수 있다.
AWS의 각 서비스가 어떤 목적에 부합하는지 이해할 수 있다.
3.S3의 목적과, 정적 웹 사이트 배포 방법을 이해할 수 있다.
4.EC2의 주요 용어를 이해할 수 있다. (AMI, 인스턴스, 인스턴스 유형, 스토리지 타입, 퍼블릭/프라이빗 IP)
5.EC2의 인스턴스 시작/중지/종료에 대해 이해할 수 있다.
6.RDS와 EC2에서의 MySQL 사용이 어떻게 다른지 이해할 수 있다.
배포 시 발생하는 문제를 이해하고 고칠 수 있다.
7.서버를 프로세스로 작동시키고, 로그를 확인할 수 있다.
8.빌드 및 배포 시 필요한 환경 설정을 할 수 있다.
1.클라우드 컴퓨팅이란 기존에는 서버를 개인이나 회사에서 본인이 직접 구축해서 사용하는 것과 다르게 데이터 센터에 서버를 대여하는 방식으로 운영하는 것을 말한다.
2.변화 과정에 대해서는 정확하게 알 수 없지만 개인의 서버에 배포하다가 온프레미스라는 방식을 사용하는 것으로 진화한 것 같다.
3.S3는 컴퓨터 하드디스크의 역할을 하는 것으로 웹 환경이라면 언제 어디서나 저장된 파일에 접근할 수 있다는 장점을 가지고 있다. S3는 번들을 만들어둔 버켓의 디렉토리에 넣은 후 html 파일에 들어가 URL을 이용해서 배포할 수 있다.
4.EC2의 주요 용어들의 뜻은 아래와 같다.
AMI - 소프트웨어 구성이 기재된 템플릿
인스턴스 - 1대의 컴퓨터를 의미하는 단위로써 CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것
인스턴스 유형 - Amazon EC2는 각 사용 사례에 맞게 최적화된 다양한 인스턴스 유형을 제공한다.
스토리지 타입 - 객체, 파일, 블록 3가지의 스토리지가 있으며 객체 스토리지는 안정성, 보안, 유연한 관리,
그대로 쿼리(그냥 사용?)의 장점이 있으며 파일 스토리지는 확장성, 상호 운용성, 예산 및 리소스의 장점이 있고
마지막 블록 스토리지는 엄청나게 빠른 실행속도라는 장점이 있다.
퍼블릭/프라이빗 IP - 프라이빗 IP는 변하지 않는 개인적인 주소라고 볼 수 있으며 퍼블릭 IP는 공공IP느낌으로
아무나 이용할 수 있다. 하지만 퍼블릭 IP는 서버를 열고 닫을 때 마다(AWS에서) 재할당되므로 고정된 IP주소가
필요할 때는 탄력적 IP주소를 이용해야한다.
5.시작, 중지, 종료는 npm run start를 통해 서버를 열고 Ctrl+C를 통해 중단하는 것과 같은 기능이라고 본다. 중지는 굳이 왜 있는지 정확하게 알 수 없는데 IP를 재할당하고 싶지 않은 경우 이용하는 것 같다.
6.EC2에서도 RDS처럼 MySQL을 이용할 수 있지만 문제가 생기면 둘 다 이용할 수 없는 경우가 생길 수 있으며 보안 및 확장성의 문제도 있기 때문에 일반적으로는 RDS에 따로 구축해서 사용한다.
7.PM2를 통해 서버를 프로세스로 작동시키고 유지시킬 수 있으며 명령어들을 통해 리스트 확인(ls), 로그확인(log) 등을 할 수 있다.
8.빌드시에 환경 설정은 자료를 참고해 진행할 수 있지만 배포시의 환경 설정에 대한 부분은 진행하지 않았기 때문에 잘 할 수 없다..
