各インスタンスは、プライベートな Fixed IP アドレスを持ちます。また、パブリックな Floating IP アドレスも持てます。プライベート IP アドレスは、インスタンス間の通信に使用されます。パブリックアドレスは、インターネットなどのクラウド外のネットワークと通信するために使用されます。
インスタンスを起動すると、プライベート IP アドレスが割り当てられ、インスタンスを明示的に終了するまで、この IP アドレスは変わりません。インスタンスをリブートしても、プライベート IP アドレスには影響はありません。
Floating IP アドレスのプールは、クラウド管理者により設定され、OpenStack Compute で利用できます。プロジェクトのクォータが、プロジェクトに確保できる Floating IP アドレスの最大数を定義します。プロジェクトに Floating IP アドレスを確保した後、以下を実行できます。
openstack コマンドを使用して、Floating IP アドレスを管理します。
public
:$ openstack network create public --external
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2017-05-18T05:06:06Z |
| description | |
| dns_domain | None |
| id | 5a6c74b9-5659-4b9e-951e-85ffca212139 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| mtu | 1450 |
| name | public |
| port_security_enabled | False |
| project_id | b3abf186ac64462e85741315376e9ca7 |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 9 |
| qos_policy_id | None |
| revision_number | 3 |
| router:external | External |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | |
| updated_at | 2017-05-18T05:06:06Z |
+---------------------------+--------------------------------------+
public
external network:$ openstack subnet create --network public --subnet-range 172.24.4.0/24 public_subnet
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| allocation_pools | 172.24.4.2-172.24.4.254 |
| cidr | 172.24.4.0/24 |
| created_at | 2017-05-18T05:16:46Z |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 172.24.4.1 |
| host_routes | |
| id | f61a73b3-6097-48ff-b7ef-98da203e6b18 |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | public_subnet |
| network_id | 5a6c74b9-5659-4b9e-951e-85ffca212139 |
| project_id | b3abf186ac64462e85741315376e9ca7 |
| revision_number | 2 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| updated_at | 2017-05-18T05:16:46Z |
| use_default_subnet_pool | None |
+-------------------------+--------------------------------------+
Floating IP アドレスを提供するプールをすべて表示するために、以下を実行します。
$ openstack floating ip pool list
+--------+
| name |
+--------+
| public |
| test |
+--------+
注釈
If this list is empty, the cloud administrator must configure a pool
of floating IP addresses.
This command is only available in nova-network
. If you use the OpenStack
Networking service, run the following command to list external networks:
$ openstack network list --external
+--------------------------------------+-------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+-------------+--------------------------------------+
| 5a6c74b9-5659-4b9e-951e-85ffca212139 | public | f61a73b3-6097-48ff-b7ef-98da203e6b18 |
| 9839a22d-33b7-4173-9708-985f091bb892 | public1 | 19f1fbb4-f411-4465-8ed9-b641c7fc73d0 |
+--------------------------------------+-------------+--------------------------------------+
現在のプロジェクトに確保されている、すべての Floating IP アドレスを一覧表示するために、以下を実行します。
$ openstack floating ip list
+--------------------------------------+---------------------+------------------+------+
| ID | Floating IP Address | Fixed IP Address | Port |
+--------------------------------------+---------------------+------------------+------+
| 760963b2-779c-4a49-a50d-f073c1ca5b9e | 172.24.4.228 | None | None |
| 89532684-13e1-4af3-bd79-f434c9920cc3 | 172.24.4.235 | None | None |
| ea3ebc6d-a146-47cd-aaa8-35f06e1e8c3d | 172.24.4.229 | None | None |
+--------------------------------------+---------------------+------------------+------+
現在のプロジェクトに確保されている各 Floating IP アドレスに対して、このコマンドは、Floating IP アドレス、Floating IP アドレスが割り当てられたインスタンスの ID、関連付けられた Fixed IP アドレス、Floating IP アドレスが確保されたプールを出力します。
Floating IP アドレスをプロジェクトやインスタンスに割り当てられます。
現在のプロジェクトに Floating IP アドレスを確保するために、以下のコマンドを実行します。Floating IP はデフォルトで、パブリックのプールから確保されます。このコマンドは、確保した IP アドレスを出力します。
$ openstack floating ip create public
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| created_at | 2017-03-30T12:35:25Z |
| description | |
| fixed_ip_address | None |
| floating_ip_address | 172.24.4.230 |
| floating_network_id | c213f520-aade-42eb-8bf1-6826505d74bb |
| id | 1e777f9e-4fc8-4df8-be6f-89f5caba3c0f |
| name | None |
| port_id | None |
| project_id | b3abf186ac64462e85741315376e9ca7 |
| revision_number | 1 |
| router_id | None |
| status | DOWN |
| updated_at | 2017-03-30T12:35:25Z |
+---------------------+--------------------------------------+
プロジェクトのすべてのインスタンス、割り当てられた Floating IP アドレスを一覧表示します。
$ openstack server list
+---------------------+------+---------+------------+-------------+------------------+------------+
| ID | Name | Status | Task State | Power State | Networks | Image Name |
+---------------------+------+---------+------------+-------------+------------------+------------+
| d5c854f9-d3e5-4f... | VM1 | ACTIVE | - | Running | private=10.0.0.3 | cirros |
| 42290b01-0968-43... | VM2 | SHUTOFF | - | Shutdown | private=10.0.0.4 | centos |
+---------------------+------+---------+------------+-------------+------------------+------------+
以下のように、IP アドレスをプロジェクトのインスタンスに割り当てます。
$ openstack server add floating ip INSTANCE_NAME_OR_ID FLOATING_IP_ADDRESS
例:
$ openstack server add floating ip VM1 172.24.4.225
インスタンスに 2 つの IP アドレスが関連付けられます。
$ openstack server list
+------------------+------+--------+------------+-------------+-------------------------------+------------+
| ID | Name | Status | Task State | Power State | Networks | Image Name |
+------------------+------+--------+------------+-------------+-------------------------------+------------+
| d5c854f9-d3e5... | VM1 | ACTIVE | - | Running | private=10.0.0.3, 172.24.4.225| cirros |
| 42290b01-0968... | VM2 | SHUTOFF| - | Shutdown | private=10.0.0.4 | centos |
+------------------+------+--------+------------+-------------+-------------------------------+------------+
インスタンスに IP アドレスを割り当てて、セキュリティーグループルールを設定してから、インスタンスを Floating IP アドレスで公開します。
注釈
openstack server コマンドは、ユーザーがオプションの --fixed-address
パラメーターを使用して、指定した固定 IP アドレスに Floating IP アドレスを関連づけることができません。これは、前のコマンドはこの引数を必要としました。
インスタンスから Floating IP アドレスの関連付けを解除する方法:
$ openstack server remove floating ip INSTANCE_NAME_OR_ID FLOATING_IP_ADDRESS
プロジェクトから Floating IP アドレスを削除する方法:
$ openstack floating ip delete FLOATING_IP_ADDRESS
IP アドレスは、すべてのプロジェクトで利用できるように IP アドレスのプールに戻されます。IP アドレスが実行中のインスタンスにまだ割り当てられていると、そのインスタンスから自動的に割り当て解除されます。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.