2022/2/13 時点のコンソールで操作した場合の情報です。今後仕様が変わる可能性がありますのでご注意ください。
事象
新しい UI の VPC コンソールでその他のエンドポイントサービス用の VPC エンドポイントを作成しようとすると、以下のようなエラーが発生する。
Private DNS can only be enabled after the endpoint connection is accepted by the owner of com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxxxxxxxxxx
原因と対応
新しい UI の場合、追加設定の「DNS 名を有効化」にデフォルトでチェックが入っているため。
接続先の VPC エンドポイントサービスが以下のいずれかに当てはまる場合、このチェックを外してエンドポイントを作成する必要がある。
- VPC エンドポイントサービス側でプライベート DNS 名を有効にしていない
- VPC エンドポイントサービス側でプライベート DNS 名を有効化し、エンドポイント承諾設定を有効にしている
補足
前述の条件にあてはまる場合に DNS 名を有効化のチェックを外さなければいけない理由を補足します。
VPC エンドポイントサービス側でプライベート DNS 名を有効にしていない場合、当然ながらエンドポイント側でも有効にすることはできません。参考までに旧 UI では「サービスでサポートされていません」と表示されます。
VPC エンドポイントサービス側でプライベート DNS 名を有効化し、エンドポイント承諾設定を有効にしている場合は、エンドポイント接続リクエストが承諾されるまでエンドポイント側でプライベート DNS 名を有効にすることはできません。つまりエンドポイント作成時には有効化できません。参考までに旧 UI では以下のように表示されます。
上記のように旧 UI ではいずれの場合もプライベート DNS 名が無効の状態でエンドポイントが作成されていたため、ユーザー側で設定値を意識する必要はありませんでした。しかし新しい UI ではデフォルトで DNS 名を有効化にチェックが入ってしまっているので注意する必要があります。
ちなみに接続先が以下の条件を満たす VPC エンドポイントサービスである場合のみ、「DNS 名を有効化」にチェックをいれた状態でエンドポイントを作成できます。
- VPC エンドポイントサービス側でプライベート DNS 名を有効化し、エンドポイント承諾設定を無効にしている
参考までに 旧 UI では以下のように表示されます。
ただしこの条件に当てはまるケースの方が少ないのではないかと思います。個人的にはその他のエンドポイントサービスを選択した場合は、DNS 名を有効化のチェックはデフォルトでは外れているとありがたいかなと感じました。
またチェックボックスが追加設定として隠れている状態のため、最初はエラーの原因に気づくことができませんでした。
同じようにハマってしまった方に参考になれば幸いです。