상세 컨텐츠

본문 제목

[AWS] 테스트 서버 생성 (rocky linux)

실무이야기

by leediz 2022. 4. 10. 19:39

본문

[AWS] 테스트 서버 생성 (rocky linux)


최근에는 도커쿠버네티스를 사용하여 컨테이너 기반으로 빅데이터 플랫폼을 손쉽게 설치하기도 하지만 아직도 온프레미스(On-premise) 환경 또는 클라우드를 사용하더라도 베어메탈(Bare Metal)로 설치하여 사용하는 케이스도 많다. 또한 대부분의 빅데이터 플랫폼들은 운영 환경에서 고가용성(HA, High Availability)을 위해 대부분 클러스터를 구성하여 설치하게 된다. 이때, 사내에 인프라나 데이터 엔지니어 등의 역할을 하시는 분들이 솔루션들을 설치해주신다면 편하게 작업을 할 수 있지만, 설치 작업부터 진행한다면 미리 테스트해보는 환경을 구성하여 소위 삽질이라고 하는 여러 시행착오를 미리 해볼 필요가 있다. 개인이 물리 서버를 한대도 준비하기 어려운데 보통 클러스터를 구성하게 되면 최소 3대 이상의 머신이 필요하니 클라우드가 대중화 되기 이전에는 개인이 클러스터 작업을 미리 테스트 해보는 것은 어려웠다. 하지만 지금은 AWS, GCP, Azure 등 원하는 클라우드 벤더에서 프리티어 또는 저렴한 가격으로 서버를 만들어서 테스트해볼 수 있다. 그래서 이번에는 클러스터 작업을 위해 테스트 서버 생성 작업을 해본다.

테스트 서버 생성

개인적으로 AWS, GCP, Azure 중 AWS를 많이 사용했고, 현재 회사에서도 테스트 환경을 AWS로 구성하여 사용하므로 편의상 AWS에서 EC2를 이용하여 테스트 서버를 생성한다.

1. Amazon Machine Image(AMI) 선택

EC2에서 인스턴스 시작 버튼을 누르면 가장 먼저 해야할 작업이 서버의 OS를 선택하는 작업이다. AWS에서는 자체 클라우드 환경에서 최적화되었다고 하는 Amazon Linux 2를 비롯하여 Ubuntu, CentOS 심지어 MAC OS까지 제공하고 있다. 각 OS별로 스펙 구성이나 라이센스에 따른 과금 비율이 다르므로 잘 확인하고 선택해야 한다. 이번 포스팅에서는 현재 프로젝트에서 사용중인 rocky linux를 설치하여 사용해보고자 한다.

검색창에서 rocky 를 검색한 뒤 왼쪽 세번째 탭인 AWS Marketplace를 클릭하면 rocky linux 이미지를 볼 수 있다. 다행히 Official Image로 제공이되고 있고 프리 티어도 사용이 가능하다고 한다.

선택을 누르면 아래와 같은 화면으로 설명과 함께 과금에 대한 정보가 나타난다. 확인해보고 Continue 를 클릭한다.

2. 인스턴스 유형 선택

OS를 선택했으면 그 다음은 서버 스펙에 따른 인스턴스 유형을 선택하는 단계이다. 과금이 걱정된다면 프리 티어를 선택하면 되겠지만, 개인적으로 빅데이터 플랫폼들을 설치하며 이것저것 테스트 해볼 예정이기 때문에 과금을 각오하고 t3.medium 티어를 선택했다. 그래봤자 CPU 2 core에 RAM도 4GB 밖에 되지 않지만 그래도 최소한의 테스트를 해볼 수는 있을것 같아 선택했다. 이 부분은 개개인의 목적에 따라 알아서 선택하면 된다.

3. 인스턴스 세부 정보 구성

인스턴스의 유형을 선택하면 그 다음으로 인스턴스 개수와 네트워크 구성에 관한 부분이다. 클러스터와 관련된 테스트를 할 예정이므로 인스턴스의 개수는 3개를 선택했고 네트워크 구성은 그냥 Default로 되어있는 부분을 크게 건드리지는 않았다. 지금은 그냥 테스트 목적이기 때문에 테스트의 편의를 위해 외부에 오픈된 상태로 인스턴스를 생성했다.

4. 스토리지 추가

다음은 스토리지 추가 단계이다. 데이터를 많이 쌓을 것이 아니므로 Defaul로 되어 있는 10GB의 옵션을 바꾸지는 않았다. 대신, 종료 시 삭제 옵션이 선택되지 않았을 경우 인스턴스를 삭제하더라도 디스크 볼륨이 그대로 남아있어 계속 과금이 될 수 있으므로 종료 시 삭제 옵션을 클릭해 주었다.

5. 태그 추가

태그 추가 단계는 설정할게 없으므로 그냥 다음 버튼을 클릭한다.

6. 보안 그룹 구성

이 부분은 서버에서 방화벽 구성을 하는 것과 비슷하다고 보면 된다. 내가 생성한 서버에 아무나 접속할 수 있다면 불쾌한 기분을 넘어 엄청난 과금의 요소가 될 수 있으므로 본인 또는 본인이 허락한 사람만 접속할 수 있어야 한다. 따라서 SSH를 이용해 서버의 쉘에 접속할 때에는 우선 나만 접속할 수 있도록 설정한다. 이 경우에는 소스 부분에서 내 IP 를 클릭하면 AWS가 알아서 내 IP 대역을 등록해주기 때문에 내 IP 대역이 아닌 다른 곳에서는 접속을 할 수 없다. 다만, 지금 현재 내가 생성하고 있는 곳이 아닌 카페나 학교나 회사나 다른 IP 대역으로 이동하는 경우에도 마찬가지로 접속을 할 수 없으므로 조금 귀찮겠지만 그 때마다 본인이 있는 IP 대역을 추가하고 삭제하는 작업을 해야 한다. 귀찮을 수도 있겠지만 보안을 위해 가장 기본적이고 기초적인 작업이므로 게을리 하지 말고 그때 그때 설정하기를 바란다.

7. 키 페어 생성

보안 그룹 구성에서 검토 및 시작 을 클릭하면 인스턴스 시작 전 마지막 단계인 키 페어 생성 단계로 넘어간다.

보통 서버에 접속할 때에는 username과 password를 사용하여 로그인을 하지만 AWS는 해당 방법이 보안에 취약하기 때문에 별도의 키 페어(Key pair)를 생성하여 해당 키를 통해 서버에 접속하도록 한다. 키 페어의 원리에 대한 이야기를 하려면 포스팅 1개로는 모자라기 때문에(나의 지식 또한 모자라므로) 여기서는 다루지 않고 단순히 사용하는 것에 초점을 맞추려고 한다. 이미 AWS를 사용하여 키 페어가 있다면 별도의 키 페어를 생성할 필요 없이 기존의 키 페어를 사용하겠다고 설정하면 되지만 이번 포스팅에서는 키 페어를 생성하는 것으로 한다.

키 페어 생성은 간단하다. 새 키 페어 생성 을 클릭하고 키 페어의 이름을 임의의 이름으로 두면 된다. 가급적 키 페어 이름은 인스턴스와 관련되게 짓는 것이 나중에 관리를 위해서는 좋다. 이렇게 설정을 했으면 반드시 키 페어 다운로드를 클릭하여 키 파일을 내 로컬에 저장해야 한다. 그렇지 않으면 지금 키 페어를 생성하는 의미가 전혀 없어진다. 또한 생성한 키 페어는 필요한 경우가 아니면 외부에 공유하면 절대로 안된다.

키 페어 다운로드를 했으면 이제 인스턴스 시작 버튼을 클릭하여 인스턴스를 시작시킨다.

열심히 시작하고 있다.

rocky linux의 경우에는 다른 OS와는 달리 생성 시간이 더 걸릴 수도 있는데 조금 기다려 보면 아래와 같이 인스턴스가 생성된 것을 볼 수 있다.

설정한대로 인스턴스 3개가 생성이 되었다. 이 인스턴스들을 구분하기 위해 Name을 클릭하여 구분할 수 있게 태그를 설정한다.

인스턴스 중지

프리 티어로 구성하지 않았고, 지금 당장 인스턴스를 사용하지 않는다면 인스턴스를 중지 하는 것을 추천한다. 인스턴스를 중지하는 것 만으로도 부과되는 요금을 절약할 수 있기 때문이다. AWS는 사용한 만큼 과금을 하기 때문에 인스턴스를 중지하면 그 만큼 요금을 절약할 수 있다. (단, 디스크 볼륨 사용은 별도의 이야기이다.)

중지하는 방법은 중지할 인스턴스를 클릭한 다음 인스턴스 상태 버튼을 눌러 인스턴스 중지버튼을 눌러 인스턴스를 중지하면 된다. 참고로 인스턴스 종료 버튼은 인스턴스를 삭제하겠다는 것과 마찬가지이기 때문에 인스턴스를 종료시키면 그대로 인스턴스가 사라지므로 주의해야 한다.

인스턴스를 중지하고 시작하면 요금은 절약할 수 있어도 접속에 있어서 불편함이 있을 수는 있다. public ip가 인스턴스를 중지하고 다시 시작할 때마다 계속 변동이 되기 때문이다. 물론 public ip를 고정하는 Elastic IP를 설정할 수도 있지만 이 또한 과금 포인트이므로 테스트 서버를 위해서는 사용하지 않겠다.

마무리

이번 포스팅에서는 빅데이터 플랫폼 클러스터 구성을 위한 AWS 인스턴스 생성을 해 보았다. 나중에 테스트 목적의 클러스터 구성을 염두하여 인스턴스 3개로 생성했다. 프리 티어로 구성하지 않았고 지금 당장 인스턴스를 사용하지 않을 것이면 인스턴스를 중지할 것을 추천한다. 다음 포스팅에서는 이렇게 생성한 인스턴스에 접속하는 방법을 소개할 예정이다.

'실무이야기' 카테고리의 다른 글

[AWS] PuTTY로 EC2 터미널 접속  (0) 2022.05.15
[AWS] Mac - 인스턴스 접속  (0) 2022.04.11

관련글 더보기

댓글 영역