このセクションは、プロキシーサービスをインストールして設定する方法を説明します。プロキシーサービスは、ストレージノードで動作するアカウントサービス、コンテナーサービス、オブジェクトサービスに対するリクエストを処理します。簡単のため、このガイドでは、コントローラーノードにプロキシーサービスをインストールして設定を行います。ただし、ストレージノードとネットワーク接続性のあるノードであれば、任意のノードでプロキシーサービスを実行できます。また、パフォーマンスと冗長性を向上させるために、複数のノードにプロキシーサービスをインストールして設定できます。詳細は Deployment Guide を参照してください。
プロキシーサービスは、Identity サービスなどの認証認可機構を必要とします。しかしながら、他のサービスと異なり、他の OpenStack のサービスなしで動作できる組み込みの認証認可機能も提供されています。しかしながら、このガイドでは、簡単のため、Identity サービス で説明する Identity サービスを参照します。Object Storage サービスを設定する前に、サービスクレデンシャルと API エンドポイントを作成する必要があります。
注釈
Object Storage サービスは、コントローラーノードの SQL データベースを使用しません。代わりに、各ストレージノードに分散した SQLite データベースを使用します。
admin クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。
$ . admin-openrc
これらの手順をすべて行い、Identity サービスのクレデンシャルを作成します。
swift ユーザーを作成します。
$ openstack user create --domain default --password-prompt swift
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | e0353a670a9e496da891347c589539e9 |
| enabled | True |
| id | d535e5cbd2b74ac7bfb97db9cced3ed6 |
| name | swift |
+-----------+----------------------------------+
admin ロールを swift ユーザーに追加します。
$ openstack role add --project service --user swift admin
注釈
このコマンドは何も出力しません。
swift サービスエンティティーを作成します。
$ openstack service create --name swift \
--description "OpenStack Object Storage" object-store
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Object Storage |
| enabled | True |
| id | 75ef509da2c340499d454ae96a2c5c34 |
| name | swift |
| type | object-store |
+-------------+----------------------------------+
Object Storage service API エンドポイントを作成します。
$ openstack endpoint create --region RegionOne \
object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 12bfd36f26694c97813f665707114e0d |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 75ef509da2c340499d454ae96a2c5c34 |
| service_name | swift |
| service_type | object-store |
| url | http://controller:8080/v1/AUTH_%(tenant_id)s |
+--------------+----------------------------------------------+
$ openstack endpoint create --region RegionOne \
object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s
+--------------+----------------------------------------------+
| Field | Value |
+--------------+----------------------------------------------+
| enabled | True |
| id | 7a36bee6733a4b5590d74d3080ee6789 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 75ef509da2c340499d454ae96a2c5c34 |
| service_name | swift |
| service_type | object-store |
| url | http://controller:8080/v1/AUTH_%(tenant_id)s |
+--------------+----------------------------------------------+
$ openstack endpoint create --region RegionOne \
object-store admin http://controller:8080/v1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | ebb72cd6851d4defabc0b9d71cdca69b |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 75ef509da2c340499d454ae96a2c5c34 |
| service_name | swift |
| service_type | object-store |
| url | http://controller:8080/v1 |
+--------------+----------------------------------+
注釈
設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...) は、保持すべきデフォルトの設定オプションを意味します。
パッケージをインストールします。
# apt-get install swift swift-proxy python-swiftclient \
python-keystoneclient python-keystonemiddleware \
memcached
注釈
完全な OpenStack 環境では、これらのいくつかのパッケージはすでにインストールされています。
/etc/swift ディレクトリーを作成します。
プロキシーサービスの設定ファイルを Object Storage のソースディレクトリーから取得します。
# curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/mitaka
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.