[AWS] EC2 인스턴스 만들기

이번 포스팅은 지난 포스팅에서 만들었던 VPCec2 인스턴스를 만들어 올리는 방법에 대해 설명해 보려고 합니다.

VPC 구성에 대한 포스팅은 다음 링크를 참고하시기 바랍니다.


실습 시나리오

ec2 인스턴스를 하나 만들어 user data를 이용해 생성과 동시에 apache웹서버를 설치해 웹페이지를 띄우는 실습을 진행하겠습니다.


인스턴스 생성

ec2 콘솔에 접속해 화면 중간쯤 위치한 Launch Instance를 클릭해 다음으로 넘어갑니다.

AMI 선택

AMI(Amazon Machine Image)를 선택하는 화면이다. AMI가 무엇인가 OS 설치 이미지 라고 생각하시면 됩니다. 자세한 설명은 다음 링크를 참고 합니다.

이번 실습에서는 Amazon이 배포한 Amazon Linux 2 이미지를 사용하여 인스턴스를 생성하겠습니다.

Select버튼을 눌러 다음으로 이동합니다.

인스턴스 타입 선택

다음으로 생성하려고 하는 인스턴스의 타입을 선택하는 화면입니다.

화면에서 보면 알겠지만 t2.nano, t2.micro… 등 다양한 스팩의 인스턴스 타입이 존재 합니다.

사용자는 서비스의 워크로드에 맞는 인스턴스 타입을 선택하면 됩니다.

매번 느끼는거지만 정말 간편합니다. 온프레미스 환경에서는 상상도 하지 못할 일이죠…

이번 실습에서는 t2.micro 타입의 인스턴스를 선택하도록 하겠습니다.

선택했으면 Next: Configure Instance Details버튼을 클릭해 다음으로 넘어갑니다.

인스턴스 설정

좀 복잡한 화면이 나타나네요~

다음은 인스턴스에 대한 디테일 설정을 하는 화면 입니다.

위 그림과 같이 붉은색으로 표기한 사각형 부분을 수정해 줍니다.

  • Number of Instances : 1 ( 말 그대로 생성할 인스턴스 갯수 입니다. 기본적으로 1개만 생성하겠습니다.)
  • Network : 앞서 생성한 VPC를 선택합니다. VPC가 없다면 우측에 Create new VPC를 클릭해 새로운 VPC를 생성할 수 있습니다.
  • Subnet : 앞서 생성한 Subnet을 선택합니다. Subnet이 없다면 우측에 Create new subnet링크를 클릭해 Subnet을 생성할 수 있습니다.
  • Auto-assign Public IP : Enable (이 부분은 나중에 따로 설명하겠지만 ec2에 공인 IP를 붙이는 방법은 2가지가 있다 Public IPElastic IP 이다. 이번 실습에서는 Public IP로 진행하겠습니다.)
  • 나머지 설정 값은 default 설정값으로 사용하고 화면 스크롤을 내려 IP및 인스턴스 시작시 실행되는 스크립트를 설정하겠습니다.

같은 화면에서 스크롤을 좀 더 내리면 IP Address를 설정하는 부분과 인스턴스 생성시 구동되는 스크립트를 삽입할 수 있는 User data 입력폼이 나타납니다.

  • Network interfaces : 10.0.0.5 ( Primary IP에 인스턴스가 위치할 서브넷에 할당된 범위내 IP 주소를 입력합니다. 본 실습에 사용되는 Subnet10.0.0.0/24크기의 IP주소를 가지고 있기 때문에 범위 내에 있는 10.0.0.5 IP를 할당하겠습니다.)
  • 팁!! 각 Subnet에 가용한 IP 중 첫 4개, 마지막 1개의 IP는 사용 불가합니다. 실습에서 사용하려고 하는 10.0.0.0/24블럭 Subnet을 예를 들어봅니다.
    • 10.0.0.0 : 네트워크 주소
    • 10.0.0.1 : AWS 에서 VPC 라우터용으로 예약한 주소
    • 10.0.0.2 : AWS에서 예약한 주소, DNS 서버용(자세한 정보)
    • 10.0.0.3 : AWS에서 앞으로 사용하기 위해 예약한 주소
    • 10.0.0.255 : 네트워크 브로드케스트 주소.
    • 사용가능 IP Range : 10.0.0.4 ~ 10.0.0.254, 총 251개 사용가능.
  • User data : apache 설치 및 index.html 파일 작성하는 스크립트(아래)를 입력합니다.
#!/bin/bash
yum -y install httpd
touch /var/www/html/index.html
echo "Hello World~~~" > /var/www/html/index.html
service httpd start

모두 입력했으면 Next 버튼을 클릭해 다음으로 넘어갑니다.

스토리지 추가

스토리지 추가 화면 입니다.

Amazon Linux 2 AMIroot 볼륨으로 8GB로 설정이 되어 있습니다. 크기를 늘려도 되고 볼륨을 추가해도 됩니다. 본 실습에서는 default값으로 넘어가겠습니다.

볼륨 추가는 인스턴스가 만들어진 후에도 얼마든지 할 수 있습니다.

태그 추가

tag를 추가하는 화면 입니다. 앞서 VPC글에서도 잠시 언급했던 그 tag입니다.

Add tag버튼을 누르면 위 그림과 같이 입력폼이 뜨는데 그림과 같이 입력합니다.

  • Key : Name
  • Value : Webserver
  • Next: Configure Security Group버튼을 눌러 다음으로 넘어갑니다.

Security Group 설정

방화벽 설정 화면 입니다.

  • Assign a security group : Select an existing security group 선택( 기존에 만들어 놓은 Security Group을 선택한다. ) Create a new security group 선택해서 Security Group을 새로 만들어도 됩니다.
  • Review and Launch버튼을 눌러 다음으로 넘어갑니다.

리뷰

지금까지 설정한 값들에 대한 리뷰 화면입니다.

설정 값들을 훑어 보고 이상 없으면 Launch 버튼을 클릭해 다음으로 넘어갑니다.

키페어 선택

다음은 key pair 선택 화면 입니다.

  • Create a new key pair 선택
  • Key pair name : test-key ( 키페어 이름을 입력합니다.)
  • Download Key Pair버튼은 눌러 key pair를 다운로드 받습니다.
  • 다운로드된 파일명은 [key pair name].pem 파일입니다.
  • Launch Instance버튼을 클릭해 인스턴스를 생성합니다.

key pair는 인스턴스에 로그인시 필요한 중요한 파일이므로 다운로드 받아 안전한 장소에 보관합니다.

문제가 없다면 Launch Instance버튼 클릭 후 1~2분 안에 인스턴스가 만들어지게 됩니다.


확인하기

다음으로 EC2콘솔로 돌아가 보면 인스턴스가 만들어진것을 확인 할 수 있습니다.

붉은색 사각형 안에 Public IP가 보이고 그 IP를 통해서 접속을 할 수 있습니다.

본 실습에서는 인스턴스 구동시 apache를 설치하고 index.html 파일을 생성하는 시나리오로 진행이 되었으므로 붉은색 사각형 안에 IP 주소를 복사해 웹브라우져에 붙여넣으면 “Hello World~~~” 라는 문구가 보여야 할 것이다.

확인해 보겠습니다.

잘 확인 되었습니다. ^^

인스턴스에 접속해 보기

다음은 SSH를 이용하여 생성된 인스턴스에 접속하는 방법 입니다.

key pair다운로드 경로에서 다음과 같이 입력하면 인스턴스에 접속됩니다.

ssh -i test-key.pem ec2-user@13.209.83.211

접속시 key pair 파일 퍼미션 에러가 발생한다면 chmod 600 test-key.pem 명령으로 퍼미션 조정 후 다시 시도해 봅니다.

윈도우 사용자라면 putty를 사용해서 인스턴스에 연결하는 예제를 참고해 주세요~

이상 ec2 인스턴스를 만드는 방법에 대해서 알아보았습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다