2.7. DNS へのワイルドカードの追加

S3 スタイルのサブドメイン (例: bucket-name.domain-name.com) で Ceph を使用するには、ceph-radosgw デーモンがドメイン名を解決するために使用する DNS サーバーの DNS レコードにワイルドカードを追加します。

dnsmasq の場合は、ホスト名の先頭にドット(.)を付けた以下のアドレス設定を追加します。

address=/.{hostname-or-fqdn}/{host-ip-address}

以下に例を示します。

address=/.gateway-node1/192.168.122.75

bind の場合は、ワイルドカードを DNS レコードに追加します。以下に例を示します。

$TTL    604800
@       IN      SOA     gateway-node1. root.gateway-node1. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      gateway-node1.
@       IN      A       192.168.122.113
*       IN      CNAME   @

DNS サーバーを再起動して、サブドメインを使用してサーバーに ping し、ceph-radosgw デーモンがサブドメイン要求を処理できるようにします。

ping mybucket.{hostname}

以下に例を示します。

ping mybucket.gateway-node1

DNS サーバーがローカルマシンにある場合は、ローカルマシンのネームサーバーエントリーを追加して /etc/resolv.conf を変更しないといけない場合があります。

最後に、rgw_dns_name = {hostname} 設定を使用して、Ceph 設定ファイルの適切な [client.rgw.{instance}] セクションに DNS サーバーのホスト名またはアドレスを指定します。以下に例を示します。

[client.rgw.rgw1.rgw0]
...
rgw_dns_name = {hostname}
注記

ベストプラクティスとして、管理ノードや ceph-ansible などの一元的な場所で Ceph 設定ファイルを変更し、必要に応じて設定ファイルを再配布し、クラスター全体で一貫性を確保します。

最後に、Ceph オブジェクトゲートウェイを再起動して、DNS 設定を有効にします。