[AWS] EC2 인스턴스 생성

YoungBin·2023년 5월 30일
0

aws

목록 보기
2/4
post-thumbnail

💡EC2란?

Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS) 클라우드에서 확장 가능 컴퓨팅 용량을 제공하는 서비스 이다.

물론 우리가 사용하는 컴퓨터와 EC2는 명백하게 차이가 있다.
그 차이는 바로 EC2는 생성을 하면 바로 생성이 가능하고 삭제 하면 바로 삭제가 된다.

그리고 내가 20GB의 저장공간이 필요 했었는데 부족하다 그러면 시판에 있는 공량이 큰 저장장치를 변경하는 것이 아닌 필요한 용량만 큼 추가 해서 사용이 가능하다.

또한 EC2는 AMI기능도 사용가능하다.

AMI란?

Amazon Machine Image의 줄임말 으로 aws을 구동할 이미지 파일을 의미한다.
우리는 기존에 서버를 생성하면 OS즉 운영체제를 설치를 하는 것이 우선이였다.
하지만 aws에서 AMI을 통해 우리가 OS을 설치 하는 과정을 하지 않아도 된다.

💻EC2 장점

  1. 사용자가 원할때 마다 서버의 성능을 변경가능하다.
  2. 사용한 만큼 돈이 나간다.
  3. 다양한 OS가 선택이 가능하다.
  4. 바로바로 인스턴스가 생성된다.
  5. 다양한 용도에 맞춰서 서버를 구성이 가능 하다.

정도로 볼 수 있다. 하지만 그만큼 단점도 있다. 위에서 언급 한 내용들은 자칫 잘 못하면 큰 요금이 나올 수도 있다.

💻EC2 인스턴스 만들기

상단의 검색에 EC2을 검색후 들어간다.

인스턴스 시작을 클릭하면 인스턴스을 생성 할 수 있는 화면이 나온다.

📌 1. AMI (Amazon Machine Image) 선택하기

이름 및 테그에 본인이 생성할 인스턴스의 이름을 작성해준다.
필자는 OS는 ubuntu로 하였다.

본인이 원하는 OS을 선택해도 상관없다.
여기서 중요한 부분은 형광펜으로 표시 해둔 프리터어 사용가능을 선택해야 한다.

📌 2. 인스턴스 유형 및 키페어 생성

인스턴스 유형은 위와 같이 프리티어 사용가능옵션을 선택해주고 새 키 페어 생성을 클릭하여 키 페어를 하나 생성해준다.

키 페어는 .pem방식으로 생성해준다.

키 페터을 생성하면 키 페어 이름.pem인 파일이 다운 될 것이다.
이 파일은 나중에 SFTP나 SSH 접속을 할 때 꼭 필요 한 파일이다. 항상 잘 보이는 곳에 두어야 한다.

📌 3. 네트워크 설정

해당 부분은 그냥 두면 된다.

📌 4. 스토리지 구성

스토리지 구성인데 하단에 읽어보면 프리티어는 최대 30GB의 스토리지를 사용 가능 하다고 적혀 있다.

📌 5. 요약

오른쪽에 설정한 값들을 확인 후 인스턴스 시작을 누르면 인스턴스 생성이 완료가 된다.

📌 6. 실행 확인

이렇게 인스턴스을 보면 실행 중이 뜨면 인스턴스 생성이 완료 된 것이다.

📌 7. 탄력적 IP 할당하기

  • 인스턴스 생성할 때는 항상 새 IP을 할당해야한다.
  • 만약에 인스턴스를 중지하고 재시작하면 새로운 IP가 할당된다. 그 일을 방지 하기 위해서 탄력적 IP을 할당해 주는 것이다.

⚠️주의

만약에 탄력적 IP을 선언하고 EC2에 연결해주지 않으면 과금이 된다.
이게 뭔 말인가 싶지만 만들때는 과금이 안되지만 연결을 하지 않으면 과금이 된다.

상단에 검색 부분에 탄력적 IP을 검색 후 하단에 특징에 탄력적 IP을 선택해준다.

탄력적 IP는 별거 없이 그냥 생성해주면 된다.

해당 칸에 보면 파란색으로 해당 IP 주소가 나와 있을 것이다.
해당 부분을 클릭해서 들어가면 탄력적 IP을 연결이 가능 하다.

들어가면 상단에 탄력적IP 주소 연결이 보인다. 해당 부분을 클릭하여 들어가면

다음과 같이 탄력적 IP 주소를 연결 할 수 있는 창이 나온다. 인스턴스 부분에서 아까 생성한 인스턴스를 클릭 하고 연결을 눌러준다.

🔑 외부 접속하기

📌 PuTTy

여기에 들어가면 PUTTY와 PUTTYgen을 설치 할 수 있는 사이트가 나온다.
해당 부분에서 puttygen하고 putty을 설치 해준다.

자신에 맞는 운영체제를 선택해서 다운 받는다.

PuTTYgen

우리가 인스턴스를 생성 할때 만든 키 페어를 PuTTY에서 사용가능하게 만들어줘야 한다.

우선 Load버튼을 누르면 파일첨부 팝업이 나올텐데 그때 인스턴스 생성할때 다운받은 .pem 파일을 선택해준다. 이때 첨부파일 팝업 하단에 파일을 All Files로 선택해줘야 나온다.

.pem파일을 열면 다음과 같이 .ppk을 생성 할 수 있는 화면으로 넘어간다.
이후 Save버튼을 눌러 .ppk로 변환 해준다.

PuTTY

아까 PuTTYgen에서 만들어준 .ppk을 불러와준다.

그 이후 Allow agent forwarding을 체크 해준다.

Data를 들어가서 Auto-login username에 각각 AMI에 맞는 유저명을 입력해준다.
필자는 처음에 인스턴스를 생성 해줬을때 ubuntu로 생성했으니깐 ubuntu을 적어준다.

만약 아마존 리눅스 AMI을 선택했으면 ec2-user을 입력해줘야 한다.

그 다음에 Host Name에 아까 생성한 탄력적 IP을 넣어두고 포트는 22번을 넣어준다.
그 후 하단에 Saved Sessions 부분에 자신이 알 수 있게 이름을 넣어주고 Save버튼을 눌러준다.

📌 FileZilla

여기에 들어가면 첫 화면에 다운 로드 버튼이 있다.
FileZilla을 다운 받으면 다음과 같은 화면이 나오는데

상단에 파일 탭에 사이트 관리을 클릭하여 들어간다.

하단에 New Site을 클릭하여 이름을 입력해주고
프로트콜은 SFTP로 변경
Host는 아까 생성한 탄력적 IP
포트는 22번
로그온 유형은 키파일
사용자는 아까 위에서 PuTTy접속할때의 사용자 이름을 넣어주면 된다.

연결을 누루면 해당 인스턴스에 연결이 될 것이다.

아마존 리눅스 - ec2-user
ubuntu - ubuntu

이후는 상단에 표시된 모양을 누르면 입력없이 바로 접근이 가능하다.

🔽 JAVA설치

별도의 톰켓을 사용하지 않는다면 자바 환경변수는 필요 없다.
필자는 Spring boot의 내장되어있는 톰켓을 사용함으로 환경 설정은 하지 않았다.

$ sudo apt-get update
$ sudo apt-get upgrade

# 자바 설치
# 필자는 11버전을 설치 하였다.
$ sudo apt-get install openjdk-[버전]-jdk

✅버전확인

# 설치 확인
$ java -version
openjdk version "11.0.19" 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1, mixed mode, sharing)

이로서 EC2 인스턴스 생성을 끝내겠다.

0개의 댓글