{"id":166,"date":"2015-06-03T10:09:59","date_gmt":"2015-06-03T01:09:59","guid":{"rendered":"http:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/?p=166"},"modified":"2015-06-03T10:09:59","modified_gmt":"2015-06-03T01:09:59","slug":"openstack-%e3%81%aelbaas%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f","status":"publish","type":"post","link":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/?p=166","title":{"rendered":"Openstack \u306eLBaas\u3092\u8a66\u3057\u3066\u307f\u305f"},"content":{"rendered":"<h1>Openstack \u306eLBaas\u3092\u8a66\u3057\u3066\u307f\u305f<\/h1>\n<p>Openstack\u306eneutron\u306b\u306fLBaaS(Load Balancer as a Service)\u306e\u6a5f\u80fd\u304c\u3042\u308b\u3002<br \/>\nRDO\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u3060\u3068\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u304c\u3001\u5272\u3068\u4fbf\u5229\u306a\u306e\u3067\u4f7f\u3044\u65b9\u306e\u30e1\u30e2\u3092\u6b8b\u3057\u3066\u304a\u304f\u3002<\/p>\n<h2>\u30c6\u30b9\u30c8\u74b0\u5883<\/h2>\n<p>\u307e\u305a\u306f\u3001\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b9\u306e\u5bfe\u8c61\u3068\u306a\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30923\u3064\u307b\u3069\u8d77\u52d5\u3057\u3066\u304a\u304f\u3002<\/p>\n<pre><code>$ openstack server list  --name web-server\n+--------------------------------------+--------------+--------+--------------------------------+\n| ID                                   | Name         | Status | Networks                       |\n+--------------------------------------+--------------+--------+--------------------------------+\n| d221bc75-fa0a-4c61-a8ed-e3a8d98d6011 | web-server-3 | ACTIVE | sakura-network=192.168.100.167 |\n| 9b35519e-6229-47b6-8a3a-bdf41099ad41 | web-server-2 | ACTIVE | sakura-network=192.168.100.166 |\n| 5bfdcc4e-e088-474d-8847-f185a470d27a | web-server-1 | ACTIVE | sakura-network=192.168.100.165 |\n+--------------------------------------+--------------+--------+--------------------------------+\n<\/code><\/pre>\n<p>\u6240\u5c5e\u3057\u3066\u3044\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001<code>sakura-network<\/code>\u3002<\/p>\n<pre><code>$ openstack server show web-server-1 -f json |jq &amp;#039;.[]| select(.Field == &amp;quot;addresses&amp;quot;) &amp;#039;\n{\n  &amp;quot;Field&amp;quot;: &amp;quot;addresses&amp;quot;,\n  &amp;quot;Value&amp;quot;: &amp;quot;sakura-network=192.168.100.165&amp;quot;\n}\n<\/code><\/pre>\n<p>\u30b5\u30d6\u30cd\u30c3\u30c8\u306f\u3001<code>sakura-subnet<\/code><\/p>\n<pre><code>$ neutron subnet-show b47756e2-a744-495f-807c-76ef19a27fdc\n+-------------------+------------------------------------------------------+\n| Field             | Value                                                |\n+-------------------+------------------------------------------------------+\n| allocation_pools  | {&amp;quot;start&amp;quot;: &amp;quot;192.168.100.2&amp;quot;, &amp;quot;end&amp;quot;: &amp;quot;192.168.100.254&amp;quot;} |\n| cidr              | 192.168.100.0\/24                                     |\n| dns_nameservers   | 8.8.4.4                                              |\n|                   | 8.8.8.8                                              |\n| enable_dhcp       | True                                                 |\n| gateway_ip        | 192.168.100.1                                        |\n| host_routes       |                                                      |\n| id                | b47756e2-a744-495f-807c-76ef19a27fdc                 |\n| ip_version        | 4                                                    |\n| ipv6_address_mode |                                                      |\n| ipv6_ra_mode      |                                                      |\n| name              | sakura-subnet                                        |\n| network_id        | 1b115b39-d469-48e9-a5cc-d4f7bfce78fb                 |\n| subnetpool_id     |                                                      |\n| tenant_id         | 64709cb5dbd0454e8dd4501061d35278                     |\n+-------------------+------------------------------------------------------+\n<\/code><\/pre>\n<p>\u3053\u306e3\u3064\u3067\u305d\u308c\u305e\u308c<code>nginx<\/code>\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b\u3002<br \/>\ncurl\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068\u5fdc\u7b54\u304c\u8fd4\u308b\u3002<\/p>\n<pre><code>$ curl &amp;quot;http:\/\/192.168.100.167\/&amp;quot;\n&amp;lt;!DOCTYPE html&amp;gt;\n&amp;lt;html&amp;gt;\n&amp;lt;head&amp;gt;\n....\n\n<\/code><\/pre>\n<p>\u307e\u3068\u3081\u308b\u3068<\/p>\n<ul>\n<li>3\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067nginx\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b<\/li>\n<li>sakura-network\u306esakura-subnet(192.168.100.0\/24)\u3067\u52d5\u4f5c\u3057\u3066\u3044\u308b<\/li>\n<li><code>192.168.100.65<\/code>, <code>192.168.100.66<\/code>, <code>192.168.100.67<\/code>\u306eIP\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u3066\u3044\u308b<\/li>\n<\/ul>\n<h2>Load Balancer\u306e\u4f5c\u308a\u304b\u305f<\/h2>\n<h3>Load Balancer\u306e\u4f5c\u6210<\/h3>\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067LoadBalancer\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u3002<br \/>\n\u306a\u304a\u6a19\u6e96\u7684\u306a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u306f\u3001\u3053\u306eLoadBalancer\u306f\u5b9f\u88c5\u3068\u3057\u3066<code>haproxy<\/code>\u304c\u5229\u7528\u3055\u308c\u308b\u3088\u3046\u3060\u3002<\/p>\n<pre><code>neutron lb-pool-create --name http-pool --lb-method ROUND_ROBIN --protocol HTTP --subnet-id sakura-subnet\nCreated a new pool:\n+------------------------+--------------------------------------+\n| Field                  | Value                                |\n+------------------------+--------------------------------------+\n| admin_state_up         | True                                 |\n| description            |                                      |\n| health_monitors        |                                      |\n| health_monitors_status |                                      |\n| id                     | 6b62d089-a77f-4052-ac66-336b6e7b2c62 |\n| lb_method              | ROUND_ROBIN                          |\n| members                |                                      |\n| name                   | http-pool                            |\n| protocol               | HTTP                                 |\n| provider               | haproxy                              |\n| status                 | PENDING_CREATE                       |\n| status_description     |                                      |\n| subnet_id              | b47756e2-a744-495f-807c-76ef19a27fdc |\n| tenant_id              | 64709cb5dbd0454e8dd4501061d35278     |\n| vip_id                 |                                      |\n+------------------------+--------------------------------------+\n<\/code><\/pre>\n<h3>\u30e1\u30f3\u30d0\u30fc\u306e\u8ffd\u52a0<\/h3>\n<p><code>lb-member-create<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u3001\u4f5c\u6210\u3057\u305fLoadBalancer\u306b\u30e1\u30f3\u30d0(LoadBalance\u3059\u308b\u5bfe\u8c61)\u3092\u8ffd\u52a0\u3067\u304d\u308b\u3002<\/p>\n<pre><code>neutron lb-member-create --address 192.168.100.165 --protocol-port 80 http-pool\nneutron lb-member-create --address 192.168.100.166 --protocol-port 80 http-pool\nneutron lb-member-create --address 192.168.100.167 --protocol-port 80 http-pool\n<\/code><\/pre>\n<p>\u6b63\u3057\u304f\u8ffd\u52a0\u3067\u304d\u305f\u304b\u3092\u78ba\u8a8d\u3057\u3066\u307f\u308b\u3002<\/p>\n<pre><code>$ neutron lb-member-list\n+--------------------------------------+-----------------+---------------+--------+----------------+--------+\n| id                                   | address         | protocol_port | weight | admin_state_up | status |\n+--------------------------------------+-----------------+---------------+--------+----------------+--------+\n| 0ccf99f3-e252-45a8-ab41-394d873e784b | 192.168.100.167 |            80 |      1 | True           | ACTIVE |\n| 7e2025b8-2bae-4014-bf7d-bbb027ee9ce4 | 192.168.100.166 |            80 |      1 | True           | ACTIVE |\n| 92118549-b6f4-4ebd-88c2-f09d9168cfc9 | 192.168.100.165 |            80 |      1 | True           | ACTIVE |\n+--------------------------------------+-----------------+---------------+--------+----------------+--------+\n<\/code><\/pre>\n<pre><code>$ neutron lb-pool-show http-pool\n+------------------------+--------------------------------------+\n| Field                  | Value                                |\n+------------------------+--------------------------------------+\n| admin_state_up         | True                                 |\n| description            |                                      |\n| health_monitors        |                                      |\n| health_monitors_status |                                      |\n| id                     | 6b62d089-a77f-4052-ac66-336b6e7b2c62 |\n| lb_method              | ROUND_ROBIN                          |\n| members                | 0ccf99f3-e252-45a8-ab41-394d873e784b |\n|                        | 7e2025b8-2bae-4014-bf7d-bbb027ee9ce4 |\n|                        | 92118549-b6f4-4ebd-88c2-f09d9168cfc9 |\n| name                   | http-pool                            |\n| protocol               | HTTP                                 |\n| provider               | haproxy                              |\n| status                 | ACTIVE                               |\n| status_description     |                                      |\n| subnet_id              | b47756e2-a744-495f-807c-76ef19a27fdc |\n| tenant_id              | 64709cb5dbd0454e8dd4501061d35278     |\n| vip_id                 |                                      |\n+------------------------+--------------------------------------+\n<\/code><\/pre>\n<p>http-pool\u306bmember\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u308b<\/p>\n<h3>\u30d8\u30eb\u30b9\u30e2\u30cb\u30bf\u3092\u8ffd\u52a0<\/h3>\n<p>\u30e1\u30f3\u30d0\u306e\u6b7b\u6d3b\u76e3\u8996\u306e\u305f\u3081\u306ehealthmonitor\u3092\u4f5c\u6210\u3059\u308b<\/p>\n<pre><code>$ neutron lb-healthmonitor-create --delay 5 --type HTTP --max-retries 3 --timeout 2\nCreated a new health_monitor:\n+----------------+--------------------------------------+\n| Field          | Value                                |\n+----------------+--------------------------------------+\n| admin_state_up | True                                 |\n| delay          | 5                                    |\n| expected_codes | 200                                  |\n| http_method    | GET                                  |\n| id             | ea06e766-8b19-40fd-bf10-daaa6b2ab8a0 |\n| max_retries    | 3                                    |\n| pools          |                                      |\n| tenant_id      | 64709cb5dbd0454e8dd4501061d35278     |\n| timeout        | 2                                    |\n| type           | HTTP                                 |\n| url_path       | \/                                    |\n+----------------+--------------------------------------+\n<\/code><\/pre>\n<p>\u3053\u306e\u30d8\u30eb\u30b9\u30e2\u30cb\u30bf\u3092<code>http-pool<\/code>\u306b\u95a2\u9023\u4ed8\u3051\u308b\u3002<\/p>\n<pre><code>neutron lb-healthmonitor-associate ea06e766-8b19-40fd-bf10-daaa6b2ab8a0 http-pool\nAssociated health monitor ea06e766-8b19-40fd-bf10-daaa6b2ab8a0\n<\/code><\/pre>\n<p><code>neutron lb-pool-show<\/code>\u3092\u3059\u308b\u3068\u95a2\u9023\u4ed8\u3051\u3089\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3067\u304d\u308b\u3002<\/p>\n<pre><code>neutron lb-pool-show http-pool\n+------------------------+--------------------------------------------------------------------------------------------------------+\n| Field                  | Value                                                                                                  |\n+------------------------+--------------------------------------------------------------------------------------------------------+\n| admin_state_up         | True                                                                                                   |\n| description            |                                                                                                        |\n| health_monitors        | ea06e766-8b19-40fd-bf10-daaa6b2ab8a0                                                                   |\n| health_monitors_status | {&amp;quot;monitor_id&amp;quot;: &amp;quot;ea06e766-8b19-40fd-bf10-daaa6b2ab8a0&amp;quot;, &amp;quot;status&amp;quot;: &amp;quot;ACTIVE&amp;quot;, &amp;quot;status_description&amp;quot;: null} |\n| id                     | 6b62d089-a77f-4052-ac66-336b6e7b2c62                                                                   |\n| lb_method              | ROUND_ROBIN                                                                                            |\n| members                | 0ccf99f3-e252-45a8-ab41-394d873e784b                                                                   |\n|                        | 7e2025b8-2bae-4014-bf7d-bbb027ee9ce4                                                                   |\n|                        | 92118549-b6f4-4ebd-88c2-f09d9168cfc9                                                                   |\n| name                   | http-pool                                                                                              |\n| protocol               | HTTP                                                                                                   |\n| provider               | haproxy                                                                                                |\n| status                 | ACTIVE                                                                                                 |\n| status_description     |                                                                                                        |\n| subnet_id              | b47756e2-a744-495f-807c-76ef19a27fdc                                                                   |\n| tenant_id              | 64709cb5dbd0454e8dd4501061d35278                                                                       |\n| vip_id                 |                                                                                                        |\n+------------------------+--------------------------------------------------------------------------------------------------------+\n<\/code><\/pre>\n<h3>virtual ip \u306e\u4f5c\u6210<\/h3>\n<p>load balancer\u304c\u5229\u7528\u3059\u308bvip\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<pre><code>neutron lb-vip-create --name http-vip --protocol-port 80 --protocol HTTP --subnet-id sakura-subnet http-pool\nCreated a new vip:\n+---------------------+--------------------------------------+\n| Field               | Value                                |\n+---------------------+--------------------------------------+\n| address             | 192.168.100.168                      |\n| admin_state_up      | True                                 |\n| connection_limit    | -1                                   |\n| description         |                                      |\n| id                  | 85d12819-d4ed-40e4-9ef9-2c17b3923177 |\n| name                | http-vip                             |\n| pool_id             | 6b62d089-a77f-4052-ac66-336b6e7b2c62 |\n| port_id             | b6c0bfd5-29a5-4999-84d5-e779c2cd3455 |\n| protocol            | HTTP                                 |\n| protocol_port       | 80                                   |\n| session_persistence |                                      |\n| status              | PENDING_CREATE                       |\n| status_description  |                                      |\n| subnet_id           | b47756e2-a744-495f-807c-76ef19a27fdc |\n| tenant_id           | 64709cb5dbd0454e8dd4501061d35278     |\n+---------------------+--------------------------------------+\n<\/code><\/pre>\n<p>\u3053\u308c\u3067\u3001<code>192.168.100.168<\/code>\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u5404\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5206\u6563\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n<pre><code>$ curl 192.168.100.168\n&amp;lt;!DOCTYPE html&amp;gt;\n&amp;lt;html&amp;gt;\n&amp;lt;head&amp;gt;\n...\n\n<\/code><\/pre>\n<h3>floating ip \u306e\u95a2\u9023\u4ed8\u3051<\/h3>\n<p>\u3053\u3053\u307e\u3067\u306e\u8a2d\u5b9a\u3067\u3001load balancer\u3068\u3057\u3066\u306f\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u306a\u308b\u3002<br \/>\n\u3057\u304b\u3057\u3001Web\u30b5\u30fc\u30d0\u306e\u5834\u5408\u306f\u3001\u5916\u90e8\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u305f\u3081<br \/>\nfloating-ip\u3092\u5272\u308a\u632f\u308a\u305f\u304f\u306a\u308b\u3002<\/p>\n<pre><code>$ neutron lb-vip-list\n+--------------------------------------+----------+-----------------+----------+----------------+--------+\n| id                                   | name     | address         | protocol | admin_state_up | status |\n+--------------------------------------+----------+-----------------+----------+----------------+--------+\n| 85d12819-d4ed-40e4-9ef9-2c17b3923177 | http-vip | 192.168.100.168 | HTTP     | True           | ACTIVE |\n+--------------------------------------+----------+-----------------+----------+----------------+--------+\n\n$ neutron lb-vip-show http-vip\n+---------------------+--------------------------------------+\n| Field               | Value                                |\n+---------------------+--------------------------------------+\n| address             | 192.168.100.168                      |\n| admin_state_up      | True                                 |\n| connection_limit    | -1                                   |\n| description         |                                      |\n| id                  | 85d12819-d4ed-40e4-9ef9-2c17b3923177 |\n| name                | http-vip                             |\n| pool_id             | 6b62d089-a77f-4052-ac66-336b6e7b2c62 |\n| port_id             | b6c0bfd5-29a5-4999-84d5-e779c2cd3455 |\n| protocol            | HTTP                                 |\n| protocol_port       | 80                                   |\n| session_persistence |                                      |\n| status              | ACTIVE                               |\n| status_description  |                                      |\n| subnet_id           | b47756e2-a744-495f-807c-76ef19a27fdc |\n| tenant_id           | 64709cb5dbd0454e8dd4501061d35278     |\n+---------------------+--------------------------------------+\n<\/code><\/pre>\n<p>\u3053\u3053\u3067\u3001port_id\u3092\u63a7\u3048\u3066\u304a\u304f\u3002<\/p>\n<pre><code>neutron floatingip-list                                                                                                                                             [master ~\/.emacs.d]\n+--------------------------------------+------------------+---------------------+--------------------------------------+\n| id                                   | fixed_ip_address | floating_ip_address | port_id                              |\n+--------------------------------------+------------------+---------------------+--------------------------------------+\n| 360e7cbc-8913-4bb3-9dce-30d6bf6984f9 |                  | 192.168.1.70        |                                      |\n| 59a8b735-3b97-43bd-b876-170342da1e19 |                  | 192.168.1.53        |                                      |\n| 5cfe1810-b4ad-4d5d-b66e-e153fa9ef28e | 192.168.100.16   | 192.168.1.55        | 19591c79-89fb-4587-b109-ef97106a270f |\n| 63a2a781-1c77-4f6e-b189-86337ec629b0 |                  | 192.168.1.56        |                                      |\n| 6677398b-de17-4c81-98ae-5e168266f1d0 |                  | 192.168.1.69        |                                      |\n| 80d0753b-4ff6-409e-b2ee-b171dcd0052a |                  | 192.168.1.52        |                                      |\n| d296ce45-6ebd-47b7-9c2f-ecb6d70f1409 |                  | 192.168.1.54        |                                      |\n+--------------------------------------+------------------+---------------------+--------------------------------------+\n<\/code><\/pre>\n<p>floatingip\u3092\u9069\u5f53\u306b\u5272\u308a\u5f53\u3066\u308b\u3002<\/p>\n<pre><code>$ neutron floatingip-associate 360e7cbc-8913-4bb3-9dce-30d6bf6984f9 b6c0bfd5-29a5-4999-84d5-e779c2cd3455\n$ neutron floatingip-list\n+--------------------------------------+------------------+---------------------+--------------------------------------+\n| id                                   | fixed_ip_address | floating_ip_address | port_id                              |\n+--------------------------------------+------------------+---------------------+--------------------------------------+\n| 360e7cbc-8913-4bb3-9dce-30d6bf6984f9 | 192.168.100.168  | 192.168.1.70        | b6c0bfd5-29a5-4999-84d5-e779c2cd3455 |\n| 59a8b735-3b97-43bd-b876-170342da1e19 |                  | 192.168.1.53        |                                      |\n| 5cfe1810-b4ad-4d5d-b66e-e153fa9ef28e | 192.168.100.16   | 192.168.1.55        | 19591c79-89fb-4587-b109-ef97106a270f |\n| 63a2a781-1c77-4f6e-b189-86337ec629b0 |                  | 192.168.1.56        |                                      |\n| 6677398b-de17-4c81-98ae-5e168266f1d0 |                  | 192.168.1.69        |                                      |\n| 80d0753b-4ff6-409e-b2ee-b171dcd0052a |                  | 192.168.1.52        |                                      |\n| d296ce45-6ebd-47b7-9c2f-ecb6d70f1409 |                  | 192.168.1.54        |                                      |\n+--------------------------------------+------------------+---------------------+--------------------------------------+\n<\/code><\/pre>\n<p>\u3053\u308c\u3067\u3001LoadBalancer\u306bfloating-ip\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n<pre><code>$ curl 192.168.1.70                                                                                                                                                   [master ~\/.emacs.d]\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n....\n\n<\/code><\/pre>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>neutron \u306e LBaaS\u3092\u8a66\u3057\u3066\u307f\u305f\u3002<br \/>\nhaproxy\u306a\u3069\u304c\u52d5\u4f5c\u3057\u3066\u3044\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u7528\u610f\u3059\u308b\u3088\u308a\u306f\u624b\u8efd\u306b\u5229\u7528\u3067\u304d\u308b\u306e\u304c\u826f\u3044\u3002<br \/>\n\u672a\u691c\u8a3c\u3060\u304c\u3001VM\u4e0a\u3067\u52d5\u4f5c\u305b\u305a\u306b\u30db\u30b9\u30c8\u306e\u30d7\u30ed\u30bb\u30b9\u3068\u3057\u3066\u52d5\u4f5c\u3055\u305b\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067VM\u3067\u3084\u308b\u3088\u308a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7684\u306b\u3082\u512a\u308c\u3066\u305d\u3046\u3002<br \/>\n\u306a\u304a\u3001\u4e0a\u8a18\u306e\u30e1\u30e2\u306b\u306f\u6b8b\u3057\u3066\u3044\u306a\u3044\u304c\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u505c\u6b62\u3057\u305f\u308a\u8d77\u52d5\u3057\u305f\u969b\u306b\u306f\u9069\u5207\u306bLoadBalance\u306e\u5bfe\u8c61\u3068\u3057\u3066\u8ffd\u52a0\u3001\u524a\u9664\u304c\u884c\u306a\u308f\u308c\u3066\u3044\u305f<br \/>\n\u3053\u3068\u3082\u78ba\u8a8d\u3067\u304d\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Openstack \u306eLBaas\u3092\u8a66\u3057\u3066\u307f\u305f Openstack\u306eneutron\u306b\u306fLBaaS(Load Balancer as a Service)\u306e\u6a5f\u80fd\u304c\u3042\u308b\u3002 RDO\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u3060\u3068\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u308b\u304c\u3001\u5272\u3068\u4fbf\u5229\u306a\u306e\u2026 <span class=\"read-more\"><a href=\"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/?p=166\">\u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Openstack \u306eLBaas\u3092\u8a66\u3057\u3066\u307f\u305f","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-166","post","type-post","status-publish","format-standard","hentry","category-1"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4wwqG-2G","_links":{"self":[{"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=\/wp\/v2\/posts\/166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=166"}],"version-history":[{"count":3,"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=\/wp\/v2\/posts\/166\/revisions"}],"predecessor-version":[{"id":169,"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=\/wp\/v2\/posts\/166\/revisions\/169"}],"wp:attachment":[{"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/light-of-moe.ddo.jp\/~sakura\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}