호스팅

[AWS] 웹호스팅 / EC2 인스턴스 생성 ①

웹개발자(진) 2024. 7. 3. 14:09
반응형

 

 

 

잡담

코딩을 통해 웹서비스 설계를 했다면 중간중간에 호스팅 하면서 코드가 잘 진행되는지 확인해보아야 합니다. 로컬에서는 정상적으로 동작하던 것이 호스팅 하여 웹에서 사용할 때는 안 되는 경우가 많기 때문에 단계단계마다 호스팅을 통해서 오류 수정이나 예외처리를 해야 합니다. 오늘은 AWS에서 EC2 인스턴스 생성하는 방법을 알려드리도록 하겠습니다.

 


 

1. EC2 인스턴스?

Amazon EC2 (Elastic Compute Cloud)는 Amazon Web Services (AWS)에서 제공하는 가상 서버 서비스입니다. EC2는 클라우드에서 컴퓨팅 자원을 유연하게 사용할 수 있도록 해주는 서비스로, 사용자는 필요에 따라 컴퓨팅 자원을 조절하고, 다양한 용도로 사용할 수 있습니다. EC2 인스턴스는 이러한 클라우드 기반의 가상 서버를 의미합니다.


 

2. EC2 인스턴스의 주요 특징

  1. 확장성 (Scalability):
    • 필요에 따라 인스턴스를 쉽게 추가하거나 제거할 수 있습니다. 이를 통해 트래픽 변화에 유연하게 대응할 수 있습니다.
  2. 다양한 인스턴스 유형:
    • CPU, 메모리, 스토리지, 네트워크 성능 등 다양한 조합으로 구성된 인스턴스 유형을 제공합니다. 예를 들어, 범용(G), 컴퓨팅 최적화(C), 메모리 최적화(R) 등 다양한 인스턴스 패밀리가 있습니다.
  3. 탄력적 IP 주소 (Elastic IP):
    • 정적 IPv4 주소를 EC2 인스턴스에 연결할 수 있으며, 인스턴스가 중단되더라도 IP 주소를 유지할 수 있습니다.
  4. 다양한 스토리지 옵션:
    • 인스턴스 스토어와 EBS (Elastic Block Store) 볼륨을 사용하여 데이터를 저장할 수 있습니다. EBS는 지속성을 제공하며, 스냅샷 기능을 통해 백업 및 복구가 가능합니다.
  5. 보안 그룹 (Security Groups):
    • 인스턴스에 대한 네트워크 접근을 제어할 수 있는 가상 방화벽을 제공합니다. 이를 통해 특정 IP 주소나 포트에 대한 접근을 허용하거나 차단할 수 있습니다.
  6. 가격 모델:
    • 온디맨드 인스턴스: 필요할 때마다 인스턴스를 생성하고 사용한 만큼 비용을 지불합니다.
    • 예약 인스턴스: 특정 기간 동안 인스턴스를 예약하고 할인된 가격으로 사용합니다.
    • 스팟 인스턴스: 남는 용량을 저렴한 가격에 사용할 수 있지만, AWS에서 필요시 인스턴스를 종료할 수 있습니다.

 

3. EC2 인스턴스의 주요 용도

  1. 웹 서버 호스팅:
    • 웹 애플리케이션 및 웹사이트를 호스팅할 수 있습니다.
  2. 데이터베이스 서버:
    • 관계형 데이터베이스나 NoSQL 데이터베이스 서버를 실행할 수 있습니다.
  3. 개발 및 테스트 환경:
    • 소프트웨어 개발 및 테스트를 위한 환경을 빠르게 구성할 수 있습니다.
  4. 빅 데이터 처리:
    • 대규모 데이터 분석 및 처리 작업을 수행할 수 있습니다.
  5. 애플리케이션 서버:
    • 다양한 비즈니스 애플리케이션을 실행할 수 있습니다.

 

4. EC2 인스턴스 생성 방법

AWS에 로그인하고 메인페이지에서 검색창에 EC2를 검색하여 실행시켜 줍니다.


 

인스턴스를 생성하기 위해서 인스턴스 시작을 클릭해 줍니다.


 

본인이 해당 인스턴스를 알아볼 수 있게 이름을 지정해 줍니다. 

AMI는 Amazon Machine Image의 약자로, AWS(아마존 웹 서비스)에서 인스턴스를 생성할 때 사용하는 템플릿입니다. AMI에는 운영 체제, 애플리케이션 서버, 애플리케이션 등이 포함될 수 있으며, 이를 사용하여 새로운 인스턴스를 신속하게 배포할 수 있습니다. AMI를 사용하면 동일한 설정을 여러 인스턴스에 적용할 수 있어 일관성과 효율성을 높일 수 있습니다.

여기서 저는 ubuntu를 사용했습니다. 대중적으로 많이 사용하고 코드도 잘 나와있어서 처음에 접하기 쉽습니다.

 


t2.micro는 Amazon Web Services (AWS)에서 제공하는 가상 서버의 일종으로, 저비용으로 사용할 수 있는 범용 인스턴스 유형 중 하나입니다. 이 인스턴스 유형은 AWS 프리 티어에서 제공되어, 아래는 t2.micro 인스턴스의 주요 특징과 사용 사례에 대한 설명입니다.

 

사용 사례

t2.micro 인스턴스는 가벼운 웹 서버, 개발 환경, 테스트 서버, 소규모 데이터베이스, 프로토타입 구축 등과 같은 저비용 애플리케이션에 적합합니다. 특히 다음과 같은 경우에 유용합니다:

  1. 블로그 또는 개인 웹사이트 호스팅: 트래픽이 적은 웹사이트나 블로그를 호스팅 할 때 적합합니다.
  2. 개발 및 테스트 환경: 애플리케이션 개발 및 테스트를 위한 저비용 환경으로 사용할 수 있습니다.
  3. 작은 데이터베이스 서버: 작은 크기의 데이터베이스를 호스팅할 수 있습니다.
  4. 실험 및 학습: AWS 환경을 학습하거나 실험하기 위한 용도로 사용할 수 있습니다.

 

이전에 사용하던 키 페어가 없다면 새 키 페어를 생성해 줄 필요가 있습니다.


 

키페어를 통해서 인스턴스를 안전하게 연결할 수 있습니다.

 

주요 차이점 요약

키 페어 선택에서 2가지 유형이 있습니다. 해당 유형을 비교 보았습니다.

특징 RSA ED25519
알고리즘 종류 소인수 분해 기반 타원 곡선 암호화 기반
키 크기 2048비트 이상 256비트
성능 느림 빠름
보안 오랜 시간 동안 검증됨 높은 보안성, 양자 컴퓨팅에 더 안전
사용 사례 SSL/TLS, 디지털 서명 등 SSH 키, 디지털 서명 등

저는 ED25519를 선택했습니다. RSA는 버전이 낮은 putty에서 사용가능한데 putty 버전이 업그레이드되면서 RSA 유형의 키페어를 보안상 인식 못하는 거 같더라고요. 그래서 좀 더 최신에 나온 ED25519를 사용하도록 하겠습니다.

또한 앞서 말한 대로 putty를 사용할 예정이기 때문에. ppk 파일 형식으로 키를 다운로드하여서 사용하도록 하겠습니다.


 

해당 파일을 개인 드라이버나, USB에 담아서 사용할 수 있습니다.


 

앞서 비어있던 키 페어 이름에 방금 만든 키 페어를 선택해 줍니다.


 

로컬뿐만 아니라 모든 웹 사이트에서 다른 사람들이 이용할 수 있도록 트래픽을 허용합니다. 알려진 IP주소의 액세스만 허용하도록 하려면 보안 그룹을 설정하는 게 좋은데 저는 TEST 용이기 때문에 복잡하지 않게 다 풀었습니다.


 

프리 티어에서는 최대 30GB의 스토리지를 사용할 수 있기 때문에 30GB로 설정해 줍니다. 기본 8GB로 설정되어 있는데 저도 사용하다 수정해서 늘렸습니다. 나중에 용량을 늘릴 수 있으니 걱정 안 하셔도 됩니다.


 

설정이 완료되었다면 인스턴스 시작을 통해 인스턴스를 생성해 줍니다.


 

인스턴스가 생성된 것을 확인할 수 있습니다.


 

인스턴스명을 클릭 시 해당 인스턴스에 대한 자세한 정보나, IPv4 주소등도 확인할 수 있습니다.


 

글을 마치며

오늘은 EC2 인스턴스를 생성하는 방법에 대해서 알아보았습니다. IPv4를 퍼블릭에서 사용하게 되면 요금이 빠져나갑니다. 해당내용 항상 확인하고 접근하셔야 됩니다. 많이 나가는 건 아니니 걱정하실 필요는 없지만 그래도 무료라고 생각했다가 돈이 나가면 기분이 나쁘기 때문에 꼭 확인해 보고 진행하시는 걸 추천드립니다. 물론 인스턴스를 중지시켰을 때는 비용이 들지 않습니다.

EC2 인스턴스는 중지할 때마다 고정 IP가 아니고 새로 할당받아서 사용하게 됩니다. 그러면 Putty를 이용하거나 IP를 설정할 때 계속 바꿔줘야 하는데요, 고정 IP를 사용하기 위해서 탄력적 IP를 활용합니다. 다음시간엔 해당내용에 대해 설명해 보도록 하겠습니다. (인스턴스를 끄는 것과 별개로 고정 IP를 할당받는 것은 추가로 요금이 발생합니다.)

반응형