AWS(Amazon Web Serive) 클라우드 서비스를 이용하려면 가장 먼저 EC2에서 인스턴스를 사용하여 가상 컴퓨팅 환경, 즉 가상 서버를 할당받아야 한다.
EC2란?
AWS EC2(Amazon Elastic Compute Cloud)는 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게 한다. EC2는 사용자가 아마존 머신 이미지(AMI)로 부팅하여 아마존이 인스턴스라 부르는 가상 머신을, 원하는 소프트웨어를 포함하여 구성할 수 있게 하는 웹 서비스를 제공한다.
- 인스턴스(Instance)
- EC2에서 제공하는 가상 컴퓨팅 환경
- 인스턴스 하나 당 서버 1대
- 만들어진 인스턴스는 키페어를 통해 로그인 정보를 보호한다.
- 유형 : CPU, Memory, Storage, Network Capacity, ...
- 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제된다.
Amazon Elastic Block Store(Amazon EBS) 볼륨을 사용해 영구 스토리지 볼륨에 데이터 저장
- AMI(Amazon Machine Image)
: 서버에 필요한 OS와 SW들을 적절하게 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들어 준다.
- 보안 그룹(Security Group)
: 해당 서버에 접속할 수 있도록 port, 소스 IP 범위를 설정하도록 한다.
AWS에서 default로 제공하는 그룹이 있지만 나만의 보안 그룹을 만들어서 적용하는 것이 좋다.
- 탄력적 IP 주소(EIP)
: IPv4 주소가 동적이기 때문에 고정하는 방법
- 태그
: EC2 뿐만 아니라 여러 서비스를 만들 때 생성하며 이 태그를 사용해 검색이 가능하다.
- VPC(Virtual Private Clouds)
: AWS 내부 가상 네트워크로써, 해당하는 인스턴스를 저장하고 연결할 수 있다.
EC2 Instance 만들기
1. 키페어 만들기
사실 키페어는 인스턴스를 만드는 중간에 만들 수 있지만 키페어를 먼저 만들고 생성하는 과정으로 설명한다.
내가 만든 인스턴스에 접속할 수 있는 유일한 키를 생성하는 과정이다. 하나의 인스터스에 하나의 키페어를 만든다고 생각하자.
- 네트워크 및 보안 > 키페어 탭에 들어간다.
오른쪽 위에 "키 페어 생성"으로 들어간다.
- 이름: 원하는 이름
키 페어 유형 : 암호화 알고리즘 선택
프라이빗 키 파일 형식 : ppk(windows), pem(Linux, mac, ...)
- 2번에서 모든 값을 입력하고 "키 페어 생성"을 누르면 키 페어가 만들어진다. 이 때, 생성된 키 페어 파일을 저장하는데 원하는 위치로 가서
.ssh
폴더를 만들고 그 안에 저장하도록 한다.
2. 인스턴스 만들기
- EC2 대시보드 혹은 인스턴스>인스턴스 에 들어가서 "인스턴스 시작" 버튼을 누른다.
- 나는 프리티어로 시작하기 때문에 이름과 키페어 설정만 해주고 나머지는 default 값으로 시작하자.
- 오픈 소스가 내장되어 있는 이미지가 필요하다면 AMI 설정에서 찾아서 적용한다.
- 인스턴스 유형 : 나중에 큰 규모의 프로젝트를 진행한다면 필시 확장된 유형을 선택해야 한다.
- 네트워크 설정 > 방화벽(보안 그룹) : 나중에 변경될 수 있으므로 "보안 그룹 생성"으로 시작한다.
- 2번에서 모든 선택을 맞춘 뒤 오른쪽 아래에 "인스턴스 시작" 버튼을 눌러서 인스턴스를 생성해준다.
3. 인스턴스 살펴보기
-
인스턴스는 자동으로 IP가 할당된다.
퍼블릭 IPv4, 퍼블릭 IPv4 DNS을 통해 인스턴스에 접속한다.
-
퍼블릭 IPv4는 서버를 내렸다가 다시 올리면 변경되므로 고정하고 싶을 때 탄력적 IP주소를 고정한다.
-
쓰지 않는 인스턴스를 중지해 둔다면 과금 가능성이 있기 때문에 아예 삭제하는 것이 좋다.
-
인스턴스의 보안을 눌러보면 인바인드 규칙에 포트 22번이 기본적으로 열려있다. 이 포트가 열려있어야 이 인스턴스로 접속할 수 있다. 웹, DB와 같은 다른 서비스를 사용자에게 공유해야한다면 포트를 설정해줘야 한다. 인바운드 규칙에 보안그룹을 보면 링크가 있는데 그 링크를 타고 들어가서 추가한다.
-
인바운드 규칙에서 "인바운드 규칙 편집"을 누르면 포트를 추가할 수 있는 창이 나온다. 이 창에서 원하는 유형과 포트를 선택한다.
4. Elastic IP 고정
동적인 IP를 고정해보자.
- 네트워크 및 보안 > 탄력적 IP 으로 이동하고 오른쪽 위에 "탄력적 IP 주소 할당" 버튼을 누른다.
- 수정할 내용은 없으므로 바로 "할당" 버튼을 눌러 진행한다.
- 위에 초록색 바탕으로 탄력적 IP 주소가 할당되었습니다. 와 함께 "이 탄력적 IP 주소 연결" 버튼이 나온다. 버튼 클릭
- 인스턴스에 내가 만든 인스턴스를 연결한 후 "연결" 버튼 클릭
- 인스턴스에 가면 IPv4와 EIP 인스턴스가 동일한 것을 확인할 수 있다.
5. Windows에서 인스턴스 접속하기
Windows에서 인스턴스를 접속할 땐 PuTTY를 사용한다.
PuTTY는 Windows에서 SSH 접속하도록 해주는 프로그램이다.
SSH란, 일종의 다른 서버에 접속하도록 도와주는 프로토콜이다. Shell로 원격 접속을 하는 것이므로 기본적으로 CLI 상에서 작업한다.
SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다.
- Host Name에 IPv4 주소를 넣고, Connection > SSH > Auth > Credentials로 넘어간다. (포트는 22로 고정)
- Private key file or authentication에 키페어를 생성하면서 저장했던 key file을 불러온다. 다시 "Session"으로 가서 IP 주소를 확인하고 "Open"
- 'ec2-user'을 입력하고 엔터
- 접속된 화면