본문 바로가기

AWS/EC2

Private EC2 접속 방법 (1) - Bastion EC2 생성

안녕하세요 !

오늘은 클라우드에 대한 관심이 높아지고, 국비학원에서 클라우드를 다루는만큼(저도 국비학원 출신입니다.)

AWS를 처음 접하시는 분들에게 Bastion Instance에서 Privete Instance로 접속하는 방법을 포스팅 하고자 합니다.

(그 과정에서 PuTTY 설정 또한 다룰 예정이다보니 포스팅이 길어져서 나눠서 쓰도록 하겠습니다!!)

 

또한, AWS를 처음 접하시는 분들이라면, 자격증에 관심이 많으실텐데요..!!

자격증 뿐만 아니라 AWS 네트워크 개념도 너무 잘 정리해놔주신 블로그를 하나 소개해드립니다 ..!!^^

저 또한 정말 많은 도움이 된 소중한 지식들이니 참고하시길 바래요!!

 

aws-hyoh.tistory.com/

 

네트워크 엔지니어 환영의 AWS 기술블로그

쉽게 설명할 수 없다면 제대로 이해한 것이 아니다.

aws-hyoh.tistory.com

 

 

그럼 아래의 순서대로 포스팅 시작해보겠습니다.

 

- Bastion Instance 생성

- PuTTYgen을 통한 pem -> ppk 변환

- PuTTY 설정

- Bastion Instance (Public Subnet EC2) 접속

- Private Instance 생성 (생략) Bastion Instance 생성 방법 참고.

- Bastion Instance에서 Private EC2 접속 (SSH)

- Bastion Instance를 터널로 활용하여 Private EC2 접속 (터널링)

- Session Manager를 통하여 EC2 접속 (이전 포스팅 링크로 대체하겠습니다.)


먼저.. Bastion Instance부터 띄워보도록 하겠습니다.

 

AWS Web Console - EC2 - Instances - Launch Instance

 

Launch Instance 클릭!

 

다음은 사용하실 소프트웨어 구성 템플릿을 선택해주시면 되는데요.

이러한 소프트웨어 구성 템플릿은 OS, 애플리케이션 서버 및 애플리케이션을 포함하며,

AWS에서 AMI(Amazon Machine Image)라는 이름의 이미지로 제공하고 있습니다.

 

저는 Amazon Linux2 AMI x86 으로 시작하겠습니다.

 

AMI 선택


AMI를 선택하시면 t2.micro 부터해서 여러가지 타입들이 보이는데요.

이 타입들은 모두 각각 성능(CPU, Memory...)이 다르며 가격 또한 다릅니다.

또한, 알아두시면 좋은 단어 중 하나가!! 인스턴스 패밀리 라는 단어입니다.

앞으로 AWS를 계속 접하시다보면 꼭 들어보실 단어인데요.

t2, t3, m4, m5 ... 이러한 녀석들이 인스턴스 패밀리 라는 녀석입니다!

[t2.micro, t2.large, t2.xlage ...] 은 t2 패밀리구요, [m5.large, m5.xlarge, m5.4xlarge...] 은 m5 패밀리 입니다.

각 타입별 성능과 가격은.. IT는 구글링과 구걸링 아시죠?!!^^ 검색하시면 바로 나올겁니다!! 검색의 생활화!!

 

사담이 길었네요 ^^ 저는 프리티어 제공이 가능한 t2.micro를 사용하겠습니다.

 

인스턴스 타입 선택


다음은 Next: Configure Instance Details 를 눌러서 세부정보들을 하나씩 하나씩 설정 해보겠습니다.

먼저 Network 쪽에 VPC를 선택해주시구요.

Subnet쪽에서 Public Subnet으로 사용하기로 한 Subnet을 선택해주시면 됩니다.

이후 Auto-assign Public IP설정은 Use subnet setting(Enable)을 선택하든, 따로 Enable을 선택하든 어쨋든

Bastion Instance로써 Public IP가 필요하기에 Enable 되도록 설정합니다.

 

Public IP를 할당 받게끔 설정.

 

AWS를 처음 접하신다면 많이 햇갈려들 하시는데요.

Public Subnet과 Private Subnet의 차이점은 크게는 딱 세가지 입니다.

아래 3가지가 해당된다면 Public Subnet이고, 해당되지 않는다면 Private Subnet 입니다.

 

1. Subnet에 연결된 Routing Table에 IGW(Internet Gate Way)로 나가는 규칙이 있는가?

2. Subnet에 Auto-assign Public IP가 체크가 되어있는가?

3. IGW로 나가는 규칙이 있는 Subnet에서 생성된 EC2에 Public IP가 할당되어 있는가?

 

사실.. 제일 핵심은 1번 입니다.

여튼.. 만약 Subnet에 Auto-assign Public IP를 체크해놓으셨다면, Use subnet setting (Enable) 일것이고,

아니라면 Use subnet setting (Disable) 일겁니다.

 

사실.. 휴먼에러 방지 및 보안상 Auto-assign Public IP를 Disable 해놓는 것을 권고하기도 하는데요.

우리는 학습중이니까..! 기능을 사용해보기로해요 !!

저기가 Use subnet setting이 Disable이든, Enable이든 폴딩을 해제하여 Enable/Disable을 각각 선택할 수 있으니

참고하시기 바랍니다!

저희는 Bastion Instance용으로 Public Subnet에 위치할 것이기 때문에 Public IP가 필요합니다.

마지막으로, 이러한 Public IP는 Stop - Start를 하면 변경되는 IP로써 EIP와는 다릅니다!!


아래 사진은 Subnet에 Auto-assign Public IP를 셋팅하는 방법 입니다.

VPC - Subnet - Subnet 선택 - Actions - Modify auto-assign IP settings

 

Auto-assign IP Setting


자 .. 다시 Instance setting으로 돌아와서 ..

IAM role에 AmazonSSMRoleForInstancesQuickSetup Role을 할당해놓으면 Session Manager를 통하여 인스턴스로

접근할 수 있습니다!

또한, Enable termination protection을 Enable 해놓으면, 우리가 실수로 인스턴스를 종료(Terminate)를 누르더라도,

'종료방지기능으로 인하여 인스턴스를 종료할 수 없습니다. 종료방지기능을 변경하고 다시시도 하세요.'

라는 팝업을 만날 수 있습니다!!

학원이든 업무든.. 필요에 의해서 생성한 인스턴스를 꾸벅꾸벅 졸다가 날려버리는 일이 없도록 체크해주세요 ^^

 

IAM role과 Termination protection 기능


다음으로는 ENI(Elastic Network Interface) 즉, NIC 부분인데요.

아래와 같이 Subnet에 속하는 CIDR을 입력하면, Private IP에 대해서 지정이 가능하고,

입력하지 않으면 Subnet의 CIDR범위 내에서 AWS가 자동으로 할당해준답니다.

 

ENI에 Private IP 지정


다음으로 Next: Add Storage를 눌러서 EBS 설정을 하겠습니다.

Default 설정으로 두시면 Size는 8GiB에 Volume Type이 gp2 일텐데요.

최근에 gp3 라는 새로운 볼륨타입이 발표되었고 가격 또한 기존 gp2보다 저렴하고!! 범용 SSD이다 보니 프리티어로도 30GiB를 쓸 수 있습니다!!

Encryption은 Not Encrypted로 설정을 했는데요.. 후에 KMS와 암호화에 대해 학습하시고, 사용해보시길 권합니다!

 

 

EBS 설정


다음은 Next: Add Tags로 넘어가겠습니다.

저는 Name tag와 함께 OS도 함께 표기해주었습니다!

추가적으로 Owner의 핸드폰 번호나, Email 등을 입력해서 관리할 때 파악하기 쉽도록 가능한 많은 정보를 제공하도록

습관 들여주세요!!

 

Tag 설정


다음 Next: Configure Security Group을 눌러서 SG 설정을 해주도록 하겠습니다.

Create a new security group을 눌러서 새로운 SG를 만들어줄거구요.

적절한 이름과 설명, 또한 Inbound rule에는 22번 Port로 My IP를 지정해주었습니다.

 

SG 설정


자 이제 다음 화면에서 지금까지 설정한 것들을 검토하고 Instance를 생성해보겠습니다.

검토를 다 한 후에 Launch 버튼을 누르게 되면, Key pair를 선택 or 생성하는 화면이 나오는데요.

Create a new key pair를 눌러 새로운 Key pair를 생성하겠습니다.

이후 Download Key Pair를 꼭!꼭!꼭! 눌러서 Key를 다운로드 받으셔야 합니다!!

 

Key pair 생성 및 다운로드

다운로드를 누르셨으면, Launch Instances 를 눌러 Instance를 시작합니다.


다음으로는, 다운로드 된 pem 키를 ppk파일로 변환해야하는데요.

PuTTYgen을 이용하여 변환을 하고, PuTTY 설정을 하는 포스팅은 다음 포스팅에 이어서

진행하도록 하겠습니다.