我想利用 AWS CLI 为我的应用程序负载均衡器创建侦听器。
aws elbv2 create-listener \
--load-balancer-arn $ALB_ARN \
--protocol HTTPS \
--port 443 \
--default-actions "Type=forward,TargetGroupArn=$TG_ARN" \
--certificates CertificateArn=$CERT_ARN
我能够在端口 443 上创建一个侦听器以转发到目标组。 shell 变量表示应用程序负载均衡器 (ALB)、目标组 (TG) 和证书 (CERT) 的 arn。
如何向此命令添加现有用户池的 Cognito 身份验证? (修改现有侦听器或创建新侦听器都可以,但我需要通过 AWS CLI 来执行此操作)。
非常感谢!
您需要首先创建一个包含上述操作的
JSON
文件。以下是取自link的示例:
[{
"Type": "authenticate-cognito",
"AuthenticateCognitoConfig": {
"UserPoolArn": "arn:aws:cognito-idp:region-code:account-id:userpool/user-pool-id",
"UserPoolClientId": "abcdefghijklmnopqrstuvwxyz123456789",
"UserPoolDomain": "userPoolDomain1",
"SessionCookieName": "my-cookie",
"SessionTimeout": 3600,
"Scope": "email",
"AuthenticationRequestExtraParams": {
"display": "page",
"prompt": "login"
},
"OnUnauthenticatedRequest": "deny"
},
"Order": 1
},
{
"Type": "forward",
"TargetGroupArn": "arn:aws:elasticloadbalancing:region-code:account-id:targetgroup/target-group-name/target-group-id",
"Order": 2
}]
在此,您需要填写行
UserPoolArn
、UserPoolClientId
、UserPoolDomain
、TargetGroupArn
和可选的 SessionCookieName
以满足您的部署。全部填写完毕后,下面的 CLI 将使用身份验证配置创建一个新的 HTTPS 侦听器:
aws elbv2 create-listener \
--load-balancer-arn $ALB_ARN \
--protocol HTTPS \
--port 443 \
--certificates CertificateArn=$CERT_ARN \
--default-actions file://config.json
config.json
是带有设置的文件