diff --git a/ansible/roles/cinder/templates/cinder.conf.j2 b/ansible/roles/cinder/templates/cinder.conf.j2
index 914e8b2dfd10ea17f4b28036f365857cbc27afca..a7ebf2c099a6c90ad7db063bd1bbbcd959e5c05a 100644
--- a/ansible/roles/cinder/templates/cinder.conf.j2
+++ b/ansible/roles/cinder/templates/cinder.conf.j2
@@ -241,5 +241,5 @@ backend_url = {{ redis_connection_string }}
 # NOTE(yoctozepto): we must use etcd3gw (aka etcd3+http) due to issues with alternative (etcd3) and eventlet (as used by cinder)
 # see https://bugs.launchpad.net/kolla-ansible/+bug/1854932
 # and https://review.opendev.org/466098 for details
-backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ etcd_client_port }}
+backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ etcd_client_port }}{% if openstack_cacert %}?ca_cert={{ openstack_cacert }}{% endif %}
 {% endif %}
diff --git a/ansible/roles/ironic/templates/ironic-inspector.conf.j2 b/ansible/roles/ironic/templates/ironic-inspector.conf.j2
index 51a34c2a51741eb3551d954cfd531d8b20aac09f..d0fe3a3bf02de6b2747ebfc7c79f3f1754243c46 100644
--- a/ansible/roles/ironic/templates/ironic-inspector.conf.j2
+++ b/ansible/roles/ironic/templates/ironic-inspector.conf.j2
@@ -86,5 +86,5 @@ backend_url = {{ redis_connection_string }}
 # NOTE(yoctozepto): we must use etcd3gw (aka etcd3+http) due to issues with alternative (etcd3) and eventlet (as used by cinder)
 # see https://bugs.launchpad.net/kolla-ansible/+bug/1854932
 # and https://review.opendev.org/466098 for details
-backend_url = etcd3+{{ internal_protocol }}://{{  kolla_internal_vip_address }}:{{ etcd_client_port }}
+backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ etcd_client_port }}{% if openstack_cacert %}?ca_cert={{ openstack_cacert }}{% endif %}
 {% endif %}
diff --git a/releasenotes/notes/fix-etcd-coordination-config-b1c9f900ef13be13.yaml b/releasenotes/notes/fix-etcd-coordination-config-b1c9f900ef13be13.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ec8c3dcb9440bb029ebdc2ae3a4d502347742ad8
--- /dev/null
+++ b/releasenotes/notes/fix-etcd-coordination-config-b1c9f900ef13be13.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+  - |
+    Set the etcd internal hostname and cacert for tls internal enabled
+    deployments. This allows services to work with etcd when
+    coordination is enabled for TLS interal deployments. Without this
+    fix, the coordination backend fails to connect to etcd and the
+    service itself crashes.