Linux 서버 OS (배포판) 선택 가이드
Linux 서버 OS(배포판) 선택
Linux 서버 필요할 경우 가장 최신의 Ubuntu Server LTS (Long Term Support) 사용 (2021년 10월 현재 Ubuntu Server 20.04 LTS ). LTS의 경우 Hardware and maintenance updates 가 5년간 지원이 됨.
CentOS : CentOS8은 2021년 12월 31일에 지원 중단하므로 안 쓰는게 좋겠고, CentOS 7의 지원 기간은 종전과 동일한 2024년 06월 30일임. 어쩔 수 없이 CentOS가 필요하다면 CentOS 7을 사용을 하되 2024년 6월 30일 이전에 다른 OS로 마이그레이션을 해야 함. (CentOS 대체 배포판 참고. Rocky Linux 등)
상용 Linux 서버가 필요한 경우 가능한 Redhat 계열의 RHEL (Red Hat Enterprise Linux) 을 선택을 함. 상대적으로 국내에는 SUSE 리눅스 사용자는 적음. 상용 프로그램의 경우에는 해당 프로그램용 인증된 상용OS 정보를 제공하며 이 정보를 가지고 판단을 함.
하드웨어 정보를 가지고 OS 를 선택할 때는 해당 OS 별로 제공되는 정보를 이용함.
클라우드 제공 OS : 보통 OS 벤더사에서 제공을 하며 해당 클라우드에서 필요한 기능을 추가함.
GCP에서 제공하는 OS
Ubuntu 18.04 이상에서는 Cloud SDK가 snap 패키지로 설치되어 유지보수됩니다.
APT 소스는
cloud-init
를 통해 Ubuntu Compute Engine 미러를 사용하도록 설정됩니다.NTP 서버가 Compute Engine 메타데이터 서버를 사용하도록 설정됩니다.
기타 등등
AWS
OS 설정
해당 OS에 필요한 설정 진행함. 보안, 성능향상, 사용자 편의성 등
OS 설정시 가능한 CLI를 이용하여 자동으로 설정을 할 수 있도록 하는 것이 좋으며 Ansible 등 설정 관리도구를 이용하여 관리하는 방향으로 갈 것임. (현재는 아주 일부만 Ansible 로 관리할 수 있는 상태)
지역화 설정 : TIMEZONE
보안을 위한 작업
불필요한 패키지 삭제 및 패키지 최신 업데이트
패키지 자동 업데이트 설정
보안설정. sudoers, sshd 설정, TMOUT, bash history 로깅, 파일 퍼미션 조정
성능을 위한 설정 변경 : OS limit, sysctl 설정 변경. 일정하게 서비스 규모가 되는 경우 보통 User당 사용할 수 있는 프로세스 개수, 오픈할 수 있는 파일 개수 등을 조정하는 경우가 많음.
사용편의성 : OS banner, 로그인시 prompt 등.
공통 인프라 설정 : 타임서버 , 패키지 레포지토리 서버(apt, yum 등), 사용자인증서버(LDAP 등)
클라우드를 이용하는 경우 해당 클라우드 벤더사에서 타임서버, 패키지 레포지토리 서버를 제공하는 경우가 있음. 이럴 때는 가능한 클라우드사에서 제공하는 서비스를 이용하는 것이 대역폭도 절감하고 패키지 다운로드 속도도 빨라짐.