Google Cloud Professional Cloud Developer — Question 81
You want to create `fully baked` or `golden` Compute Engine images for your application. You need to bootstrap your application to connect to the appropriate database according to the environment the application is running on (test, staging, production). What should you do?
Answer options
- A. Embed the appropriate database connection string in the image. Create a different image for each environment.
- B. When creating the Compute Engine instance, add a tag with the name of the database to be connected. In your application, query the Compute Engine API to pull the tags for the current instance, and use the tag to construct the appropriate database connection string.
- C. When creating the Compute Engine instance, create a metadata item with a key of ג€DATABASEג€ and a value for the appropriate database connection string. In your application, read the ג€DATABASEג€ environment variable, and use the value to connect to the appropriate database.
- D. When creating the Compute Engine instance, create a metadata item with a key of ג€DATABASEג€ and a value for the appropriate database connection string. In your application, query the metadata server for the ג€DATABASEג€ value, and use the value to connect to the appropriate database.
Correct answer: D
Explanation
Option D is correct because it allows the application to dynamically retrieve the database connection string from the metadata server, which is suitable for different environments without needing separate images. Option A is inefficient as it requires multiple images for each environment. Option B does not leverage the metadata server, making it less flexible. Option C relies on environment variables, which can be less secure and harder to manage than directly querying the metadata server.