Which solution meets these requirements with the LEAST operational effort?
Create a database user with a user name and password. Add parameters for the database user name and password to the CloudFormation template. Pass the parameters to the EC2 instances when the instances are launched.
Create a database user with a user name and password. Store the user name and password in AWS Systems Manager Parameter Store. Configure the EC2 instances to retrieve the database credentials from Parameter Store.
Configure the DB cluster to use IAM database authentication. Create a database user to use with IAM authentication. Associate a role with the EC2 instances to allow applications on the instances to access the database.
Configure the DB cluster to use IAM database authentication with an IAM user. Create a database user that has a name that matches the IAM user. Associate the IAM user with the EC2 instances to allow applications on the instances to access the database.
Explanations:
This option requires the management of static database credentials (username and password) in the CloudFormation template, which does not meet the requirement to avoid maintaining static credentials.
While this option utilizes AWS Systems Manager Parameter Store to securely store credentials, it still requires management of static credentials (username and password) and does not fully automate the authentication process.
This option leverages IAM database authentication, allowing EC2 instances to connect to the Aurora database without managing static credentials. By associating a role with the EC2 instances, it simplifies and automates the authentication process, minimizing operational effort.
This option also relies on static credentials (username and password), as it requires the creation of a database user that matches the IAM user. It does not provide a fully automated solution for authentication, thus not meeting the requirement.