1. Java8 설치

java -version 명령어를 입력하면 아직 자바를 설치하지 않았으므로 자바가 없다고 뜨고 아래처럼 버전별로 자바 설치 명령어를 알려준다.

 

나는 Java8을 설치하였다. 설치한 후 다시 java -version을 입력하면 아래처럼 설치한 자바 버전이 보일 것이다.


2. 타임존 변경

 

EC2 서버의 기본 타임존은 UTC로 한국의 시간대가 아니다. 타임존을 변경하지 않으면 서버에서 실행되는 자바 애플리케이션에서 생성되는 시간이 모두 UTC 기준이라 한국과 9시간이 차이가 나기 때문에 꼭 수정해야 한다.

 

아래의 명령어를 순차적으로 수행하여 타임존을 변경한다.

sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

date 명령어를 통해서 타임존이 잘 변경되었는지 확인할 수 있다.


3. 호스트네임 변경

각 서버가 어느 서비스인지 표현하기 위해서 호스트네임을 변경할 것이다.

아래의 명령어를 통해서 호스트네임을 변경했다.

sudo hostnamectl set-hostname 변경할_호스트명

 

재부팅하면 호스트네임이 잘 변경되었는지 확인할 수 있다.

 

호스트네임을 변경했다면, 호스트 주소를 찾을 때 가장 먼저 검색해보는 /etc/hosts에 변경한 호스트네임을 등록해야 한다.

sudo vim /etc/hosts

 

파일을 열고 변경한 호스트네임을 등록한다.

i 를 누른 후 입력하고, esc를 누르고 :wq을 눌러 저장한다.

 

잘 등록되었는지 확인하기 위해서 curl 명령어를 사용한다.

curl 호스트네임

 

/etc/hosts에 변경한 호스트네임이 잘 등록되었다면, 두 번째 줄처럼 결과가 나올 것이다.

만약 등록에 실패했다면, 네 번째 줄처럼 결과가 나올 것이다.

 

📚 참고
[1] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스, 2019

Mac에서 EC2 서버에 접속하기 위해서 터미널을 활용할 것이다.

외부 서버로 SSH에 접속하기 위해서는 아래와 같은 명령어를 매번 입력해야 한다.

ssh -i pem키_위치 EC2의_탄력적_IP주소

 

접속하기 위해 매번 키 위치랑 IP주소를 넣는다는건 너무 귀찮은 일이다.. 😞

이를 쉽게 할 수 있도록 설정해보자!

아래 명령어를 입력하여 pem 키를 ~/.ssh 디렉토리로 복사한다.

cp pem키_위치 ~/.ssh/

키가 잘 복사되었는지 확인

 

pem키가 복사되었다면, 키의 권한을 변경한다. 소유자만 읽고 쓸 수 있고, 나머지는 권한이 없는 600으로 설정한다.

chmod 600 ~./ssh/pem키_이름

 

 

다음으로 pem키가 있는 ~/.ssh 디렉토리에 config 파일을 만든다.

vim ~/.ssh/config

 

i 버튼을 눌러 Host를 작성한 후 esc를 누르고, :wq 을 입력하고 엔터를 쳐서 저장한다.

Host 본인이 원하는 서비스명
	HostName EC2 탄력적 IP주소
    User ubuntu
    IdentityFile ~/.ssh/pem키_이름

 

생성된 config 파일은 실행 권한이 필요하므로 700으로 권한 설정을 한다.

chmod 700 ~./ssh/config

 

실행 권한까지 모두 설정했다면 아래의 명령어로 EC2 서버에 접속한다.

ssh config에_등록한_서비스명

 

📚 참고
[1] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스, 2019

1. 스토리지 크기 변경

EC2 서비스 대시보드 왼쪽 메뉴에서 [Elastic Block Store-볼륨]을 클릭하자!

찾지 못했다면 검색으로 '볼륨'을 검색해 EC2 기능이라고 적힌 볼륨을 클릭하면 된다.

 

크기 기본값은 8GB이다. 프리티어는 30GB까지 가능하므로 최대치로 늘려주자!

볼륨 ID를 클릭하면 오른쪽에 [수정] 버튼이 보일 것이다.

크기를 수정하고 [수정] 버튼을 누르면 아래와 같이 크기가 변경된 것을 확인할 수 있다.


2. 보안 그룹 추가

보안 그룹은 방화벽을 의미한다. EC2 서비스 대시보드 왼쪽 메뉴에서 [네트워크 및 보안-보안 그룹]을 클릭한다.

default가 아닌 하나가 있을 텐데, 그것의 보안 그룹 ID를 클릭한다.

 

[인바운드 규칙 편집] 버튼을 누르고 아래와 같이 설정한다.

 

SSH면서, 포트 22인 경우는 AWS EC2에 터미널로 접속할 때이다.

전체 오픈(0.0.0.0/0)을 하면 pem 키가 깃허브에 실수로 노출되는 순간..😱

그래서 지정된 IP에서만 SSH 접속이 가능하도록 하기 위해서, 소스를 '내 IP'로 설정하였다.

다른 장소로 이동할 경우에는 그 곳의 IP를 SSH 규칙에 등록시키면서 안전하게 사용하자! 


3. 탄력적 IP 할당

탄력적 IP(Elastic IP, EIP)는 AWS의 고정 IP를 말한다.

인스턴스도 하나의 서버이기 때문에 IP가 있다. 인스턴스가 생성되면 IP를 새롭게 할당하는데, 인스턴스를 중지하고 다시 시작할 때도 새 IP가 할당된다. 이렇게 중지하고 다시 시작하는 걸 반복하는 경우 IP주소를 계속 확인해야 하는 번거로움이 생긴다. 그래서 고정 IP를 할당받아 이런 번거로운 일이 생기지 않도록 할 수 있다.

 

EC2 서비스 대시보드 왼쪽 메뉴에서 [네트워크 및 보안-탄력적 IP]를 클릭한다.

오른쪽에 [탄력적 IP 주소 할당]을 클릭하고, [할당] 버튼을 눌러서 탄력적 IP를 할당받는다. 할당을 받은 탄력적 IP를 선택하고, 작업을 눌러 탄력적 IP 주소와 EC2 서버와 연결한다.

 

 

연결할 인스턴스와 프라이빗 주소를 선택하고 연결을 누른다.

 

인스턴스 정보를 확인하면 탄력적 IP 주소가 연결된 것을 확인할 수 있다.

 

🚨 탄력적 IP를 생성하고 EC2 서버에 연결하지 않으면 비용이 발생할 수 있으니, 탄력적 IP를 생성하자마자 바로 연결하자!

더 이상 사용할 인스턴스가 없으면 탄력적 IP도 바로 삭제해야 한다.

 

📚 참고
[1] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스, 2019

'AWS' 카테고리의 다른 글

[AWS] EC2에 접속 후 설정  (0) 2024.05.04
[AWS] EC2 서버에 접속하기 (Mac)  (0) 2024.05.04
[AWS] EC2 인스턴스 생성하기  (0) 2024.05.04
[AWS] 과금 없이 안전하게 AWS 쓰기  (0) 2024.05.03

오늘은 EC2 인스턴스를 생성하려고 한다!

EC2는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버이다.
인스턴스란, EC2 서비스에 생성된 가상머신이다.

 

먼저, AWS 사이트에 로그인을 한 후 오른쪽 상단에 있는 리전을 서울로 변경한다.

 

다음으로 'ec2'를 검색한다. (옆에 별표 모양을 클릭하면 즐겨찾기로 상단에 EC2로 가는 버튼이 생겨난다.)

 

EC2를 클릭하면 EC2 대시보드가 나올 것이다.

좌측 메뉴에서 [인스턴스]를 클릭하고, 중앙이나 오른쪽에 있는 [인스턴스 시작] 버튼을 눌러서 인스턴스를 생성하자!

 

인스턴스의 이름을 작성하고, 애플리케이션은 우분투(ubuntu)를 선택한다. 

 

AMI는 프리티어는 선택할 수 있는 게 한정적이기 때문에, 그 안에서 선택했다.

AMI(Amazon Machine Image)는 EC2 인스턴스를 시작하는 데 필요한 정보를 이미지로 만들어 둔 것이다.

 

인스턴스로 접근하기 위해서는 키(비밀키)가 필요하다. 인스턴스는 지정된 키와 매칭되는 공개키를 가지고 있어서 해당 키 외에는 접근을 허용하지 않는다. 이 키는 절대로 유출되면 안되고, 키 페어 파일은 재발급이 불가능하다. 서버 접속에 필요하니 잘 관리해야 한다!!

[새 키 페어 생성] 버튼을 눌러서 키 페어를 생성한다.

 

키 페어 이름을 작성하고, 기본 선택인 RSA와 .pem을 유지한 상태로 키 페어를 생성한다.

 

오른쪽 하단에 있는 [인스턴스 시작] 버튼을 누르면 인스턴스가 생성된다.

 

 

 

📚 참고
[1] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스, 2019

배포 실습을 하기위해서 AWS를 이용하려고 하는데,, 괴담처럼 'AWS 이용하다가 과금이 어마무시하게 청구됐다!😱'라는 이야기를 들었다.

돈이 없는 취준생에게는 너무 너무 무서운 이야기이기 때문에 계정만들자마자 과금 관리를 해보려고 한다.

 

우선 AWS 사이트에 들어가 로그인을 한다. 그리고 검색버튼을 눌러서 budgets을 검색한다.

 

budgets은 내가 설정한 기간마다 사용할 예산을 설정하고, 그 이상으로 비용이 발생하면 알려주는 서비스이다.

budgets을 누른 후 오른쪽에 보이는 예산 생성 버튼을 누른다.

1. 제로 지출 예산

프리티어인 경우 제로 지출 예산을 선택하고, 이메일 수신자에 알림을 받을 이메일을 넣으면 한도 초과시 메일로 알려준다. 

 

2. 월별 비용 예산

프리티어가 종료된 경우에는 월별 비용 예산을 선택해서, 한달에 본인이 설정한 비용을 초과하는 경우 알림을 받을 수 있다.

기본이 100 달러로 설정이 되어있는데, 나는 0.01달러로 설정하여 조금이라도 과금이 생기는 순간! 메일을 받을 수 있게 설정하였다.

 

나는 프리티어이기 때문에 제로 지출 예산과 월별 비용 예산 둘 다 설정했다.

과금이 절대 절대 발생하지 않기를 바라며.. 🙏

+ Recent posts