내용으로 건너뛰기

EC2 Linux 인스턴스에 정적 호스트 이름을 할당하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 호스트 이름을 변경했습니다. 하지만 인스턴스를 재부팅하거나 중지한 다음, 다시 시작하면 호스트 이름이 원래 호스트 이름으로 다시 변경됩니다.

해결 방법

중요: 인스턴스를 업데이트하기 전에 인스턴스의 Amazon Elastic Block Store(Amazon EBS) 기반 Amazon Machine Image(AMI)를 생성하십시오.

기존 인스턴스 호스트 이름 확인

다음 단계를 완료하십시오.

  1. SSH를 사용해 Linux 인스턴스에 연결합니다.

  2. 루트 사용자로 전환하려면 다음 명령을 실행합니다.

    sudo su -
  3. 인스턴스 호스트 이름을 확인하려면 다음 명령을 실행합니다.

    hostnamectl

정적 호스트 이름 구성

실행하는 운영 체제(OS)의 정적 호스트 이름을 구성합니다.

AL2 또는 AL2023

Amazon Linux 2(AL2) 또는 Amazon Linux 2023(AL2023)의 경우 다음 단계를 완료하십시오.

  1. /etc/cloud/cloud.cfg를 열려면 다음 명령을 실행합니다.

    vim /etc/cloud/cloud.cfg
  2. preserve_hostname 속성을 검토합니다. 값이 false인 경우 값을 true로 업데이트하십시오.
    예:

    preserve_hostname: true

    참고: 파일에 preserve_hostname 속성이 없는 경우 해당 속성을 파일에 추가하고 값을 true로 설정하십시오.

  3. 정적 호스트 이름을 설정하려면 다음 명령을 실행합니다.

    hostnamectl set-hostname persistent-hostname

    참고: persistent-hostname을 호스트 이름으로 바꾸십시오.

Ubuntu

Ubuntu의 경우 다음 단계를 완료하십시오.

  1. 정적 호스트 이름을 설정하려면 다음 단계를 완료합니다.

    hostnamectl set-hostname --static persistent-hostname

    참고: persistent-hostname을 호스트 이름으로 바꾸십시오.

  2. /etc/hosts를 열려면 다음 명령을 실행합니다.

    vim /etc/hosts
  3. 파일에 다음 줄을 입력합니다.

    localhost persistent-hostname

    참고: persistent-hostname을 호스트 이름으로 바꾸십시오.

  4. EC2 인스턴스에서 IPv6을 사용하는 경우 다음 구성 데이터도 입력합니다.

    ::1 ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts
  5. /etc/cloud/cloud.cfg를 열려면 다음 명령을 실행합니다.

    vim /etc/cloud/cloud.cfg
  6. preserve_hostname 속성을 검토합니다. 해당 값이 false인 경우 값을 true로 업데이트하십시오.
    예:

    preserve_hostname: true

RHEL 또는 CentOS 7, 8, 9

Red Hat Enterprise Linux(RHEL) 또는 CentOS 7, 8, 9의 경우 다음 단계를 완료하십시오.

  1. 정적 호스트 이름을 설정하려면 다음 명령을 실행합니다.

    hostnamectl set-hostname --static persistent-hostname

    참고: persistent-hostname을 호스트 이름으로 바꾸십시오.

  2. RHEL 7.3 이하 버전의 경우 다음 명령을 실행하여 /etc/cloud/cloud.cfg를 엽니다.

    vi /etc/cloud/cloud.cfg
  3. preserve_hostname 속성을 검토합니다. 값이 false인 경우 값을 true로 업데이트하십시오.
    예:

    preserve_hostname: true

SUSE Linux

SUSE Linux Enterprise Server(SLES)의 경우 다음 단계를 완료하십시오.

  1. 호스트 이름을 설정하려면 SLES 버전에 따라 다음 명령을 실행합니다.
    SLES 11:

    hostname persistent-hostname

    SLES 12 및 15:

    hostnamectl set-hostname persistent-hostname

    참고: persistent-hostname을 호스트 이름으로 바꾸십시오.

  2. 다음 명령을 실행하여 /etc/HOSTNAME 파일을 호스트 이름으로 업데이트합니다.

    echo "persistent-hostname" > /etc/HOSTNAME

    참고: HOSTNAME을 호스트 이름으로 바꾸십시오.

  3. /etc/hosts를 열려면 다음 명령을 실행합니다.

    vim /etc/hosts
  4. SLES 버전에 따라 파일에 다음 줄을 입력하고 호스트 이름으로 바꿉니다.
    SLES 11:

    127.0.0.1 localhost persistent-hostname

    SLES 12 및 15:

    127.0.0.1 localhost persistent-hostname

    참고: persistent-hostname을 호스트 이름으로 바꾸십시오.

  5. /etc/cloud/cloud.cfg 파일을 열려면 다음 명령을 실행합니다.

    vim /etc/cloud/cloud.cfg
  6. 파일에 다음 줄을 입력합니다.

    preserve_hostname: true

변경 사항 구현

다음 단계를 완료하십시오.

  1. 인스턴스를 재부팅하려면 다음 명령을 실행합니다.

    reboot
  2. 새 호스트 이름을 확인하려면 다음 명령을 실행합니다.

    hostnamectl

문제 해결

재부팅 후 호스트 이름이 예기치 않게 변경되는 경우 다음 작업을 수행하십시오.

  • /var/log/cloud-init.log/var/log/syslog의 시스템 로그에서 호스트 이름 변경에 대한 항목을 확인합니다.
  • /etc/hosts, 호스트 이름 파일 또는 호스트 이름 유틸리티에 영향을 주는 시스템 업데이트를 설치하는 경우, 위의 해결 방법 단계를 다시 완료합니다.
  • /etc/cloud/cloud.cfg 파일의 preserve_hostname 설정이 true인지 확인합니다.

관련 정보

AL2 인스턴스의 호스트 이름 변경

AWS 공식업데이트됨 9달 전