AWS - 4 [EC2 - 2]

_Block·2022년 8월 30일
0

AWS

목록 보기
4/27
post-thumbnail

👆 EC2 인스턴스 생성

AWS 홈페이지에 접속하여 EC2생성하기에 접근합니다.

  • 대시보드에서 검색을 하여 손쉽게 접근 가능합니다.

페이지에 접속하게 되면 처음으로 이름과 태그를 설정해 주어야 합니다.

  • 태그 항목은 필수는 아닙니다.

그 후에는 이미지 즉 운영체제를 생성 합니다.

AWS에서는 수많은 운영체제를 제공하고 있으며 상황에 맞는 운영체제를 선택 합니다.

  • 저 같은 경우에는 Amazon Linux 항목에서 기본으로 설정된 운영체제를 선택하였습니다.
  • 해당 이미지 선택에서 반드시 프리티어를 선택하여야 비용이 부과되지 않습니다.

이후 인스턴스를 선택합니다.

  • 현재의 설정 값 입니다.

이후 저희는 로그인에 사용될 키 페어를 설정해 줍니다.

  • SSH연결을 할 떄에 사용됩니다.

현재에는 키쌍이 없기 떄문에 오른쪽에 있는 새 키 페어를 선택해 줍니다.

유형 및 형식에는 총 두가지의 선택지가 있습니다.

1. 키 페어 유형
- 어떤 형태의 암호화를 사용할지를 선택 합니다.

2. 키 파일 형식
- OS에 따라서 다른 파일 형식을 선택해야 합니다.
- .pen : Mac, Linux, Window10
- .ppk : Window10 이하

이후 키를 생성하게 되면 자동으로 키가 다운로드 되며 선택이 됩니다.

  • 해당 키는 접속에 사용되는 열쇠이기 떄문에 조심히 관리 해야 합니다.

👆 네트워크 설정

우리가 만드는 EC2에 접속을 관리하는 네트워크 보안을 설정 하여야 합니다.

일단 TEST용이기 떄문에 모든 트래픽을 허용 할 것이며, 웹 서버를 실행할 것이기 떄문에 HTTP도 허용 하였습니다.

  • 일반적으로는 IP주소를 직접 선택하여 허용 합니다.

이후 스토리지 값을 설정 합니다.

  • 설정된 상태로 그대로 사용하도록 합니다.
  • 세부정보를 보면 EC2종료시에 데이터 삭제 부분이 있습니다. 원하지 않다면 No를 선택합니다.

이후 고급 세부정보를 열어서 사용자 데이터 스크립트를 입력합니다.

  • 다른 사항들은 후에 다루어 보도록 하겠습니다.

사용자 데이터에 입력되는 코드는 EC2가 처음 실행 될떄 단 한번만 실행되는 코드를 의미 합니다.

yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>hello world from $(hostname -f)</h1>"> /var/www/html/index.html

설정한 저의 EC2입니다.

이후 대시보드에서 보이는 public주소를 Url에 입력해보면 설정한 helloWorle와 Private주소가 보이는 것을 확인해 볼 수 있습니다.

👆 EC2 인스턴스 기본 사항

AWS의 인스턴스 이름을 보면 굉장히 괴상?합니다.

한가지 예시를 들어 어떤의미를 가지고 있는지 알아보겠습니다.

예시는 m5.2xlarge입니다.

 M : 인스턴스 클래스
 
 5 : 인스턴스 세대
 - AWS가 버전이 업그레이드 되는 것에 따라서 증가되는 숫자 입니다.
 - 클수록 최신 버전을 의미

 2xlarge : 인스턴스의 크기를 의미
 - 클 수록 더 좋은 성능의 인스턴스를 의미합니다.

🐾 범용 인스턴스

가장 일반적인 인스턴스를 의미합니다.

  • 프리티어 인스턴스도 포함 됩니다.

일반적인 웹서버 작업을 할 때 사용이 되며 가장 밸런스가 좋은 인스턴스 입니다.

t로 시작하는 이름을 가지고 있습니다.

🐾 컴퓨팅 최적화 인스턴스

컴퓨터의 작업에 최적화된 인스턴스 입니다.

데이터의 일괄처리 및 고성능 웹서버, 머신 러닝, 게임 서버 등 고성능의 컴퓨터 필요할때 사용되는 인스턴스 입니다.

C로 시작하는 이름을 가지고 있습니다.

🐾 메모리 최적화 인스턴스

데이터 베이스, 캐시 저장소 및 애플리케이션에 사용이 됩니다.

R로 시작하는 이름을 가지고 있습니다.

  • 떄로 X, Z의 이름도 가지고 있습니다.

🐾 저장 최적화 인스턴스

말 그대로 데이터를 저장하는데 최적화되어있는 인스턴스 입니다.

NoSql데이터 베이스, 레디스와 같은 데이터를 저장하는데에 사용이 됩니다.

  • 주로 분산 데이터를 저장할떄 사용이 됩니다.

I,D,H등으로 시작합니다.

👆 EC2 보안 그룹

EC2인스턴스로 들어오는 트래픽과 나가는 트래픽을 관리하는 그룹 입니다.

Ip주소만을 참고하여 만들면 되기 떄문에 생각보다 간단하게 구성이 가능합니다.

일반적으로 인바운드, 아웃바운드 규칙을 설정합니다.

앞서 만들어본 EC2인스턴스에서도 볼 수 있듯이 EC2인스턴스에 접근 가능한 Ip주소를 할당함으로써 동작을 합니다.

  • 만약 나의 IP주소가 A이며 A만을 허용 하였다면 다른 Ip주소를 가지고 있는 B는 접근을 하지 못합니다.

아웃바운드 규칙은 EC2에서 다른 외부 IP로 전송을 하는 규칙을 의미합니다.

  • 주로 모든것을 허용 합니다.

보통 무한 로딩이 발생하면 보안 그룹을 통과하지 못한 것이고, 에러 페이지가 보이게 되면 실행중인 애플리케이션에서 문제가 발생한 것을 의미합니다.

🐾 알고 있어야 할 포트 번호

22 = SSH : Linux 인스턴스에 접속 포트

21 = FTP : 파일 전송에 사용 되는 포트

22 = SFTP : SSH를 활용하여 파일 전송하는 포트

80 = HTTP : 보안이 없는 웹사이트에 접속하는 포트

443 = HTTPS : 보안이 있는 웹사이트에 접속하는 포트

3389 = RDP : Window 인스턴스에 접속하는 포트

👆 EC2 보안 실습

EC2 왼쪽의 대시보드를 확인하여 네트워크 및 보안 목록에서 보안 그룹을 들어갑니다.

기본 default 보안 그룹은 두가지로 구성이 되어 있습니다.

  • 최초 접속 시 보이는 것이 default 보안 그룹 입니다.

해당 페이지에서는 사용하고 있는 보안 그룹들이 보이는 페이지로 해당 보안 그룹을 수정할 수 있는 페이지 입니다.

한개의 보안그룹을 선택하여 인바운드 규칙으로 이동후 규칙 편집을 눌러줌으로써 인바운드, 아웃바운드 규칙을 수정 할 수 있습니다.

  • 인바운드 : 외부에서 들어오는 트래픽
  • 아웃바운드 : 내부에서 외부로 나가는 트래픽
profile
Block_Chain 개발자 입니다. 해당 블로그는 네트워크에 관한 내용을 다루고 있습니다.

0개의 댓글