Попробуйте использовать UNION ALL .
SELECT ID, a, 'a'
FROM tbl
WHERE ID = 1
UNION
SELECT ID, b, 'b'
FROM tbl
WHERE ID = 2
Вы, вероятно, не хотите, чтобы CFN раскрывал ваш секрет в пользовательских данных, поскольку пароль был бы встроен в скрипт пользовательских данных в кодировке base64, который отображается в консоли EC2.
Вместо этого вам следует воспользоваться тем, что у вас есть сценарий, который выполняется на хосте и диспетчере секретов вызовов во время выполнения сценария (предупреждение, не проверено):
Resources:
ReadOnlyUserCredentials:
Type: AWS::SecretsManager::Secret
Properties:
Name: !Sub "${AWS::StackName}/readonly-user-credentials"
GenerateSecretString:
SecretStringTemplate: '{"username": "read_only_user"}'
GenerateStringKey: 'password'
PasswordLength: 16
ExcludeCharacters: '"@/\'
WebServer:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-a4c7edb2
InstanceType: t2.micro
UserData:
Fn::Base64: !Sub |
#!/bin/bash
yum update -y
yum install -y jq
aws --region ${AWS::Region} secretsmanager get-secret-value --secret-id !Ref ReadOnlyUserCredentials --query SecretString --output text | jq -r .password > password