Amazon Linux 2 について調べてみました。
WindowsのVirtualBoxにインストールしてみたので手順をまとめた。
目次
Amazon Linux 2とは
Amazon Linux 2は、Amazon の Linux オペレーティングシステムです。
AmazonのAWSでは、最も普通に使われているOSとなります。
Linux には、パッケージ管理等の仕様のためdebian系とredhat系の2つのディストリビューションがあります。
Amazon Linux 2は、RedHat 7がベースとなっているため、redhat系のディストリビューションです。
Amazon Linux 2とAmazon Linuxの違い
Amazon Linux 1 ≒ RHEL6 / CentOS6
Amazon Linux 2 ≒ RHEL7 / CentOS7
です。
したがって、両者の違いは次の通りです。
・https://urashita.com/archives/1538
Virtual BoxにAmazon Linux 2をインストールする手順
Amazon Linuxは、AWSのクラウドサービスのみならず、ダウンロードしてオンプレミスでも使うことが可能です。
オンプレミスでのインストール方法は以下の通りです。
・https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html
seed.isoの作成
meta-dataとuser-dataを作成します。
meta-dataの中身
1 2 3 4 5 6 7 8 9 10 |
local-hostname: amazonlinux2_vm # eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like the following. network-interfaces: | auto eth0 iface eth0 inet static address 192.168.56.101 network 192.168.56.0 netmask 255.255.255.0 broadcast 192.168.56.255 gateway 192.168.56.100 |
IPアドレス等はVirutalBox Host-Only Ethernet Adapterと合わせておきます。
user-dataの中身
1 2 3 4 5 6 7 8 9 |
#cloud-config #vim:syntax=yaml users: # A user by the name `ec2-user` is created in the image by default. - default chpasswd: list: | ec2-user:secret # In the above line, do not add any spaces after 'ec2-user:'. |
seed.isoを作成します。
MobaXtermでISOファイルを作成しました。
1 |
$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data |
Windows 10で、ISOファイルを作成するツールであれば、何を使ってもよいようです。
seed.iso のダウンロード
seed.iso を作成できない人のために、githubにpushしたので使ってみてください。
・https://github.com/urashita/seedconfig
Virtual Boxイメージのダウンロード、設定
Virtual Boxイメージファイルをダウンロードします。
・https://cdn.amazonlinux.com/os-images/latest/virtualbox/
Virtual Boxでは以下の通り設定します。
メモリは4GBにしておきました。
ストレージで seed.iso を設定します。
さらにネットワークを設定します。
ファイル ⇒ ホストネットワークマネージャー
を開きます。
ホストネットワークマネージャーに以下のように「VirutalBox Host-Only Ethernet Adapter」を追加します。
DHCPサーバーとして以下のように設定します。
サーバーアドレス 192.168.56.100
サーバーマスク 255.255.255.0
アドレス下限 192.168.56.101
アドレス上限 192.168.56.254
その後、以下のネットワーク設定を追加します。
アダプター1をNATにします。
アダプター2は以下の通りです。
割り当て:ホストオンリーアダプター
名前:VirtualBox Host-Only Ethernet Adapter
と設定します。
これで起動すると、以下の通り無事に起動しました。
Amazon Linux 2起動後の設定 (sshログイン、キーマップ、ネットワーク)
Amazon Linux 2を起動してログインします。
1 2 |
user: ec2-user pass: secret |
rootになります。
1 |
$ sudo su |
キーマップが英語なので、キーマップを日本語キーボードにしておきます。
1 |
# localectl set-keymap jp106 |
パスワードでのSSH接続を許可します。
1 |
# vi /etc/ssh/sshd_config |
/etc/ssh/sshd_config
1 2 |
- PasswordAuthentication no + PasswordAuthentication yes |
これで、Windowsホスト側からsshでログインできるようになります。
ネットワークの設定、ホストオンリーアダプター、NAT
VirtualBoxの ホストオンリーアダプター、NATの設定を使って、外部ネットワークに接続することが可能です。
ネットワークを確認します。
1 |
$ /sbin/ifconfig |
IPアドレスが、10.0.2.15 ????
これだと、ホスト側のWindowsからは、ssh でログインできません。
ただし、VirutalBox側からは、ホストのネットワーク (192.168.10.xxx) には繋がっているようです。
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@amazonlinux2_vm ec2-user]# ping 192.168.10.1 PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data. 64 bytes from 192.168.10.1: icmp_seq=1 ttl=254 time=157 ms 64 bytes from 192.168.10.1: icmp_seq=2 ttl=254 time=114 ms 64 bytes from 192.168.10.1: icmp_seq=3 ttl=254 time=102 ms 64 bytes from 192.168.10.1: icmp_seq=4 ttl=254 time=142 ms 64 bytes from 192.168.10.1: icmp_seq=5 ttl=254 time=2.17 ms 64 bytes from 192.168.10.1: icmp_seq=6 ttl=254 time=2.31 ms --- 192.168.10.1 ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5008ms rtt min/avg/max/mdev = 2.172/86.863/157.259/62.415 ms |
これは不思議。
NetworkManger をインストールして、network.service を再起動してみます。
1 |
# yum install -y NetworkManager |
1 |
# systemctl restart network.service |
再度、ネットワークを確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
[root@amazonlinux2_vm ec2-user]# /sbin/ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::a00:27ff:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether 08:00:27:59:23:5c txqueuelen 1000 (Ethernet) RX packets 554 bytes 57852 (56.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 565 bytes 47717 (46.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.56.104 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::8f48:b4c5:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether 08:00:27:fd:5b:26 txqueuelen 1000 (Ethernet) RX packets 3787 bytes 348718 (340.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 358 bytes 67738 (66.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 14 bytes 882 (882.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 14 bytes 882 (882.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
無事に eth1 192.168.56.104 が作成されました。
これで、ホストのWindows側から ssh でログインできるようになりました。
タイムゾーンを日本に
UTCからJSTに変更します。
変更前の状態では「date」を実行するとUTC時間が表示されています。
1 2 |
$ date Tue Mar 31 11:07:26 UTC 2020 |
タイムゾーンを変更するには、「/etc/sysconfig/clock」の設定を書き換えます。
次のように「ZONE」を「Asia/Tokyo」に変更しましょう。
1 |
$ sudo vi /etc/sysconfig/clock |
1 2 3 |
#ZONE="UTC" ZONE="Asia/Tokyo" UTC=true |
続いてシンボリックリンクを作成します。
1 |
$ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
上記の手順を踏むと、JST時間が表示されるようになります。
1 2 |
$ date Tue Mar 31 20:10:11 JST 2020 |
コメント
[…] ・https://urashita.com/archives/31273 […]
[…] ・https://urashita.com/archives/31273 […]