AWS/EC2

[License Manager / Systems Manager] Ubuntu LTS를 Ubuntu Pro로 업그레이드

BigCo 2023. 8. 4. 08:56

안녕하세요 :)

오늘은 현재 사용중인 Ubuntu LTS 버전을 Ubuntu Pro로 업그레이드 하는 방법을 알아보겠습니다.

(참고로 신규생성일 때는 바로 Ubuntu Pro 버전을 선택하면 되기 때문에 사용중인 Ubuntu LTS AMi를 Ubuntu Pro로 업그레이드 할 때 해당됩니다.)

 

 

간단하게 아키텍처를 설명하면 서로 다른 버전의 Ubuntu LTS 인스턴스 3개를 Ubuntu Pro 업그레이드 하려면 License Manager 서비스를 사용해야 합니다. 이를 위해 먼저 SSM(Systems Manager) 서비스가 필요하며, Host management 인스턴스를 등록을 하여 IAM역할을 부여 받습니다. SSM 인벤토리에 인스턴스들을 연결 시켜주면 License Manager 통하여 Ubuntu Pro AMI 업그레이드 시킬 있습니다.

 

 

 

 

Ubuntu 버전은 많이 사용하는 18,20,22 LTS 버전 3개를 생성하고 모두 다 Ubuntu Pro로 업그레이드 되는지 확인해 보겠습니다. 

Ubuntu 18.04버전은 Marketplace AMI를 선택해서 생성해 줬습니다.

 

 

각각 다른 3개의 버전의 Ubuntu 인스턴스를 생성했습니다.

 

 

SSM(Systems manager)을 사용하기 전 인스턴스에 SSM agent를 설치해야 되는줄 알았는데 확인해보니 3버전 모두 다 이미 SSM agent가 설치되어 있었습니다. 

// SSM 에이전트가 실행 중인지 확인합니다.
sudo snap list amazon-ssm-agent

//에이전트의 상태를 확인합니다.
sudo snap services amazon-ssm-agent

 

 

SSM agent 설치가 필요하신 분들은 밑의 링크를 참조해주세요~

https://docs.aws.amazon.com/systems-manager/latest/userguide/agent-install-ubuntu-64-snap.html

 

Install SSM Agent on Ubuntu Server 22.04 LTS, 20.10 STR & 20.04, 18.04, and 16.04 LTS 64-bit (Snap) - AWS Systems Manager

Install SSM Agent on Ubuntu Server 22.04 LTS, 20.10 STR & 20.04, 18.04, and 16.04 LTS 64-bit (Snap) Before you begin Before you install SSM Agent on an Ubuntu Server 22.04 LTS, 20.10 STR & 20.04, 18.04, and 16.04 LTS 64-bit (Snap), note the following: Vers

docs.aws.amazon.com

 

 

 

Systems manager 설정

SSM에 Host Management를 생성해서 리전과 계정을 선택한 후 SSM을 사용할(활성화) IAM권한을 자동으로 부여받는 과정입니다.

SSM > Host Management 생성 

 

 

현재 계정 > 현재 리전 > 설명서 > IAM권한을 부여받은 인스턴스 선택 > 생성

 

 

이렇게 내가 선택한 계정과 리전에 Host Management를 생성된 것을 확인할 수 있습니다.

 

 

세부정보를 확인하면 5가지의 정보가 뜨는데 이것들은 연결상태가 대기였다가 성공으로 왔다갔다 바뀌는 것을 확인했습니다. 제 추측으로는 Host Management를 생성하면 "30분마다 인스턴스로부터 인벤토리 수집" 체크박스에 체크를 해서 30분마다 계속 새로운 데이터를 수집하느라 대기에서 성공을 계속 왔다갔다 하는 것 같습니다.

 

 

상태가 모두 성공으로 바뀌었습니다. 물론 계속 데이터를 수집하면서 상태가 대기중으로도 바뀌지만 상관없습니다.

 

 

이렇게 SSM Host Management를 생성하면 해당 인스턴스들에 SSM을 사용할 수 있는 IAM권한을 자동으로부여받습니다.

 

 

SSM 인벤토리 설정

SSM 인벤토리 설정을 하겠습니다.

SSM > 인벤토리 > 인벤토리 설정

 

 

대상 > 수동으로 인스턴스 선택 > 3버전 인스턴스 선택 > 인벤토리 생성

나머지 설정값들은 그대로 가져갑니다.

 

 

SSM > 인벤토리 > 구성 > 해당 연결 ID 선택

 

 

리소스 선택하면 3개버전의 인스턴스들이 인벤토리에 잘 연결된 것을 확인할 수 있습니다. 

 

 

License Manager 설정

SSM 인벤토리에 등록된 EC2들을 Pro버전으로 업그레이드 하려면 인스턴스들은 중지 시킨 후에 설정이 가능합니다.

 

 

License Manager > 라이선스 유형변환 > 라이선스 유형 변환 생성

 

 

 

 

Ubuntu Pro 선택 > 다음

 

 

convert 선택

 

 

해당 설정을 하면 Ubuntu Pro로 업그레이드 되는걸 확인할 수 있습니다. 

 

 

변환오류시에는 해당 인스턴스에 접속해서 명령어를 입력해주세요
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt install ubuntu-advantage-tools

 

이제 인스턴스들을 다시 시작시켜서 접속해서 잘 변경됐는지 확인해 보겠습니다.

해당 인스턴스에 접속해줍니다 그리고 해당 명령어로 Pro버전으로 잘 바뀌었는지 확인해 줍니다.

sudo pro status

 

 

"canonical-livepatch"는 Ubuntu Pro에 포함된 하나의 기능으로, 커널 라이브 패치를 제공하는 서비스입니다.

sudo canonical-livepatch status

 

해당 명령의 결과를 해석하면 다음과 같습니다

last check : 커널 라이브 패치가 마지막으로 확인된 시간입니다. 

kernel : 현재 실행 중인 커널 버전입니다. 해당 명령에서는 "5.4.0-1103.111~18.04.1-aws" 버전의 커널이 실행 중인 것으로 나와 있습니다.

server check-in : 서버가 Canonical로부터 커널 라이브 패치를 받아서 확인한 상태입니다. "succeeded"는 정상적으로 서버에서 Canonical로부터 패치 정보를 받았음을 의미합니다.

kernel state : 현재 사용 중인 커널이 Canonical에 의해 지원되는 상태인지를 나타냅니다. "✓ kernel is supported by Canonical until 2024-06-23"는 해당 커널이 Canonical에 의해 2024년 6월 23일까지 지원되는 것을 의미합니다.

patch state : 현재 실행 중인 커널에 대해 라이브 패치가 필요한지를 확인합니다. "✓ no livepatches needed for this kernel yet"는 현재 커널에는 라이브 패치가 필요하지 않음을 의미합니다.

tier : 라이브 패치의 티어를 나타냅니다. "stable"은 안정적인 버전을 의미합니다.

machine id : 해당 시스템의 머신 ID입니다.

이 명령어를 통해 Ubuntu Pro에 포함된 커널 라이브 패치 서비스의 상태를 확인할 수 있습니다. 라이브 패치를 통해 커널 보안을 강화하고 시스템의 가용성을 높일 수 있습니다.

 

이렇게 해당 Ubuntu Pro로 잘 변경된 것을 확인할 수 있습니다

감사합니다:)