AWS EC2

AWS EC2 공식 사이트에서 확인해 보면 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스라고 설명해 준다.
쉽게 설명해 보자면 웹 서비스를 운영할 수 있는 컴퓨터를 AWS 클라우드에서 가상의 컴퓨터로 제공해 주는 서비스이다.
그렇다면 AWS에서 제공하는 EC2는 어떤 장점이 있을까?
AWS EC2의 장점
앞서 EC2에 대한 설명을 다시 보면 클라우드에서 제공하는 가상의 컴퓨터라고 설명을 했는데 그렇다면 우리가 알 수 있는 것은 클라우드의 장점과 가상 컴퓨터 즉 가상 머신이 지니고 있는 장점을 모두 가지고 있다는 것이다.
가상 머신의 장점
먼저 가상 머신으로서 가지는 장점을 보자면 여러 가지 장점들이 있지만 그중에서 유연성이 가장 큰 장점이라고 생각한다.
예시를 들어보자면 어떤 사용자가 맥북을 사용한다고 생각을 해보자. 만약 사용자가 window 운영체제가 설치된 노트북이 필요하다면 어떻게 해야 될까?

windows 운영체제가 설치된 노트북을 새로 구매하면 되겠지만 windows에서 간단한 작업만 한다고 하면 구매 비용과 배송 기간 등 손해만 보게 될 것이다.
하지만 가상 머신을 사용한다면 맥북에 가상 머신을 생성해 주는 프로그램을 설치하고 가상 머신을 하나 생성하여 windows 운영체제를 설치하면 된다. 이렇게 하면 굳이 PC를 새로 구매하는 것이 아닌 한 대의 PC에서 두 대의 PC를 사용할 수 있게 된다.

이처럼 내가 원하는 운영체제를 자유롭게 변경하고 더 이상 필요 없으면 가상 머신을 삭제할 수 있는 유연함이 있지만 한 가지 문제가 있는데 바로 자원을 공유해서 사용한다는 것이다.

가상 머신이라는 것은 논리적으로 가상의 컴퓨터를 만들어주는 것이기 때문에 물리적인 자원은 사용하는 PC와 가상 머신이 공유해서 사용하게 된다.
이러한 문제는 시스템을 확장할 때 발생하게 되는데 결국에는 PC의 물리적인 자원은 한정적이기 때문에 확장하기 위해서는 추가적인 자원이 필요하게 되고 하드웨어를 구매해서 추가해야 된다.
이러한 확장의 한계를 해결해 주는 것이 클라우드이다.
클라우드 장점
앞서 설명한 가상 머신은 서비스를 확장할 때 물리적인 자원(하드웨어)이 부족하여 따로 추가해야 되는 문제가 있었다.
클라우드는 이러한 문제를 해결할 수 있는데 클라우드 서비스를 제공해 주는 업체가 이미 물리적인 자원을 다 구비해서 따로 관리를 해주고 사용자는 자신이 필요한 만큼 자원을 할당받아서 사용하면 된다.

이를 통해서 사용자는 자원을 보다 효율적으로 사용할 수 있고 필요에 따라서 확장하는 것도 편리하게 할 수 있다.
이러한 장점들을 모두 결합한 것이 AWS EC2라고 생각한다.
물론 다른 클라우드 업체에서도 EC2와 비슷하게 가상 머신을 제공해 주는 곳도 있겠지만 AWS EC2를 사용하는 이유는 AWS에서 제공하는 무수한 서비스들과 결합할 수 있다는 점이다.
앞서 설명한 가상 머신의 장점과 클라우드의 장점을 잘 생각해 보고 밑에 있는 EC2 생성하기를 보면 조금은 이해하는 데 있어서 편할 것 같다.
EC2 생성하기
아래의 과정들은 1년 간 사용할 수 있는 프리티어 기준으로 EC2를 생성하는 방법이다.
EC2를 생성할 때 여러 가지 설정을 할 수 있지만 프리티어 기준으로는 간단하게 구성할 수 있다.
AWS EC2를 생성하는 과정을 하나씩 살펴보자.

1. AWS EC2를 생성하기 위해서 먼저 인스턴스 이름을 설정해 준다.
2. 인스턴스 이름을 설정했다면 어떤 OS의 인스턴스를 생성할 것인지 선택한다.
3. OS까지 선택을 완료했으면 생성할 인스턴스의 OS 이미지 버전(AMI)을 선택해 준다. (Ubuntu Server 22.04 LTS 선택)

4. 인스턴스 유형은 생성할 인스턴스의 자원으로 AWS에서 프리티어로 제공되는 t2.micro를 선택하면 1코어 CPU와 1GB 메모리를 가진 가상 컴퓨터가 생성된다는 의미이다.
5. 내가 생성하는 EC2 인스턴스에 SSH 클라이언트로 접근하기 위해서는 키 페어를 지정해줘야 한다. 없으면 새 키 페어 생성하기를 클릭하여 새로운 키를 생성해 준다.

- 키 페어를 생성하기 위해서는 먼저 키 페어의 이름을 설정해 주고, 키 페어의 유형을 선택해 준다.
- 마지막으로 키 파일의 형식을 선택하는데 putty를 통해서 인스턴스에 접근하기 위해 .ppk 형식의 파일로 키 페어를 생성해 준다.

키 페어 생성까지 완료했으면 이제 EC2 인스턴스의 네트워크를 설정해 준다.
6. 네트워크 설정에서 보안 그룹을 지정해줘야 하는데 사진에 보이는 것처럼 보안 그룹을 EC2 인스턴스의 방화벽 역할을 해준다. 필요에 따라서 새롭게 보안 그룹을 생성하거나, 기존 보안 그룹(default)을 선택하면 된다.
7. 설정이 모두 완료되었으면 인스턴스 시작을 클릭하여 인스턴스를 생성해 준다.
AWS EC2

AWS EC2 공식 사이트에서 확인해 보면 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스라고 설명해 준다.
쉽게 설명해 보자면 웹 서비스를 운영할 수 있는 컴퓨터를 AWS 클라우드에서 가상의 컴퓨터로 제공해 주는 서비스이다.
그렇다면 AWS에서 제공하는 EC2는 어떤 장점이 있을까?
AWS EC2의 장점
앞서 EC2에 대한 설명을 다시 보면 클라우드에서 제공하는 가상의 컴퓨터라고 설명을 했는데 그렇다면 우리가 알 수 있는 것은 클라우드의 장점과 가상 컴퓨터 즉 가상 머신이 지니고 있는 장점을 모두 가지고 있다는 것이다.
가상 머신의 장점
먼저 가상 머신으로서 가지는 장점을 보자면 여러 가지 장점들이 있지만 그중에서 유연성이 가장 큰 장점이라고 생각한다.
예시를 들어보자면 어떤 사용자가 맥북을 사용한다고 생각을 해보자. 만약 사용자가 window 운영체제가 설치된 노트북이 필요하다면 어떻게 해야 될까?

windows 운영체제가 설치된 노트북을 새로 구매하면 되겠지만 windows에서 간단한 작업만 한다고 하면 구매 비용과 배송 기간 등 손해만 보게 될 것이다.
하지만 가상 머신을 사용한다면 맥북에 가상 머신을 생성해 주는 프로그램을 설치하고 가상 머신을 하나 생성하여 windows 운영체제를 설치하면 된다. 이렇게 하면 굳이 PC를 새로 구매하는 것이 아닌 한 대의 PC에서 두 대의 PC를 사용할 수 있게 된다.

이처럼 내가 원하는 운영체제를 자유롭게 변경하고 더 이상 필요 없으면 가상 머신을 삭제할 수 있는 유연함이 있지만 한 가지 문제가 있는데 바로 자원을 공유해서 사용한다는 것이다.

가상 머신이라는 것은 논리적으로 가상의 컴퓨터를 만들어주는 것이기 때문에 물리적인 자원은 사용하는 PC와 가상 머신이 공유해서 사용하게 된다.
이러한 문제는 시스템을 확장할 때 발생하게 되는데 결국에는 PC의 물리적인 자원은 한정적이기 때문에 확장하기 위해서는 추가적인 자원이 필요하게 되고 하드웨어를 구매해서 추가해야 된다.
이러한 확장의 한계를 해결해 주는 것이 클라우드이다.
클라우드 장점
앞서 설명한 가상 머신은 서비스를 확장할 때 물리적인 자원(하드웨어)이 부족하여 따로 추가해야 되는 문제가 있었다.
클라우드는 이러한 문제를 해결할 수 있는데 클라우드 서비스를 제공해 주는 업체가 이미 물리적인 자원을 다 구비해서 따로 관리를 해주고 사용자는 자신이 필요한 만큼 자원을 할당받아서 사용하면 된다.

이를 통해서 사용자는 자원을 보다 효율적으로 사용할 수 있고 필요에 따라서 확장하는 것도 편리하게 할 수 있다.
이러한 장점들을 모두 결합한 것이 AWS EC2라고 생각한다.
물론 다른 클라우드 업체에서도 EC2와 비슷하게 가상 머신을 제공해 주는 곳도 있겠지만 AWS EC2를 사용하는 이유는 AWS에서 제공하는 무수한 서비스들과 결합할 수 있다는 점이다.
앞서 설명한 가상 머신의 장점과 클라우드의 장점을 잘 생각해 보고 밑에 있는 EC2 생성하기를 보면 조금은 이해하는 데 있어서 편할 것 같다.
EC2 생성하기
아래의 과정들은 1년 간 사용할 수 있는 프리티어 기준으로 EC2를 생성하는 방법이다.
EC2를 생성할 때 여러 가지 설정을 할 수 있지만 프리티어 기준으로는 간단하게 구성할 수 있다.
AWS EC2를 생성하는 과정을 하나씩 살펴보자.

1. AWS EC2를 생성하기 위해서 먼저 인스턴스 이름을 설정해 준다.
2. 인스턴스 이름을 설정했다면 어떤 OS의 인스턴스를 생성할 것인지 선택한다.
3. OS까지 선택을 완료했으면 생성할 인스턴스의 OS 이미지 버전(AMI)을 선택해 준다. (Ubuntu Server 22.04 LTS 선택)

4. 인스턴스 유형은 생성할 인스턴스의 자원으로 AWS에서 프리티어로 제공되는 t2.micro를 선택하면 1코어 CPU와 1GB 메모리를 가진 가상 컴퓨터가 생성된다는 의미이다.
5. 내가 생성하는 EC2 인스턴스에 SSH 클라이언트로 접근하기 위해서는 키 페어를 지정해줘야 한다. 없으면 새 키 페어 생성하기를 클릭하여 새로운 키를 생성해 준다.

- 키 페어를 생성하기 위해서는 먼저 키 페어의 이름을 설정해 주고, 키 페어의 유형을 선택해 준다.
- 마지막으로 키 파일의 형식을 선택하는데 putty를 통해서 인스턴스에 접근하기 위해 .ppk 형식의 파일로 키 페어를 생성해 준다.

키 페어 생성까지 완료했으면 이제 EC2 인스턴스의 네트워크를 설정해 준다.
6. 네트워크 설정에서 보안 그룹을 지정해줘야 하는데 사진에 보이는 것처럼 보안 그룹을 EC2 인스턴스의 방화벽 역할을 해준다. 필요에 따라서 새롭게 보안 그룹을 생성하거나, 기존 보안 그룹(default)을 선택하면 된다.
7. 설정이 모두 완료되었으면 인스턴스 시작을 클릭하여 인스턴스를 생성해 준다.