AWS 서버환경 만들기(AWS EC2)

devdo·2021년 12월 23일
0

AWS

목록 보기
1/6
post-thumbnail

AWS, 클라우드 서비스란?

인터넷(클라우드)를 통해 서버, 파일 저장소, 데이터베이스,
네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것

  1. Infrascructure as a Service(IaaS)
  • 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스
  • IT인프라를 대여해주는 서비스
  • AWS의 EC2, S3 등
  1. Platform as a Service(PaaS)
  • IaaS에서 한번 더 추상화한 서비스, 한번 더 추상화했기 때문에 많은 기능이 자동화 되어있음
  • AWS의 빈스톡, 헤로쿠 등
  1. Software as a Service(SaaS)
  • 소프트웨어 서비스
  • 구글 드라이브, 드롭박스 등

AWS에서 EC2 인스턴스 생성하기

EC2(Elastic Compute Cloud)는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수있는 클라우드 서버 서비스입니다.

방법

AWS 서비스 -> EC2 선택

인스턴스 시작 클릭

인스턴스란
EC2 서비스에 생성된 가상머신

단계1. AMI(Amazon Machine Image) 선택

  • Amazon Linux 2 AMI (HVM), SSD Volume Type
  • Ubuntu 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키가 없다면 새로 생성해준다.


인스턴스에 고정IP 할당하기

  • 인스턴스도 하나의 서버이기 때문에 IP가 존재하고, 이 인스턴스를 다시 시작할 때 새로운 IP가 다시 할당된다.
  • 이렇게 되면 매번 접속하는 IP가 변경되어서 번거롭기 때문에, 매번 변경되지 않는 고정 IP를 할당하려고 한다.
  • AWS의 고정 IP를 EIP(Elastic IP, 탄력적 IP)라고 한다.
  • 이 탄력적IP를 인스턴스와 연결해 주어야한다. 연결방법
    💥주의) 탄력적 IP는 생성하고 바로 연결하지 않으면 비용이 발생함

인스턴스에서 확인해보면 이렇게 뜸.

💥 주의

인스턴스를 지울 때 이 Elastic IP 주소도 함께 지워줘야 한다. 안그러면 이 할당한 AWS 요금이 청구된다!


EC2 서버에 접속하기

1) SSH 접속 프로그램으로 접속하기

  • 윈도우는 PUTTY로 진행 ==> 이제는 MobaXterm으로
    * puttygen : putty는 pem키로 사용이안되며 pem키를 ppk파일로 변환해야만 사용이 가능함.

puttygen은 이 과정을 진행해주는 클라이언트
EC2 서버에 접속하기 위해 pem키 설정 프로그램

MobaXterm 다운로드 경로 : https://mobaxterm.mobatek.net/download.html

MobaXterm에서
Session > Session settings

  • Remote host : {ec2 ip 주소}
  • Use private key 체크 : {해당 ec2 pem 위치}
    로 접속하면 된다.

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


호스트네임 변경 (Ubuntu)

1) /etc/hosts

sudo vi /etc/hosts

화면에서 노출되는 항목 중 localhost 으로 되어 있는 부분을 본인이 원하는 서비스명으로 변경하면 된다.


2) /etc/hostname

sudo vi /etc/hostname

여기서도 본인이 원하는 서비스명으로 변경하면 된다.


변경 후 다음 명령어로 서버를 재부팅해야 한다.

sudo reboot

# hostname 확인
hostname



출처

<스프링 부트와 AWS로 혼자 구현하는 웹 서비스>, 저 이동욱

profile
배운 것을 기록합니다.

0개의 댓글