Checkpoints
Configuring Service Directory
/ 50
Configuring a Service Directory DNS zone
/ 50
Service Directory: Qwik Start
GSP732
Overview
Service Directory helps reduce the complexity of management and operations by providing a single place to publish, discover, and connect services. It is a managed service that enhances service inventory management at scale so you don’t have to. Service Directory provides real-time service information, whether you have a few service endpoints or thousands. This helps ensure that your applications only resolve the most updated information of their resources, increasing the reachability of your services.
With Service Directory, you can easily understand all your services across multi-cloud environments. This includes workloads running in Compute Engine VMs, Google Kubernetes Engine (GKE), as well as external services running on-prem and third-party clouds. It improves application reachability by maintaining the endpoint information for all your services.
Service Directory solves the following problems:
-
Interoperability: Service Directory is a universal naming service that works across Google Cloud, multi-cloud, and on-premises. You can migrate services between these environments and still use the same service name to register and resolve endpoints.
-
Service management: Service Directory is a managed service. Your organization doesn't have to worry about the high availability, redundancy, scaling, or maintenance concerns of maintaining your own service registry.
-
Access Control: With Service Directory, you can control who can register and resolve your services using IAM. Assign Service Directory roles to teams, service accounts, and organizations.
-
Limitations of pure DNS: DNS resolvers can be unreliable in terms of respecting TTLs and caching, cannot handle larger record sizes, and do not offer an easy way to serve metadata to users. In addition to DNS support, Service Directory offers HTTP and gRPC APIs to query and resolve services.
What you'll learn
In this lab, you will:
- Configure Service Directory, with a namespace, service, and endpoint
- Configure a Service Directory DNS zone
- Use Cloud Logging with Service Directory
Setup and requirements
Before you click the Start Lab button
Read these instructions. Labs are timed and you cannot pause them. The timer, which starts when you click Start Lab, shows how long Google Cloud resources will be made available to you.
This hands-on lab lets you do the lab activities yourself in a real cloud environment, not in a simulation or demo environment. It does so by giving you new, temporary credentials that you use to sign in and access Google Cloud for the duration of the lab.
To complete this lab, you need:
- Access to a standard internet browser (Chrome browser recommended).
- Time to complete the lab---remember, once you start, you cannot pause a lab.
How to start your lab and sign in to the Google Cloud console
-
Click the Start Lab button. If you need to pay for the lab, a pop-up opens for you to select your payment method. On the left is the Lab Details panel with the following:
- The Open Google Cloud console button
- Time remaining
- The temporary credentials that you must use for this lab
- Other information, if needed, to step through this lab
-
Click Open Google Cloud console (or right-click and select Open Link in Incognito Window if you are running the Chrome browser).
The lab spins up resources, and then opens another tab that shows the Sign in page.
Tip: Arrange the tabs in separate windows, side-by-side.
Note: If you see the Choose an account dialog, click Use Another Account. -
If necessary, copy the Username below and paste it into the Sign in dialog.
{{{user_0.username | "Username"}}} You can also find the Username in the Lab Details panel.
-
Click Next.
-
Copy the Password below and paste it into the Welcome dialog.
{{{user_0.password | "Password"}}} You can also find the Password in the Lab Details panel.
-
Click Next.
Important: You must use the credentials the lab provides you. Do not use your Google Cloud account credentials. Note: Using your own Google Cloud account for this lab may incur extra charges. -
Click through the subsequent pages:
- Accept the terms and conditions.
- Do not add recovery options or two-factor authentication (because this is a temporary account).
- Do not sign up for free trials.
After a few moments, the Google Cloud console opens in this tab.
Task 1. Configuring Service Directory
This section shows how to set up a Service Directory namespace, add a service to the namespace, and add endpoints to a service.
-
In the Console, search for "network services", then select Service Directory.
-
Click Enable to enable the Service Directory API.
Configure a namespace
-
In the Service Directory page, click +REGISTER SERVICE.
-
On the Register service page select Standard for Service type.
-
Click Next.
-
In the Region pull-down menu, select a region for your namespace. For this lab, use
. -
In the Namespace field, select CREATE NAMESPACE.
-
In the Namespace name field give your namespace a name. For this lab, you can use
example-namespace
. -
Enter a Service name. For this lab use
example-service
. -
Click Create.
Configuring an endpoint
Once the service is registered, add some endpoints. An endpoint consists of a unique name and the optional fields of address, port, and key/value metadata. The address, if specified, must be valid IPv4 or IPv6.
-
In the Service Directory page, click on your namespace, then click the service you just created.
-
Click +Add Endpoint.
-
Provide an Endpoint name. For this example, you can use
example-endpoint
. -
Enter an IPv4 or IPv6 IP address. For this example, you can use
0.0.0.0
. -
Enter a Port number. For this example, you can use
80
. -
Click Create.
Click Check my progress to verify the objective.
Task 2. Configuring a Service Directory DNS zone
You can create a Service Directory zone that allows your Google Cloud-based services to query your Service Directory namespace via DNS.
-
From the Network Services menu, select Cloud DNS.
-
Click Create zone.
-
In the Zone type section, select Private.
-
Give the zone a name. For this example, you can use:
example-zone-name
. -
Give the zone a DNS name. For this example, you can use:
myzone.example.com
. -
Under Options, select
Use a service directory namespace
. -
Under Networks, select one or more networks that can use the Service Directory zone. You should use the
default
network here, then click OK. -
Select the Region where the namespace you want to link lives. Start typing
then select it. -
Select the Namespace you want to link. This should be the namespace you created earlier
example-namespace
. -
Click Create.
Click Check my progress to verify the objective.
Task 3. Securing Service Directory in a service perimeter
VPC Service Controls improves your ability to mitigate the risk of data exfiltration from Google Cloud services. With VPC Service Controls, you can configure security perimeters around the resources and data of services that you explicitly specify.
Task 4. Querying using DNS
This section covers DNS querying, but there are no tasks you need to complete.
DNS queries for the following record types are supported:
- A/AAAA/SRV records for a service or an endpoint
- SOA/NS records for the private zone origin
A/AAAA queries must observe the following format:
Optionally:
SRV queries must observe the following format:
Optionally:
Task 5. Logging and Monitoring
You can use Cloud Monitoring and Cloud Logging with Service Directory.
Logging
Service Directory produces audit logs that can be viewed through Logging.
Audit logs
Audit logs can help you answer the questions "Who did what, where, and when?". Service Directory writes two types of audit logs: admin activity and data access. Admin activity logs are always enabled and apply to the following Service Directory operations:
- CreateNamespace
- UpdateNamespace
- DeleteNamespace
- SetIamPolicy
All other Service Directory operations are considered data access logs and are not enabled by default. Data access logs are also subject to Logging pricing and quota, whereas neither applies to admin activity logs. To enable data access logging, see Configuring Data Access logs.
-
To see these logs in Logging, in the Cloud Console, search for "logging" then select Logging. You'll be on the Logs Explorer page.
-
From the Resource dropdown select
Service Directory Namespace
, then select your region and expand the log for the namespace you created earlier. -
Select
activity
from the Log name dropdown. You should see oneCreateNamespace
log. -
In the Cloud Console return to Network Services and select Service Directory.
-
For the namespace you created, click the three dots on the right side of the row. Click Delete, then Delete again.
-
Now go back to Logging and go to the Logs Explorer page.
-
You should now see a
DeleteNamespace
log.
Monitoring
Monitoring allows you to create dashboards or set up alerts and can be accessed by visiting Monitoring in Cloud Console.
To view basic monitoring metrics (request count, size and latency), you can go to the Metrics Explorer and filter by resource_type:consumed_api
and service:servicedirectory.googleapis.com
.
Congratulations!
In this lab, you set up a Service Directory namespace, added a service to the namespace, and added endpoints to a service. You then created a Service Directory zone that allows your Google Cloud-based services to query your Service Directory namespace via DNS. Finally, you viewed and created admin activity logs CreateNamespace
and DeleteNamespace
.
Next steps / Learn more
- Cisco on the Google Cloud Marketplace!
- Read through the Service Directory documentation.
- Get more acquainted with Service Directory concepts.
Google Cloud training and certification
...helps you make the most of Google Cloud technologies. Our classes include technical skills and best practices to help you get up to speed quickly and continue your learning journey. We offer fundamental to advanced level training, with on-demand, live, and virtual options to suit your busy schedule. Certifications help you validate and prove your skill and expertise in Google Cloud technologies.
Manual Last Updated October 05, 2023
Lab Last Tested October 05, 2023
Copyright 2024 Google LLC All rights reserved. Google and the Google logo are trademarks of Google LLC. All other company and product names may be trademarks of the respective companies with which they are associated.