このページでは、Cloud DNS の使用時に発生する可能性がある一般的なエラー メッセージ、メッセージの意味、推奨されるエラーの修正方法について説明します。
一般的なエラー
このセクションでは、一般的なエラーについて説明します。
alreadyExists
指定されたリソースはすでに存在します。複製を行うことはできません。
推奨される対応策: リソースの作成時に、適切な get/list
API を使用して、すでに存在しているリソースを検出します。
このエラーがレコードの追加で発生した場合は、個々のレコードがレコードセットして扱われています。つまり、複数のエントリがある場合、各エントリが別のレコードとして機能しています。同じドメイン ネーム システム(DNS)名のレコードセットに 2 つの値または文字列を追加する場合は、最初の値と 2 番目の値の間にスペースを追加します。
このエラーを解決する方法の詳細については、競合するレコードのエラーを修正するをご覧ください。
accessNotConfigured
アクセスが構成されていません。
このエラーを解決するには、プロジェクトに対して Cloud DNS API を有効にする必要があります。
inactiveBillingState
有効なお支払いが設定されていない間は、プロジェクト
example_project
はリクエストを受け入れることはできません。お支払い情報の更新には、数分かかることがあります。
推奨される対応策: プロジェクトに対する課金を有効にします。新しいプロジェクトで課金を有効にするか、既存のプロジェクトの課金を再度有効にするには、プロジェクトの課金を有効にするの手順に従ってください。
preconditionFailed
これは一般的なエラーで、リクエストに関する何かが、サーバー リソースの現在の状態に適合していないことを意味します。クライアントはなんらかの修正を行ってから、もう一度試す必要があります。これは、すでに存在している(同じ名前とタイプの)リソース レコードセットと一致しないリソース レコードセットの削除を試みる、create
変更リクエストを送信する場合に発生することがあります。
ゾーンの現在の状態を確認し、削除するものを決めます。最後に確認したときとは、状態が異なる可能性があります。
エラー メッセージには、リクエストの問題のある箇所へのパスが含まれています。たとえば、entity.change.deletions[6]
は、リクエストの POST 本文内の変更オブジェクトの deletions
配列内の 7 番目の要素を参照します。
推奨される対応策: 問題として報告されたリクエストの部分を修正します。
required
これは一般的なエラーで、リクエストの必要な部分が欠落していることを意味します。たとえば、マネージド ゾーンを作成するリクエストには、名前、DNS 名、説明が必要です。これらのフィールドのいずれかが存在しない場合、エラーが発生し、リクエストが失敗します。
推奨される対応策: 必要なパラメータを入力して、もう一度お試しください。
notFound
指定されたリソースが存在しません。
推奨される対応策: 既存のリソースの名前を使用していることを確認します。
quotaExceeded
行おうとしている変更により現在の割り当てを超過すると、このエラーが表示されます。割り当てがプロジェクトに関連付けられています。たとえば、各ゾーンで特定の数のリソース レコードセットのみを許可されている場合、割り当てを増やす必要がある場合は、Google Cloud のセールスチームまでお問い合わせください。新しいプロジェクトには、Cloud DNS リソースの割り当てと上限で指定されているデフォルトの割り当てが設定されます。DNS で制限される各種サイズについては、Projects.get
オペレーションをご覧ください。
推奨される対応策: プロジェクトをチェックして、そのリソースを使用している原因を確認します。Google Cloud コンソールでプロジェクトの [割り当て] ページから、プロジェクトの割り当ての増加をリクエストできます。また、割り当ての操作もご覧ください。
マネージド ゾーンに関連するエラー
このセクションでは、マネージド ゾーンに関連するエラーの一覧を示します。
invalidFieldValue
entity.managedZone.name
に無効な値。
マネージド ゾーン名が文字で始まっていない場合、文字または数字で終わっていない場合、小文字、数字、ダッシュ以外の文字が使われている場合には、マネージド ゾーンを作成するオペレーションが、このエラーで失敗する可能性があります。
managedZoneDnsNameNotAvailable
指定されたマネージド ゾーンは使用可能でないため、作成できません。
次の理由で、マネージド ゾーンを作成するオペレーションがこのエラーで失敗する場合があります。
- 指定されたゾーンの DNS 名が予約されている。例: ピリオド(
.
.)、.com
、.co.uk
など - ゾーンの DNS 名をホストするために利用可能なネームサーバーが他にない。Cloud DNS では、ネームサーバーのプールを使用しており、そのプールには限りがあります。どのネームサーバーでも、各 DNS クエリは 1 つのマネージド ゾーンに明確にマッピングする必要があります。詳しくは、ネームサーバーの上限をご覧ください。
推奨される対応策: 対象 DNS 名の登録オーナーの場合、ゾーンが重複していないかご確認ください。ドメインとそのサブドメイン向けに DNS をセットアップする場合、まず単一の親ゾーンを作成して、すべてのサブドメインのレコードをそのゾーンに追加する方法をおすすめします。
verifyManagedZoneDnsNameOwnership
example.com
ドメイン(または親)の所有権を確認してから、もう一度お試しください。
推奨される対応策: このエラーが表示された場合は、ドメインの所有権を確認してから、もう一度試す必要があります。
マネージド レコードに関連するエラー
このセクションのエラーは、レコードに関するものです。
containerNotEmpty
指定されたリソースは空ではないため、削除することはできません。
推奨される対応策: リソースを削除するには、最初にそのリソースを空にする必要があります。
invalidZoneApex
ゾーンには、apex で特定の型のリソース レコードセットが 1 つだけ含まれている必要があるため、指定したリソース レコードセットは無効です。
DNS における Apex
は、ゾーンで許可されているラベル数が最も少ない DNS 名を意味します。また、これはゾーン階層の最上位です。ゾーンの apex は、ManagedZone.dnsName
で表される DNS 名となります。
このエラーは、1 つのゾーンには apex で特定のタイプのリソース レコードセットが 1 つだけ含まれている必要があるという DNS ルールに違反する変更を試みたことを意味します。次の操作は、このエラーを引き起こす可能性があります。
- apex で必要な
NS
リソース レコードセットの削除を試みた場合。 - apex で必要な
SOA
リソース レコードセットの削除を試みた場合。 - apex 以外で
SOA
型のリソース レコードセットの作成を試みた場合。
推奨される対応策: このエラーが表示された場合は、DNS のルールで許可されていない操作を行おうとしています。リクエストに誤りがないか確認してください。必要なリソース レコードセットを削除する必要はありません。
invalidRecordCount
リソース レコードセット
entity.change.additions[XX]
は、<SOA_OR_CNAME>
タイプであるため、許可されるレコードは 1 つだけです。
DNS のルールでは、SOA
と CNAME
リソース レコードセットに含めることができるリソース レコードは 1 つのみと規定されています。これらのルールに違反する変更を作成しようとすると、このエラーが表示されます。次に例を示します。
{
kind: "dns#rrset"
name: "blog.foo.com.",
type: "CNAME",
rrdata: [ "www.foo.com.", "www2.foo.com." ],
...
}
推奨される対応: このエラーが表示された場合は、リクエストを確認してください。許可されていない操作を行おうとしています。
cnameResourceRecordSetConflict
DNS 名
example.com
は、1 つの CNAME リソース レコードセットまたは他のタイプのリソース レコードセットのいずれかしか持つことができないため、リソース レコードセットentity.change.additions[XX]
は無効です。
このエラーは、同じ DNS 名の A レコードと CNAME レコードなど、2 つのタイプのリソース レコードセットを作成すると発生します。このエラーが多く発生するのは、zone apex で CNAME レコードを作成しようとした場合です。同じ名前を持つ必須の SOA
レコードや NS
レコードと競合するため、このようなレコードを作成することはできません。
推奨される対応策: いずれかのレコードを選択します。
wildcardNotAllowed
指定されたリソース レコードセットは、ワイルドカードとして使えない型です。
DNS では、ワイルドカードは存在しないドメイン名のリクエストと一致するリソース レコードセットの特殊なタイプです。Cloud DNS の制限の 1 つとして、型 NS
のワイルドカード リソース レコードセットは作成できません。
推奨される対応策: ワイルドカード NS
リソース レコードセットは、現時点ではサポートされていません。Cloud DNS サポートにお問い合わせいただくか、cloud-dns-discuss に参加して、実現したい機能についてお知らせください。
recordTypeDisallowedAtZoneApex
指定したリソース レコードは、ゾーンの apex に必要な
SOA
レコードなど、他のレコードタイプと一緒には存在できません。
CNAME
リソース レコードを apex に配置することはできません。これは、ゾーン apex に必要な SOA
リソース レコードなど、他のリソース レコードタイプと一緒に存在できないためです。
推奨される対応: ALIAS
リソース レコードを使用します。ALIAS
リソース レコードは Cloud DNS カスタム レコードタイプであり、CNAME
リソース レコードと同様に動作しますが、ゾーン apex でのみ使用でき、アドレス レコード(A または AAAA)クエリにのみ応答します。詳細については、エイリアス レコードをご覧ください。
invalidValue
これは一般的なエラーで、サーバーの状態とは関係なく、リクエストに関する何かが無効であったことを意味します。エラー メッセージには、リクエストの問題のある箇所へのパスと、無効な値が含まれています。このエラーは、次のようなさまざまな理由により発生する可能性があります。
- 無効な名前でリソース レコードセットを指定した場合。たとえば、
foo...bar
は有効な DNS 名(空の中間ラベル)ではありません。 - 無効なタイプでリソース レコードセットを指定した場合。たとえば、A と CNAME は有効なタイプですが、XXXXXX は有効なタイプではありません。
- レコードが含まれていないリソース レコードセットを指定した場合。
- 無効なリソース レコードデータを指定した場合。たとえば、
1.1.1.1
はタイプ A の有効なリソース レコードデータですが、XXXXXX は、タイプ A の無効なリソース レコードデータです。 - 無効な TTL でリソース レコードセットを指定した場合。TTL は正の整数である必要があります。
- 長すぎるリソース名を指定した場合。
推奨される対応策: リクエストを修正します。
次のステップ
- 機能の詳細については、Cloud DNS の概要をご覧ください。
- Cloud DNS の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。
- その他のサポートについては、サポートをご覧ください。