The AWS CLI supports using any of multiple named profiles that are stored in the config and credentials files. You can configure additional profiles by using aws configure with the --profile option, or by adding entries to the config and credentials files.
The following example shows a credentials file with two profiles. The first is used when you run a CLI command with no profile. The second is used when you run a CLI command with the --profile user1 parameter.
Each profile uses different credentials—perhaps from different IAM users—and can also specify different AWS Regions and output formats.
The credentials file uses a different naming format than the CLI config file for named profiles. Include the prefix "profile" only when configuring a named profile in the config file. Do not use profile when configuring the credentials file.
To use a named profile, add the --profile profile-name option to your command. The following example lists all of your Amazon EC2 instances using the user1 profile from the previous example files.
To use a named profile for multiple commands, you can avoid specifying the profile in every command by setting the AWS_DEFAULT_PROFILE environment variable at the command line.
Setting the environment variable changes the default profile until the end of your shell session, or until you set the variable to a different value. You can make environment variables persistent across future sessions by putting them in your shell's startup script. For more information, see Environment Variables.
Using set to set an environment variable changes the value used until the end of the current command prompt session, or until you set the variable to a different value. Using setx to set an environment variable changes the value used in both the current command shell and all command shells that you create after running the command. It does not affect other command shells that are already running at the time you run the command.