본문 바로가기

Programming/Cloud

[AWS]EC2 생성하기

안녕하세요. 잇킹 시도르입니다.

오늘은 AWS에서 EC2를 생성해보겠습니다.

 

EC2는 AWS에서 제공하는 가상화된 서버입니다. VPC를 생성함으로써 네트워크를 준비했다면, 이제 애플리케이션 설치나 실제 개발할 환경 설치 등을 수행할 서버가 필요하겠죠? 그런 용도로 사용할 서버가 EC2입니다.

 

클라우드 서버인 EC2는 기존 온프레미스의 서버와 다른 점이 몇 가지 있습니다.

1. 자신의 입맛대로 컴퓨팅 자원을 쉽게 조절해서 생성할 수 있습니다. 삭제 또한 간단합니다.

2. 생성 시간이 짧죠. 버튼 몇 번 누르면 서버 하나가 생성됩니다. 기존에 서버 하나 추가하려면 몇 주가 걸리던 때를 생각하면 정말 편합니다.

3. AMI(Amazon Machine Image)라고 해서 생성한 EC2를 복사해서 이미지를 생성할 수 있습니다. 그래서 복사한 이미지를 통해서 신규 EC2를 그대로 생성할 수 있습니다.

4. 사용한 용량만큼 비용을 지불합니다. 

 

EC2에 대한 소개가 끝났고 이제 직접 생성해보도록 하겠습니다.

 

1. EC2 좌측 메뉴에서 Instances를 클릭합니다.

 

 

2. 해당 메뉴를 통해 현재 계정의 EC2 리스트를 확인할 수 있습니다. 신규로 생성하기 위해서는 Launch Instance를 클릭해 줍니다.

 

 

3. Step 1에서는 서버의 OS를 정해줍니다. 저는 Quick Start에서 첫 번째 Amazon Linux 2 AMI로 정했습니다. 2번은 1번에 비해 파이썬과 DB 등이 설치된 옵션으로 보이네요.

Step1. Choose an AMI

 

좌측 하단의 Commuity  AMIs를 눌러보면 윈도우와 다양한 계열의 리눅스를 제공하고 있음을 확인할 수 있습니다.

 

 

4. Step2는 인스턴스의 스펙 사양을 정해주는 곳입니다. 저는 개인학습 목적이기에 프리티어 지정된 2번째 옵션으로 하기로 했습니다.  프리티어 사양은 다음과 같습니다. 여기클릭

Step2. Choose an Instance Type

인스턴스 유형별로 성능이 어느 정도인지, 메모리 최적화일 때, cpu 최적화할 때 어떤 스펙으로 해야 하는지는 해당 링크를 참조해주세요.(https://aws.amazon.com/ko/ec2/instance-types/)

 

5. Step 3은 ec2와 VPC 연결 등을 지정해줍니다. 

Step3. Configure Instance  Details

- Network : 자신이 원하는 VPC를 선택합니다.

- Subnet : 생성했던 퍼블릭 서브넷과 프라이빗 서브넷에서 선택하면 됩니다.

- Auto-assign Public IP : 저는 서브넷의 IP를 따라가기로 하고 별도 ec2의 ip를 주지 않습니다. Enable을 선택하게 되면 ec2 생성할 때 별도의 퍼블릭 ip가 할당됩니다.

- Tenancy : 클라우드를 구성하는 요소 중에 테너트가 있습니다. 클라우드를 이용하게 되면 자신만의 테넌트 환경을 가지게 되는데, AWS 계정이 테넌트에 해당한다고 하네요. 그래서 여러 서비스 이용자가 하나의 테넌트를 공용으로 사용하는 것도 가능하며, 어떤 단위로 테넌트를 관리할지가 사전에 결정할 필요가 있는데요. 이 옵션이 EC2를 어떤 단위로 관리할지에 대한 것으로 보입니다. 여러 이용자가 공유할지, 해당 계정으로만 한정할지에 대한 선택이 있겠네요.

 

 

6. 다음은 스토리지입니다. 루트 스토리지를 HDD/SSD 중 어느 것을 쓸지, 용량은 어느 정도 할지 등 선택하면 되겠습니다.

Step4. Add Storage

 

 

7. Step5는 태그 지정입니다. 태그는 잘 아시겠지만, 여기서는 범위 한정보다는 검색에 도움을 줍니다.

생성된 ec2 리스트에서 원하는 ec2를 찾을 때 ip나 이름 외에 지정한 태그로 검색을 할 수 있습니다.

 

 

8. Step6은 Security Group 지정입니다. VPC 화면에서도 생성할 수 있는데요.

만약 VPC에서 이미 생성했다면, Select an existing security group을 통해 생성한 보안 그룹을 선택하면 됩니다.

크게 보안은 Network ACLs와 Security Group으로 나누어집니다.

 

저는 따로 web 서버로 사용하지 않고 ssh 터미널 접속만 할 것이기에 ssh만 허용 대상으로 추가했습니다.

만약 웹서버로 활용할 목적이라면 http(80), https(443)을 추가해야겠네요.

<Networkk ACLs VS Security Group>
Network ACLs는 네트워크 자체를 막는 일종의 방화벽이라고 생각하면 됩니다. 그래서 서브넷마다 지정할 수 있습니다.
반면에 Security Group은 네트워크가 아닌 EC2마다 지정해서 인바운드 트래픽 대역을 지정하게 됩니다.

 

9. 마지막으로 지금까지 설정한 EC2의 스펙을 점검할 차례입니다. 한번 쭉 리뷰하고 Launch를 눌러주시죠.

 

그러면 이제 접속 키를 다운로드하게 됩니다. 해당 키를 통해서 향후 ssh 접속을 할 수 있게 됩니다. key 없이 password 방식도 가능합니다. 저는 key pair로 새로 만들기로 했습니다.

AWS ec2 key

 

Key pair name은 다운로드하는 파일명이라고 생각하시면 됩니다. 원하는 경로에 다운로드해주시고요.

 

 

10. Launch Instances를 눌러주면 드디어 아래와 같은 멘트가 나오면서 생성 과정이 마무리됩니다.

 

ec2 생성되는 동안 Status는 Initailizing으로 표기되며 그냥 기다려주시면 됩니다ㅣ.

 

그냥 웹서핑 시간을 가지다 보면.... 

드디어 EC2 생성이 완료되었습니다~~~

 

오늘은 EC2 특징 및 생성 절차에 대해서 작성했습니다.

이상입니다!!!!!