클라우드/AWS

[AWS 심플 아키텍쳐 구축하며 배운것-1] 리눅스 커널버전 / AMI

개발자국S2 2023. 3. 29. 17:48

테스트와 달리 운영으로 만들 아키텍쳐를 구축하는데에는 고민할 거리가 더 있었다. 

굉장히 당연한 것들이긴한데, 혼자서 구축했을 때는 꽤 자유로웠던 것들이고 해당 경험이 없다보니 고려하지 못했던 것들이다. 

 

 

1. 리눅스 커널버전

2. Naming 규칙

3. RDS 

4. 사소한 운영규칙 (운영방지, 중지방지)

5. 문서화

6. IP대역 설정하기  (서브넷, IP 등)

7. 비용

8. 복구작업 (EBS 볼륨 백업 - Data Lifecycle Manager : 수명주기관리자)

 


1. 리눅스 커널버전

 

진행하는 프로젝트는 마이그레이션이었기 때문에 버전정보가 매우 중요했다. 호환이 되지 않으면 마이그레이션시 장애가 날수도 있으며 유지관리 측면에서도 어렵기 때문이다. 

 

이 때 봐야할 것이 AMI다. 

현재 우리 솔루션이 사용하고 있는 리눅스 커널버전이 지원되는 AMI를 사용해야한다. 

현재 우리 솔루션은 CentOS 7.6을 사용하는데 이는 리눅스 커널버전 4를 이용한다. 

근데, 내가 설계했던 Amazon Linux 2 AMI(HVM) 은 커널 5.10버전을 제공했다. 

 

그럼 커널 4제공하는걸 쓰면 되지 않는가?

 

라는 질문에 그럴 수 있지만 그럼 추가 비용이 발생할 수 있음을 고지해야겠다. 

 

AWS에서 제공하는 AMI를 비용적인 측면에서 나눠본다면 크게 세 가지로 말할 수 있다. 

프리티어 / 소프트웨어 유료사용 / 소프웨어 무료사용

 

 

예를들어 AWS에서 제공하는  CentOS with Updates HVM AMI를 사용할 때 소프트웨어비용은 발생하지 않는다. 

 

반면 Nemu Corporation에서 제공하는 CentOS7은 아래와 같이 소프트웨어 사용비용이 발생한다. 

물론 제공하는 서비스가 다를테지만, 특별한 유지보수 관리나 기능이 필요하지 않은이상 AWS에서 무료로 제공하는 AMI를 사용하는 편이 경제적이다. 

 

 

만약 버전이 안맞는데 너무 금액이 비싸거나 여건이 안된다면, 

다른 버전의 커널이 있는 AMI를 선택하고 upgrade/downgrade하는것도 방법이다. 

 

그럼 커널 버전은 어떻게 확인할 수 있는가? 

보통은 저렇게 이름이나, 리눅스 버전에 따른 커널정보를 찾아보면 되는데 안나오는 경우도 있다. 

이런 경우에는 인스턴스 내에서 직접 명령어를 입력하여 확인해볼 수 있다. 

 

uname -r

나는 CentOS7을 사용하고 있는 솔루션이었어서 CentOS7 AMI를 선택하면 구성스펙에 차이가 없기 때문에 큰 문제는 없겠지만, 그래도 AS-IS 버전과 TO-BE버전의 커널버전을 확인했다. 

동일하다. 

 

즉, 여기서 고려해야할 것

- 사용하는 OS 사양

- 사용하는 AMI의 금액 (EC2 사용료 뿐만 아니라 소프트웨어 이용료까지 고려) 

AWS for Marketplace AMI는 안전성은 보장되어있지만, 

금액적인 측면에서는 잘 살펴보지 않으면 요금폭탄을 맞을 수 있으니 주의해야한다. 

반응형