본문 바로가기

IT

AWS Lightsail (1) 서버 생성(Ubuntu, hostname 설정, 시간 설정)

728x90

EC2는 회사에 인프라 관리자가 있거나 자신이 가상 서버, 네트워크, 디스크 볼륨, 보안 그룹 등의 관리를 하드하게 해야하는 분에게 상대적으로 더 적합하다.

상세 설정을 통해서 비용이든 성능이든 이득을 얻을 수 있는 환경에서 일하고 있다면 EC2와 관련 서비스들의 유연한 환경설정은 큰 장점이기 때문이다.

또한 EC2는 네트워크 트래픽보다는 CPU 연산 위주의 프로젝트를 돌릴 때 더 유리하다.

무엇보다 서버를 껏다 켰다 하면서 과금되는 시간을 조절할수도 있다는 온디멘드 방식은 매우 매력적인 옵션이다.

그러나 뒤집어 이야기하면 세팅 하려고 정작 개발을 못하거나, 개발하는 시간보다 인프라 관리하는 시간이 더 들어야 하는 분에게는 주객이 전도된 상황이 생기게 된다.

 

Lightsail은 인프라 관리해줄 사람이 없고 혼자서 빠르게 웹서비스를 호스팅 해보려는 분에게 더 적합하다.

만일 라이트세일을 사용하다 서버 성능을 올리고 싶으면, 이미지를 떠서 고사양의 Lightsail 인스턴스를 만든다음 import하면 몇 분 안에 똑같이 생성되니 문제 없다.

Lightsail은 CPU 연산 위주의 작업보다 네트워크 트래픽에 더 중점을 두는 서비스에 적합하다.

 

 

둘에 대한 자세한 비교는 AWS 공식 문서를 통해 확인해 볼 수 있다 .

https://aws.amazon.com/ko/premiumsupport/knowledge-center/lightsail-differences-from-ec2/

 

Amazon EC2와 Amazon Lightsail 비교

Amazon EC2와 Amazon Lightsail의 차이점은 무엇입니까? 최종 업데이트 날짜: 2021년 10월 27일 가상 서버를 사용하여 애플리케이션을 실행하고 싶습니다. Amazon Elastic Compute Cloud(Amazon EC2)와 Amazon Lightsail의

aws.amazon.com

Lightsail을 사용해보려 한다.

돋보기를 클릭하여 Lightsail을 찾는다. 

Lightsail

Create instance를 클릭하여 인스턴스를 생성하도록 하자.

인스턴스 생성 버튼

우리는 Ubuntu Linux를 생성할 예정이다.

OS 선택

Create New 클릭 => 서버에 접속하기 위한 키페어를 생성

키페어 생성

키페어를 다운받으면 .pem 파일을 받을 것이다. 노출되지 않도록 꼭 유의 해야한다.

키 페어 생성 후 다운로드

첫 3개월은 무료라고 한다. $3.5의 용량을 가진 인스턴스를 생성해보도록 한다. 

<**참고** $3.5는 용량이 매우 적어요 .ㅠㅠ>

choose instance plan

인스턴스가 생성되었다. 클릭하여 인스턴스의 정보를 볼 수 있다 .

인스턴스 생성

Networking 탭에 들어와서 Add rule을 클릭한다.

네트워크 설정

필자는 톰캣이 포함되어있는 스프링부트 jar파일을 실행해보기 위해 8080포트를 추가로 뚫어주었다.

서버를 중지시켰다가 다시 실행되면 IP가 바뀌는 번거로움 때문에 static IP를 설정을 주었다. 

8080 포트 추가

 

이 후 실행해보도록 하자. 

connect

Connect 탭에 버튼을 클릭하여 연결하는 방법도 있고 현재 윈도우 환경이라 puTTy를 이용해도 좋지만 관리자 명령프롬프트(Cmd)를 사용해서 서버에 접근해보았다.

 ssh -i 키파일 ubuntu@IP

다른 사람들을 보니 새로 ssh 폴더를 만들고 키파일을 복사해서 사용하던데 필자는 실행할 때 실행위치를 키파일을 포함하는 폴더의 위치에서 실행하였다. 하지만 전자의 방법이 추후 실행할 때 더 편리한 것 같다...

접근 실패 1

서버를 밀고 새로 작업하거나, 동일한 아이피로 다른 서버를 세팅하게 되면 아래와 같은 문제가 발생한다. 대충 읽어보면 중간자 공격에 위험이 있다고 뜨는데, 이러한 경고의 이유는 전자서명 중 하나인 ECDSA가 관련해서 일치하지 않는다이고, 이를 해소하기 위해서는 아래의 명령어를 입력한다. 처음 시도하는 것이라면 이런 오류는 뜨지 않을 것이다.

ssh-keygen -R ~.~.~.~
//접속할 서버의 아이피를 입력하자. 그럼 초기화되며 다시 접속이 가능해 진다.

다시 접속을 시도해보니 이번에는 다른 오류가 출력되었다.

접근 실패2

UNIX계열에서는 chmod 로 워낙 간단하게 고칠 수 있지만, 윈도우 환경에서는 UI기반으로 작업을 진행했다...

(맥북 구매한지 3일차...)

1. 키.pem 파일의 속성 클릭

2. 보안 탭 이동

3. 고급 선택 후 상속 사용 안함 클릭

상속 사용

4. 명시적 사용 권한으로 변경 후 있는 유형 모두 제거

5. 추가 => 보안 주체 허용 => 개체 이름 입력 => 확인

기본 권한

6. 모두 확인을 누르고 다시 실행해보자.

접속 성공

 

여러개의 호스트를 사용할 수 있기 때문에 hostname을 수정하는 작업을 진행한다.

/etc/cloud/cloud.cfg를 수정
(hostnamectl의 set-hostname 작업을 허용한다.)

$ sudo nano /etc/cloud/cloud.cfg

preserve_hostname: true를 preserve_hostname: false로 변경한 후 저장한다.

 

systemd-logind.service를 재시작

$ sudo systemctl restart systemd-logind.service
 
변경할 호스트네임을 작성
 
$ sudo hostnamectl set-hostname [변경할 hostname]

재 실행 후 확인

$ sudo reboot now

실행 결과

 

변경된 hostname

현재 시간 변경

sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

이후에는 도메인을 구매하여 이 서버에 연결하고 SSL 인증서를 발급받아 HTTPS에 띄우는 작업을 진행한다.