メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Linux インスタンスのホスト名の変更

インスタンスを起動すると、プライベートの内部 IPv4 アドレスの形式のホスト名が割り当てられます。典型的な Amazon EC2 プライベート DNS 名は、ip-12-34-56-78.us-west-2.compute.internal のような形式になります。この名前は内部ドメイン、サービス (この例では、compute)、リージョン、そしてプライベート IPv4 アドレスで構成されます。インスタンスにログインしたとき、このホスト名の一部がシェルプロンプトで表示されます (ip-12-34-56-78 など)。Amazon EC2 インスタンスを停止し、再起動するたびに (Elastic IP アドレスを使用していない限り)、パブリック IPv4 アドレスが変わり、パブリック DNS 名、システムホスト名、シェルプロンプトも変わります。EC2-Classic で起動されたインスタンスも、停止して再起動すると、新しいプライベート IPv4 アドレス、プライベート DNS ホスト名、システムホスト名を受信します。VPC で起動されたインスタンスでは、これらは変更されません。

重要

これらの手順は Amazon Linux で使用するためのものです。その他のディストリビューションの詳細については、各ドキュメントを参照してください。

システムホスト名の変更

インスタンスの IP アドレスにパブリック DNS 名を登録している場合(webserver.mydomain.com など)、インスタンスがそのドメインに含まれているものとして識別されるように、システムホスト名を設定できます。また、システムホスト名を変更すると、シェルプロンプトも変更され、AWS が提供するホスト名の代わりに、新しいシステムホスト名の最初の部分 (ip-12-34-56-78 など) が表示されます。パブリック DNS 名を登録していない場合でもホスト名は変更できますが、プロセスが少し違います。

To change the system hostname to a public DNS name

Follow this procedure if you already have a public DNS name registered.

  1. On your instance, open the /etc/sysconfig/network configuration file in your favorite text editor and change the HOSTNAME entry to reflect the fully qualified domain name (such as webserver.mydomain.com).

    Copy
    HOSTNAME=webserver.mydomain.com
  2. Reboot the instance to pick up the new hostname.

    Copy
    [ec2-user ~]$ sudo reboot

    Alternatively, you can reboot using the Amazon EC2 console (on the Instances page, choose Actions, Instance State, Reboot).

  3. Log into your instance and verify that the hostname has been updated. Your prompt should show the new hostname (up to the first ".") and the hostname command should show the fully-qualified domain name.

    Copy
    [ec2-user@webserver ~]$ hostname webserver.mydomain.com

To change the system hostname without a public DNS name

  1. Open the /etc/sysconfig/network configuration file in your favorite text editor and change the HOSTNAME entry to reflect the desired system hostname (such as webserver).

    Copy
    HOSTNAME=webserver.localdomain
  2. Open the /etc/hosts file in your favorite text editor and change the entry beginning with 127.0.0.1 to match the example below, substituting your own hostname.

    Copy
    127.0.0.1 webserver.localdomain webserver localhost4 localhost4.localdomain4
  3. Reboot the instance to pick up the new hostname.

    Copy
    [ec2-user ~]$ sudo reboot

    Alternatively, you can reboot using the Amazon EC2 console (on the Instances page, choose Actions, Instance State, Reboot).

  4. Log into your instance and verify that the hostname has been updated. Your prompt should show the new hostname (up to the first ".") and the hostname command should show the fully-qualified domain name.

    Copy
    [ec2-user@webserver ~]$ hostname webserver.localdomain

ホスト名に影響を与えずにシェルプロンプトを変更する

インスタンスのホスト名を変更せずに、AWS が提供するプライベート名( など)よりも便利なシステム名(webserverip-12-34-56-78 など)を表示させる場合、ホスト名の代わりにシステムニックネームを表示するようにシェルプロンプト設定ファイルを編集できます。

To change the shell prompt to a host nickname

  1. Create a file in /etc/profile.d that sets the environment variable called NICKNAME to the value you want in the shell prompt. For example, to set the system nickname to webserver, run the following command.

    Copy
    [ec2-user ~]$ sudo sh -c 'echo "export NICKNAME=webserver" > /etc/profile.d/prompt.sh'
  2. Open the /etc/bashrc file in your favorite text editor (such as vim or nano). You need to use sudo with the editor command because /etc/bashrc is owned by root.

  3. Edit the file and change the shell prompt variable (PS1) to display your nickname instead of the hostname. Find the following line that sets the shell prompt in /etc/bashrc (several surrounding lines are shown below for context; look for the line that starts with [ "$PS1"):

      # Turn on checkwinsize
      shopt -s checkwinsize
      [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
      # You might want to have e.g. tty in prompt (e.g. more virtual machines)
      # and console windows

    Change the \h (the symbol for hostname) in that line to the value of the NICKNAME variable.

      # Turn on checkwinsize
      shopt -s checkwinsize
      [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@$NICKNAME \W]\\$ "
      # You might want to have e.g. tty in prompt (e.g. more virtual machines)
      # and console windows
  4. (Optional) To set the title on shell windows to the new nickname, complete the following steps.

    1. Create a file named /etc/sysconfig/bash-prompt-xterm.

      Copy
      [ec2-user ~]$ sudo touch /etc/sysconfig/bash-prompt-xterm
    2. Make the file executable using the following command.

      Copy
      [ec2-user ~]$ sudo chmod +x /etc/sysconfig/bash-prompt-xterm
    3. Open the /etc/sysconfig/bash-prompt-xterm file in your favorite text editor (such as vim or nano). You need to use sudo with the editor command because /etc/sysconfig/bash-prompt-xterm is owned by root.

    4. Add the following line to the file.

      Copy
      echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
  5. Log out and then log back in to pick up the new nickname value.

他の Linux ディストリビューションのホスト名の変更

このページの手順は、Amazon Linux のみで使用するためのものです。他の Linux ディストリビューションの詳細については、各ドキュメントおよび次の記事を参照してください。