Amazon Web Service
1. 배울 세가지 내용
- AWS에서 가장 대표적인 서버인
EC2
- AWS에서 가장 기본이 되는 서버 단위
- 서버를 통해서 하나의 컴퓨터 안에서도 원하는 모든 것을 구현할 수 있음
- 서버안에 데이터 베이스를 설치할 수도 있습니다.
- 보통
EC2 instance
라고 많이 부릅니다.
- AWS에서 가장 대표적인 파일 저장소
S3
- 간단하게 파일을 업로드하고 다운로드할 수 있는 저장소
- 정적 웹사이트도 s3에 올려서 배포할 수 있습니다.(저장소 뿐만 아니라 호스팅에으로도 사용할 수 있다)
- AWS에서 가장 대표적인 관계형 데이터베이스
RDS
2. AWS 가입 및 프리티어 설명
2-1 보안그룹
- 우리가 만든 서비스에 어떤요청이 들어오고, 나가는 요청에 대한 (인바운드 아웃바운드)에 규칙을 설정해 그에 부합하지 않는 요청을 모두 block할 수 있습니다.
- 인바운드 규칙
- http를 열어줄 수 있음
- 위치 무관: 어디서든 요청을 보내고 받을 수 있도록 할 수 있음
- 사용자지정을 하는 경우: 특정한 ip에서만 할 수 있도록
- 나만 사용하는 경우: 내ip
2-2 로드밸런서
- 서버가(ec2인스턴스가) 일정한 부하를 받게 되었을 때, 똑같은 자신의 이미지를 가진 상태로 서버가 늘어나고 줄어나는 규칙을 만들어주는 곳.
- 즉, 서버가 터지는 것을 방지하는 것
3. EC2생성하기
단계1. AMI선택
- 아마존에서 자주 사용하는 형태에 대해 미리 이미지를 두었는데, 그 이미지가 설치된 상태로 서버를 사용하는 것.
단계2. 인스턴스 유형 선택
- 실제 서비스를 만들 때 생각해야하는 것은 cpu성능과 메모리성능
단계3. 인스턴스 세부 정보 구성
- 처리해야 하는 데이터들이 복잡해지거나 딜레이가 발생할 때 개발자가 선택할 수 있는 방법 2가지.
Scaling up
컴퓨터 자체의 성능을 윗단계로 올림
- ex) 신형 cpu로 변경, rem을 8기가 두개 넣는다던지.
Scaling out
서버의 개수를 늘려서 부하를 처리해줌
Auto Scaling
의 경우 스케일 아웃에 대한 도움을 줍니다.
- 스팟인스턴스: 최대로 발생할 수 있는 비용에 대해 설정 가능
- 네트워크
- 만든 모든 서버는 VPC(Virtual Private Cloud)에 들어가게 됩니다.
- vpc란 나만의 공간
- 즉, 나만의 공간에 인스턴스를 넣어놓은 것으로 다른 공간에서는 이 공간에 침입을 하지 못합니다.
- auto 스케일링을 걸어놓으면 이 vpc안에서만 인스턴스가 늘어나는 일이 생기며, 자원공유도 안에서만 공유가 되게 됩니다.
- 프로젝트를 여러개 하다보면 vpc가 여러개 생길 수 있습니다.
- 서브넷
- 퍼블릭 ip 자동할당
- 누구나 이 ip주소로 접근이 가능하게 하는지
- 만약 내가 만든 서버가 vpc밖으로 나갈 일이 없다면 굳이 할당할 필요는 없습니다.
- IAM
- 일종의 사용자
- 서비스를 만들었을 때, 다른 팀원들이 들어와서 프로젝트를 사용할 필요가 있음
- 각 팀원들에게 관리 권한을 부여해줄 때 설정할 수 있음
- default는 사용을 하지 않으며, 프로젝트가 커질 수록 설정을 해줘야합니다.
단계4. 스토리지 추가
- 기본적인 서버에서 몇 GB까지 쓸 수 있는지.
단계5. 태그
- 일종의 필요로하는 구분자
- ex) 키:Name 값:First App 인스턴스, 볼륨, 네트원크 인터페이스
단계6. 보안 그룹 구성
단계7. 키페어
- ssh를 이용해 서버에 들어갈 때 키페이가 있어야 증명이 가능합니다.
- 만약 잃어버리면 새로 키페어를 발급받아야합니다.
4. 인스턴스 연결

- 예전에는 직접 연결이 좋지 않아, 보통 ssh클라이언트와 보안 키페어를 사용해 접근하는 방식을 많이 사용했습니다.
- 최근에는 EC2인스턴스 연결을 하는것이 조금 더 편리한 편.

위와 같이 루트 경로에 원하는 것들을 설치하면 됩니다.
4-1 어떻게 설치할까요?
- 보통은 아파치나 Nginx를 많이 씁니다.
- 따라서 Nginx가 설치가 되어야하며, 그거에 대한 컨피그레이션, 노드코드도 존재해야합니다.
- 먼저, 노드가 설치되어 있는지를 확인해야합니다.
5. SSH클라이언트 사용하기
- ssh클라이언트의 경우 사용하고 있는 환경에 따라 세팅방법이 달라지게 됩니다.
- 만약, 윈도우를 쓰고 있다면 구글 검색창에 putty를 검색한 후 컴퓨터에 맞게 다운로드해 사용을 하면 됩니다.
- 리눅스나 맥의 경우 터미널을 이용하면 쉽게 진행할 수 있습니다.
5-1 맥
- pem 파일 다운로드
- permission 바꾸기
- permission보는 법(ls -al)
chmod 400 FristApp.pem
ssh -i "FirstApp.pem" ubuntu@ec2-54-86-52-71.compute-1.amazonaws.com
6. EC2중지, 삭제, 비용
- 인스턴스 설정에서 중지를 했다고 해서, 비용이 발생하지 않는 것은 아닙니다. 따라서 비용을 내지 않기를 위해서는 중지가 아닌 삭제(종료)해야합니다.
- 또한 종료후에는 복구가 안되기 때문에, 백업이 필요한 경우 이에 대한 이미지를 만들어놓거나 볼륨을 저장해놓으면 됩니다.