このガイドでは、Ubuntu 14.04.2 –GlanceのOpenStackKiloで追加したFedora22インスタンスイメージを起動する方法を示します。ここでは、コントローラーノードでコマンドラインインターフェイスを使用してインスタンスを作成します。このチュートリアルでは、OpenStack Networking(neutron)を使用してインスタンスを起動します。
コントローラノードにデモクレデンシャルをロードします。
# source demo-openrc.sh
ほとんどすべてのクラウドイメージは、ユーザー/パスワード認証の代わりに公開鍵を認証に使用します。インスタンスを起動する前に、公開鍵と秘密鍵のペアを作成する必要があります。
キーペアを生成して追加します。
# nova keypair-add my-key
上記のコマンドの出力をコピーして任意のファイルに保存します。このキーをsshコマンドとともに使用して、インスタンスにログインする必要があります。
利用可能なキーペアを一覧表示します。
# nova keypair-list +--------+-------------------------------------------------+ | Name | Fingerprint | +--------+-------------------------------------------------+ | my-key | 0a:b2:30:cb:54:fc:c4:69:29:00:19:ef:38:8d:2e:2d | +--------+-------------------------------------------------+
インスタンスを起動します:
インスタンスを起動するには、フレーバー、利用可能な画像、ネットワーク、セキュリティグループを知る必要があります。
使用可能なフレーバーをリストします。これは、CPU、メモリ、およびディスクの事前定義された割り当てに他なりません。
# nova flavor-list +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
利用可能な画像を一覧表示します。
# nova image-list +--------------------------------------+--------------------------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+--------------------------------------+--------+--------+ | a1533d87-d6fa-4d9d-bf85-6b2ab8400712 | Fedora-Cloud-Base-22-20150521.x86_64 | ACTIVE | | +--------------------------------------+--------------------------------------+--------+--------+
利用可能なネットワークを一覧表示します。インスタンスはint-net(内部ネットワーク)を使用しますが、インスタンスを作成するときは、名前ではなくIDを使用してネットワークを指定する必要があります。
# neutron net-list +--------------------------------------+---------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+---------+-------------------------------------------------------+ | 187a7b6c-7d14-4d8f-8673-57fa9bab1bba | int-net | 7f75b54f-7b87-42e4-a7e1-f452c8adcb3a 192.168.100.0/24 | | db407537-7951-411c-ab8e-ef59d204f110 | ext-net | a517e200-38eb-4b4b-b82f-d486e07756ca 192.168.0.0/24 | +--------------------------------------+---------+-------------------------------------------------------+
利用可能なセキュリティグループを一覧表示します。
# nova secgroup-list +--------------------------------------+---------+------------------------+ | Id | Name | Description | +--------------------------------------+---------+------------------------+ | c88f4002-611e-41dd-af7c-2f7c348dea27 | default | Default security group | +--------------------------------------+---------+------------------------+
デフォルトのセキュリティグループは、インスタンスへのリモートアクセスをブロックするファイアウォールを実装しています。インスタンスへのリモートアクセスを許可するには、リモートアクセスを構成する必要があります。
次のコマンドは、デフォルトのセキュリティグループにルールを追加して、pingとSSHアクセスを許可します。
# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 +-------------+-----------+---------+-----------+--------------+ | IP Protocol | From Port | To Port | IP Range | Source Group | +-------------+-----------+---------+-----------+--------------+ | icmp | -1 | -1 | 0.0.0.0/0 | | +-------------+-----------+---------+-----------+--------------+ # nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 +-------------+-----------+---------+-----------+--------------+ | IP Protocol | From Port | To Port | IP Range | Source Group | +-------------+-----------+---------+-----------+--------------+ | tcp | 22 | 22 | 0.0.0.0/0 | | +-------------+-----------+---------+-----------+--------------+
以下のコマンドを使用して最初のインスタンスを起動し、ネットワークIDの変数をロードします。
# INT_NET_ID=`neutron net-list | grep int-net | awk '{ print $2 }'
$INT_NET_IDを内部ネットワークのIDに置き換えます。
# nova boot --flavor m1.small --image Fedora-Cloud-Base-22-20150521.x86_64 --nic net-id=$INT_NET_ID --security-group default --key-name my-key MY-Fedora +--------------------------------------+-----------------------------------------------------------------------------+ | Property | Value | +--------------------------------------+-----------------------------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-SRV-ATTR:host | - | | OS-EXT-SRV-ATTR:hypervisor_hostname | - | | OS-EXT-SRV-ATTR:instance_name | instance-0000000b | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | - | | OS-SRV-USG:terminated_at | - | | accessIPv4 | | | accessIPv6 | | | adminPass | 7PGDvZaxnxR5 | | config_drive | | | created | 2015-07-02T17:45:15Z | | flavor | m1.small (2) | | hostId | | | id | 7432030a-3cbe-49c6-956a-3e725e22196d | | image | Fedora-Cloud-Base-22-20150521.x86_64 (a1533d87-d6fa-4d9d-bf85-6b2ab8400712) | | key_name | my-key | | metadata | {} | | name | MY-Fedora | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | security_groups | default | | status | BUILD | | tenant_id | 9b05e6bffdb94c8081d665561d05e31e | | updated | 2015-07-02T17:45:15Z | | user_id | 127a9a6b822a4e3eba69fa54128873cd | +--------------------------------------+-----------------------------------------------------------------------------+
インスタンスのステータスを確認します。
# nova list +--------------------------------------+-----------+--------+------------+-------------+-----------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+-----------------------+ | 7432030a-3cbe-49c6-956a-3e725e22196d | MY-Fedora | ACTIVE | - | Running | int-net=192.168.100.8 | +--------------------------------------+-----------+--------+------------+-------------+-----------------------+
外部ネットワーク(ext-net)にフローティングIPアドレスを作成します。
# neutron floatingip-create ext-net Created a new floatingip: +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | fixed_ip_address | | | floating_ip_address | 192.168.0.201 | | floating_network_id | db407537-7951-411c-ab8e-ef59d204f110 | | id | 0be060c7-d84f-4691-8205-34ad9bb6a296 | | port_id | | | router_id | | | status | DOWN | | tenant_id | 9b05e6bffdb94c8081d665561d05e31e | +---------------------+--------------------------------------+
フローティングIPアドレスをインスタンス(MY-Fedora)に関連付けます。
# nova floating-ip-associate MY-Fedora 192.168.0.201
フローティングIPアドレスのステータスを確認してください。
# nova list +--------------------------------------+-----------+--------+------------+-------------+--------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+--------------------------------------+ | 7432030a-3cbe-49c6-956a-3e725e22196d | MY-Fedora | ACTIVE | - | Running | int-net=192.168.100.8, 192.168.0.201 | +--------------------------------------+-----------+--------+------------+-------------+--------------------------------------+
外部物理ネットワーク上の任意のホストからのpingを使用して、ネットワーク接続を確認します。
C:\>ping 192.168.0.201 Pinging 192.168.0.201 with 32 bytes of data: Reply from 192.168.0.201: bytes=32 time=1ms TTL=63 Reply from 192.168.0.201: bytes=32 time=2ms TTL=63 Reply from 192.168.0.201: bytes=32 time=1ms TTL=63 Reply from 192.168.0.201: bytes=32 time=1ms TTL=63 Ping statistics for 192.168.0.201: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 2ms, Average = 1ms
ping応答を受け取ったら、少なくとも1分待って、インスタンスが完全に起動するのを待ちます。次に、コントローラーまたは外部システムからSSHで接続してみます。認証にキーペアを使用します。
# ssh -i mykey [email protected] The authenticity of host '192.168.0.201 (192.168.0.201)' can't be established. ECDSA key fingerprint is 0e:c2:58:9b:7f:28:10:a9:e1:cf:6d:00:51:6b:1f:f5. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.0.201' (ECDSA) to the list of known hosts. [fedora@my-fedora ~]$
これで、fedoraインスタンスに正常にログインできました。