If you want the users of your API to access your portal using a custom domain, you need to configure the Cloud Endpoints Portal and the DNS settings in your domain name registrar. When you add a custom domain to your portal, the Endpoints Portal displays the type of DNS record and other information that you need to configure in your domain name registrar.
In this link, you can find detailed information about setting up a custom domain
One advantage of using an HTTP(S) load balancer is that it gives you more control around your custom domain setup. For example, it allows you to use your own TLS certificate rather than the certificate that is automatically supplied when you use Cloud Run domain mapping. Using the load balancer also lets you route specific URL paths to the Cloud Run service.
Instruction on How Mapping a custom domain to a service here
Regarding to your question about records, this document can be useful to clarify some doubts