인터넷(클라우드)를 통해 서버, 파일 저장소, 데이터베이스,
네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것
- Infrascructure as a Service(IaaS)
- 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스
- IT인프라를 대여해주는 서비스
- AWS의 EC2, S3 등
- Platform as a Service(PaaS)
- IaaS에서 한번 더 추상화한 서비스, 한번 더 추상화했기 때문에 많은 기능이 자동화 되어있음
- AWS의 빈스톡, 헤로쿠 등
- Software as a Service(SaaS)
- 소프트웨어 서비스
- 구글 드라이브, 드롭박스 등
EC2(Elastic Compute Cloud)는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수있는 클라우드 서버 서비스입니다.
AWS 서비스 -> EC2 선택
인스턴스 시작 클릭
인스턴스란
EC2 서비스에 생성된 가상머신
단계1. AMI(Amazon Machine Image) 선택
Amazon Linux 2 AMI (HVM)
, SSD Volume TypeUbuntu Server 20.04 LTS (HVM)
, SSD Volume Type단계2. 인스턴스 유형 선택 : 프리티어를 선택했다면 그 인스턴스를 선택!
t2.micro
(프리티어전용)단계3. 키 페어(로그인)
키 페어(public&private) -> pem 파일을 만든다는 뜻이다. ec2에 접속할려면, ssh 프로토콜을 통해 접속할 수 있는 pem키(private)를 만들어두어야 한다.
단계3. 인스턴스 세부 정보 구성
인스턴스 세부 정보 구성단계는 혼자서 1대의 서버만 사용하니 별다른 설정 없이 다음:스토리지 추가 버튼을 눌러 다음 단계로 넘어감
단계4. 스토리지 추가
서버의 용량을 얼마나 정할지 선택하는 단계
30GB
까지 프리티어로 가능
처음 값 : 8 -> 30
까지 올릴 수 있습니다.
단계5. 태그 추가
웹 콘솔에서 표기될 태그인 Name 태그를 등록함
태그는 해당 인스턴스를 표현하는 여러 이름으로사용 될 수 있음
단계6. 네트워크 설정
보안 그룹은 방화벽을 이야기함.
SSH이면서 22번포트인 경우 : AWS EC2 터미널로 접속 할 때 내 IP로 변경해줘야함
단계7. 시작하기
인스턴스로 접근하기 위해서는 pem키(비밀키)가 필요함.
지정된 pem키 외에는 접근을 허용하지 않음
pem키는 일종의 마스터키이기 때문에 유출되면 안되고 잃어버리면 재발급도 불가능하다.
기존에 생성된 pem키가 없다면 새로 생성해준다.
EIP(Elastic IP, 탄력적 IP)
라고 한다.인스턴스에서 확인해보면 이렇게 뜸.
인스턴스를 지울 때 이 Elastic IP 주소도 함께 지워줘야 한다.
안그러면 이 할당한 AWS 요금이 청구된다!
1) SSH 접속 프로그램으로 접속하기
MobaXterm
으로puttygen은 이 과정을 진행해주는 클라이언트
EC2 서버에 접속하기 위해 pem키 설정 프로그램
MobaXterm 다운로드 경로 : https://mobaxterm.mobatek.net/download.html
MobaXterm
에서
Session > Session settings
2) CLI로 접속하기(윈도우 wsl2 or git bash)
pem 파일이 있는 디렉토리 경로로 가서,
다음 ssh 접속 명령어를 입력한다.
sudo ssh -i "mysql-master.pem" ubuntu@ec2-13-125-34-11.ap-northeast-2.compute.amazonaws.com
sudo 는 앞에 써줘야 한다. 안그러면 Permission denied (publickey)
이 뜬다.
이 명령어는 접속할 인스턴스에 들어가서 오른쪽 바에 연결
박스를 클릭하면 예시로 명령어가 자동으로 나온다.
[sudo] password for dsg:
wcl2 설치할 때 입력한 password 입력한다.
연결이 된다.
EC2 서버의 기존 타임존은 UTC이다. 이는 세계 표준 시간으로 한국의 시간과 9시간 시차가 있다. 때문에 꼭 한국시간대 KST로 변경해줘야 한다.
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# 타임존 변경확인
date
1) /etc/hosts
sudo vi /etc/hosts
화면에서 노출되는 항목 중 localhost
으로 되어 있는 부분을 본인이 원하는 서비스명으로 변경하면 된다.
2) /etc/hostname
sudo vi /etc/hostname
여기서도 본인이 원하는 서비스명으로 변경하면 된다.
변경 후 다음 명령어로 서버를 재부팅해야 한다.
sudo reboot
# hostname 확인
hostname
<스프링 부트와 AWS로 혼자 구현하는 웹 서비스>, 저 이동욱