ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Amazon EC2 프리티어 최초 세팅하기 #1 인스턴스 생성부터 접속까지
    백엔드/AWS 2025. 1. 1. 14:12
    더보기

    목차

    1. 계정생성

    2. root 계정 로그인

    3. 인스턴스 생성

    4. 탄력적 IP 할당

    5. 보안그룹 설정

    6. 생성한 인스턴스에 접속

    1. 계정생성

    2.1. 로그인 페이지로 이동 및 사용자 정보 입력

    • 오른쪽 상단의 "Create an AWS Account" 버튼을 클릭해서, 이메일 등의 사용자 정보들을 입력합니다.

    2.2. 결제정보 입력 및 휴대전화 인증

    • 프리티어를 사용하더라도 카드 정보를 필수로 입력해야 합니다. 왜냐면 불시에 사용량이 초과되면 이카드를 통해 결제가 될 것이기 때문입니다... 무서운 amazon..
    • 결제 정보 입력 후, 소액으로 결제테스트가 진행되며, 100원이 결제되었다가 취소되는 것을 확인할 수 있습니다.
    • 이 때! 초과과금을 방지하기 위해 체크카드에 일정량의 금액을 넣어두고, 체크카드로 결제카드를 등록하는 방법도 있다고 하니 참고하시기 바랍니다 :) 
    • 다음으로 핸드폰 본인인증을 진행하면 완료됩니다.

    2.3. 서비스 플랜 선택

    • 마지막으로 서비스 플랜을 선택해야 합니다. 프리티어를 구축할 예정이므로, Basic Plan을 선택하여 시작하면 됩니다.
    • 계성이 생성되면 등록한 이메일 주소로 확인 메일이 발송되며, 메일을 통해 확인 과정을 끝내면 완료!

    2. root 계정 로그인

     

    2.1. 로그인 페이지로 이동

    2.2. 루트 사용자 로그인 선택

    • Root user를 선택한 뒤, 계정 생성 시 등록한 이메일 주소를 입력하고, 등록한 루트 계정의 비밀번호를 입력한 뒤 로그인합니다!

    2.3. MFA 설정 !! 꼭 설정하세요

    • 로그인 후, 보안을 위해 Multi-Factor Authentication(MFA)를 설정하는 것이 좋습니다.
    • AWS Management Console에서 IAM → MFA 설정으로 이동하여 인증 앱(예: Google Authenticator) 또는 하드웨어 토큰을 추가합니다.
    • 저는 개인적으로 Google Authenticator를 이용하고 있습니다. 검색하면서 해킹으로 인한 n천 만원 과금 글들을 너무 많이 봤던 나머지 공포증에 걸릴 지경입니다...
    이제 본격적으로 EC2 Freetier 인스턴스를 생성해봅시다!

    3. 인스턴스 생성

    3.1. 프리티어 인스턴스란?

    • 프리티어는 AWS 신규 가입자에게 제공되는 12개월 무료 사용 혜택으로, 특정 리소스를 제한된 조건 하에서 무료로 사용할 수 있습니다.

     

    3.2. 프리티어 인스턴스 생성

     

    • 생성한 AWS 계정으로 로그인 한 후, AWS Management Console에 로그인하여 EC2 대시보드로 이동합니다. AWS Management Console

    그림 1. 인스턴스 시작 버튼 클릭

     

    • 우측 상단에서 지역을 '서울'로 변경 후, [인스턴스 시작] 버튼을 클릭합니다.

     

    그림 2. 인스턴스 이름을 지정하고, AMI(Amazon Machine Image)를 선택

     

    • 인스턴스 이름을 지정하고(ex: MyServer), AMI(Amazon Machine Image)를 선택합니다. 프리티어에서 무료로 제공되는 운영체제를 선택합니다. (ex: Linux 2, Ubuntu Server LTS, Microsoft WIndows Server Free Tier 등)
    • 스프링부트 API 백엔드 서버를 구축할 예정이므로, Ubuntu 서버를 선택합니다.

    그림 3. 인스턴스 유형 확인, 새 키페어 생성 및 인스턴스 시작

     

    • 인스턴스 유형에 프리티어 가능한 유형으로 자동 선택이 되어 있으므로, 별도로 변경할 필요는 없습니다. 프리티어 가능한 모델로는 t2.micro, t3.micro 유형이 있습니다. 두 유형은 프리티어에 해당되며, vCPU 1개와 1GB의 메모리를 제공합니다.
    • 또한 개인 키를 이용하여 안전하게 SSH에 접속하기 위하여 새 키페어 생성 버튼을 클릭합니다. 다운로드 된 키 페어는 기억하기 쉬운 위치에 별도로 저장하도록 합니다. 이 때, '지정한이름.pem' 의 파일이 생성됩니다.
    • 보안그룹 설정은 인스턴스를 생성한 후 사용 목적에 맞게 세팅하는 방법을 목차 5번에서 소개하도록 하겠습니다.

    그림 4. 스토리지 설정 및 최종 인스턴스 시작 클릭

     

    • 마지막으로, 기본 제공되는 EBS(Elastic Block Store) 스토리지 크기를 확인합니다. 변경하지 않으면 8GB로 세팅되어 있을 것입니다. 1개의 인스턴스만 사용할 예정이므로, 최대 용량인 30GB를 입력한 후, 최종적으로 [인스턴스 시작]버튼을 클릭합니다.
    • 이것으로 인스턴스 생성이 완료됩니다.

     


    4. 탄력적 IP 할당

    4.1. 탄력적 IP란 무엇인가?

    • AWS(Amazon Web Services)에서 사용하는 탄력적 IP(Elastic IP)는 고정(public) IPv4 주소로, 클라우드 리소스와 연결되며 언제든지 유동적으로 사용자가 관리할 수 있도록 설계된 기능입니다.

     

    4.2. 특징

    • 특정 인스턴스가 재부팅되거나 네트워크 구성이 변경되어도 IP 주소가 유지됩니다.
    • EC2 인스턴스에 연결된 일반 공인 IP 주소는 인스턴스가 중지/시작되면 변경될 수 있지만, 탄력적 IP는 변경되지 않습니다.

     

    4.3. 탄력적 IP 할당하기

    그림 5. 탄력적 IP 설정 메뉴 접속

     

    • 좌측의 [탄력적 IP]메뉴를 선택한 후, 우측 상단의 [탄력적 IP 주소 할당] 메뉴를 선택합니다.

    그림 6. 탄력적 IP 주소 할당

     

    • 세부 사항에 대해서는 특별히 선택할 것이 없고, 우측 하단의 [할당] 버튼을 클릭합니다.

     

    그림 7. 할당된 IP 주소 확인 및, 선택 후 연결하기

     

    • 할당을 누르면 부여된 IPv4 주소가 나타나며, 이를 클릭하여 연결을 진행합니다.

     

    그림 8. 탄력적 IP 주소 연결 진입

     

    • 해당하는 탄력적IP에 대한 주소, 유형, 할당ID 등의 다양한 정보를 확인할 수 있습니다. 요약 정보는 참고로만 하고, 바로 주소 연결을 위해 우측 상단의 [탄력적 IP 주소 연결] 버튼을 클릭합니다.

     

    그림 9. 인스턴스에 탄력적 IP 연결

     

    • 실행중인 인스턴스를 선택하고, 우측 하단의 [연결]버튼을 클릭하여, 최종적으로 탄력적 IP 연결을 완료합니다.

     

     

    5. 보안그룹 설정

     

    5.1. 보안그룹이란?

    • 보안 그룹은 AWS EC2 인스턴스의 네트워크 트래픽을 제어하는 가상 방화벽입니다.
    • 인바운드 규칙: 인스턴스로 들어오는 트래픽을 허용하거나 차단합니다.
    • 아웃바운드 규칙: 인스턴스에서 나가는 트래픽을 허용하거나 차단합니다.

     

    5.2. 보안그룹 설정하기

     

    그림 10. 보안그룹 설정 페이지 진입

     

    • 왼쪽 사이드 바에서 [보안그룹]을 선택합니다. 그리고 우측 상단의 [보안 그룹 생성] 버튼을 클릭하여, 인바운드, 아웃바운드 방화벽 규칙을 설정할 수 있습니다.

     

    그림 11. 인바운드 규칙 설정 방법

     

    • 보안 그룹 이름을 지정하고, 아래 [인바운드 규칙]에서 [규칙 추가]를 선택합니다. Shell로 접속하기 위한 SSH port, HTTP, HTTPS, MYSQL 등의 포트를 열 수 있습니다. 아래 프로토콜 정보를 참고하여 세팅할 수 있습니다.
    프로토콜 유형 포트 범위 소스
    SSH TCP 22 내 IP (자동 설정 가능)
    HTTP TCP 80 0.0.0.0/0, ::/0
    HTTPS TCP 443 0.0.0.0/0, ::/0
    MYSQL/AURORA TCP 3306 특정 IP 또는 0.0.0.0/0
    사용자 지정 TCP TCP 8080 0.0.0.0/0, ::/0

     

    • SSH, MYSQL 프로토콜에 대한 소스의 경우 내 IP나 접속을 위한 특정 IP만 허용하는 것이 보안상 안전합니다. 모든 소스를 허용할 경우 보안 위험이 있을 수 있습니다. 저의 경우에 테스트를 하는 로컬 PC의 IP가 고정 IP가 아니므로, 임시적으로 Anywhere로 열어두도록 합니다.
    • 이렇게 보안 그룹 설정까지 마무리 되었습니다. 인스턴스는 준비가 완료되었으니, 로컬 PC에서 EC2 서버에 접속해보도록 합니다.

     

    6. 생성한 인스턴스에 접속

    6.1. PuTTY와 PuTTYgen 다운로드

     

    • PuTTY는 인스턴스에 접속하기 위한 SSH 클라이언트입니다. 또한 PuTTYgen은 키 파일의 형식을 변환하는 도구입니다. AWS에서 생성한 키페어는 *.pem 파일로, *.ppk 형식으로 변환해야하기 때문에 PuTTYgen까지 다운로드하여 사용하도록 합니다. 다음 사이트에서 PuTTY를 다운로드 받을 수 있습니다.

    Download PuTTY - a free SSH and telnet client for Windows

     

    Download PuTTY - a free SSH and telnet client for Windows

    Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

    www.putty.org

     

    그림 12. putty 다운로드 사이트

     

    • Download Putty 를 선택한 후, putty.exe 및 puttygen.exe (윈도우 기준)을 선택하여 설치하도록 합니다. 

     

    6.2. PuTTYgen을 이용하여 키 파일 변환 (.pem 에서 .ppk 형식으로)

     

    그림 13. PuTTYgen 에서 *.ppk 파일로 변환하기

     

    • Load 버튼을 누른 후, 로컬에서 아까 인스턴스 생성 시 3.2절에서 [새 키 페어 생성]을 통해 다운로드 받아서 저장해놓은 *.pem 파일을 로드합니다. 이 때, 확장자를 *.ppk에서 All Files *.*로 변경해야 *.pem 파일이 정상적으로 보입니다. 아까 저장해두었던 *.pem 파일을 선택합니다.
    • 필요에 따라 Key passphrase를 입력한 후 [Save private key] 버튼을 클릭하여 *.ppk 파일을 저장합니다. 이 때 파일의 이름과 저장 위치를 기억하세요.

     

    6.3. PuTTY로 접속하기

     

    그림 14. 퍼블릭 IPv4 DNS 확인

     

    • PuTTY로 접속하기 위하여 퍼블릭 IPv4 DNS가 필요합니다. 대쉬보드의 인스턴스에서, 방금 생성한 인스턴스를 클릭하면 인스턴스에 대한 요약 정보가 나타납니다. 여기에서 [퍼블릭 IPv4 DNS]를 찾아, 이를 복사합니다.

     

    그림 15. 세션 접속 설정

     

    • PUTTY의 Host Name (or IP address) 필드에 EC2 인스턴스의 퍼블릭 IPv4 DNS를 복사하여 입력합니다. 또한, 세션을 편하게 접속하기 위하여 일단 Saved Sessions 부분에 저장하고 싶은 세션의 이름을 입력해줍니다. (* 아직 입력만하고 저장하지 않습니다)

     

    그림 16. 변환한 ppk 파일 설정

     

    • SSH 인증키를 설정하기 위하여, 왼쪽 메뉴의 Connection - SSH - Auth - Credentials 로 이동합니다. 최상단의 Private key file for authentication 옵션에서 [Browse] 버튼을 눌러, 아까 변환하여 저장해두었던 *.ppk 파일을 선택합니다. 이후 다시 왼쪽 상단의 Session으로 이동하여, Save 버튼을 누르면 key 세팅까지 저장되므로, 앞으로 손쉽게 접속할 수 있습니다.

     

    그림 17. SSH 접속

     

    • 'login as'가 발생하면, ubuntu를 입력해줍니다. ppk 파일 변환 시, 'Key passphrase'를 세팅했다면 이 때 비밀번호를 함께 입력해주어야 합니다. 비밀번호를 입력해주면 쉘 접속은 완료됩니다. 이제부터 본격적으로 인스턴스를 사용할 수 있게 되었습니다. 축하합니다!

     

    • 다음 포스트는 백엔드 서버 세팅을 위한 MySQL, Git 설치를 진행해보도록 하겠습니다.
Designed by Tistory.