小编Mil*_*erC的帖子

将 S3 静态站点与应用程序负载均衡器结合使用

我有一个 ALB,它当前将流量路由到多个 url。如果我们需要执行维护,我希望能够将流量路由到静态 S3 站点。然后我们将显示一个静态的“维护”页面而不是我们的登录页面。

我创建了一个 CloudFront 分配,允许使用 SSL 证书加载 S3 站点,但我不确定如何连接该分配以将所有流量发送到 S3 维护站点。

这是我正在使用的 Terraform ALB 侦听器。我可以指定我的CloudFront的分布arntarget_group并将它路由所有流量的静态网站?

或者我可以简单地将我的 S3arn与允许 ALB 访问以获取存储桶对象的 S3 策略链接起来吗?

resource "aws_alb_listener" "ssl_alb_httpslistener" {
   load_balancer_arn = "${aws_alb.alb_lis.arn}"
   port = "443"
   protocol = "HTTPS"
   ssl_policy = "Sec-TLS"
   certificate_arn = "${var.ssl_cert_arn}"

    default_action {
     target_group_arn = "${data.terraform_remote_state.php.target_arn}"
     type = "forward"
   }
}
Run Code Online (Sandbox Code Playgroud)

我希望我可以将通过 ALB 的流量从target_group. 好奇这是否是解决此问题的最佳方法。

load-balancing amazon-s3 static-site terraform terraform-provider-aws

10
推荐指数
1
解决办法
2万
查看次数

AWS Systems Manager - 会话管理器和运行命令“文档处理意外失败”

我正在使用会话管理器/运行命令来访问我的一些实例,它适用于某些实例,但不适用于其他实例。

我对一些实例具有相同的配置、相同的安全组、IAM 角色、使用相同代理版本安装的代理,并且我已使用以下内容通过 AWS CLI 验证了这些实例:

aws ssm describe-instance-information \
--instance-information-filter-list key=InstanceIds,valueSet=instance-id
Run Code Online (Sandbox Code Playgroud)

我可以启动会话,它会打开终端视图,并在延迟后向我发送此错误或黑屏,

Your session has been terminated for the following reasons: 
document process failed unexpectedly: document worker timed out, 
check [ssm-document-worker]/[ssm-session-worker] log for the crash reason
Run Code Online (Sandbox Code Playgroud)

我尝试过更新代理版本、通过 CLI 验证代理是否已安装并处于活动状态、三重检查安全组、IAM 角色和差异,但遇到了困难。

这是其他人看到的 AWS 错误还是我的配置中遗漏了某些内容?我可能遗漏了一些东西,但我所看到的所有内容都显示了两个具有相同属性的实例,其中一个实例适用于 SSM 会话管理器,而另一个实例则不适用。

amazon-ec2 amazon-web-services aws-ssm aws-session-manager

6
推荐指数
1
解决办法
1万
查看次数

AWS QuickSight 嵌入 CLI 错误 - aws:错误:参数命令:选择无效,有效选择是:

我正在尝试嵌入 QuickSight 仪表板并按照当前步骤进行操作。

https://aws.amazon.com/blogs/big-data/embed-interactive-dashboards-in-your-application-with-amazon-quicksight/

我已处于第 3 步并且能够承担该角色,并且,

export AWS_ACCESS_KEY_ID="access_key_from_assume_role"
export AWS_SECRET_ACCESS_KEY="secret_key_from_assume_role "
export AWS_SESSION_TOKEN="session_token_from_assume_role"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试执行下一部分中调用“aws Quicksight ...”的下一步时,我收到以下错误,

aws:错误:参数命令:选择无效,有效选择是:

我已经安装了 pip 并确保命令行文本与正确的详细信息匹配。

有没有人经历过这种情况,或者知道为什么 aws Quicksight 命令无法在 CLI 中工作?

embedding amazon-web-services aws-sdk amazon-quicksight

3
推荐指数
1
解决办法
7472
查看次数

Terraform for_each 变量用于创建多个 AWS 侦听器规则并设置唯一的 target_group_arn

我正在尝试使用 terraform 制定 aws 容器设置,使用 terraforms for_each 选项根据特定端口将流量从 ALB 路由到目标组。我有一个 for_each 设置,它根据我的变量创建我期望的侦听器规则

variable "tenant_data" {
  type = "map"
  default = {
    tenant1 = {
      port              = 32768
      listener_priority = 986
      tenantName        = "tenant1"
    }
    tenant2 = {
      port              = 32769
      listener_priority = 987
      tenantName        = "tenant2"
    }
    tenant3 = {
      port              = 32770
      listener_priority = 988
      tenantName        = "tenant3"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否可以让 for_each 资源使用target_group_arn侦听器规则中的唯一属性,该规则将由我正在使用的目标组的类似 for_each 设置创建。我也不确定这是否是实现这一目标的最佳方式。我可以创建每个资源,但最终我将查看大约 30 个独立的侦听器和目标组,因此我想看看是否可以找到一种方法来利用单个变量来处理资源创建。

resource "aws_alb_listener_rule" "java_dev" {
  for_each     = var.tenant_data
  listener_arn = …
Run Code Online (Sandbox Code Playgroud)

variables resources amazon-web-services amazon-elastic-beanstalk terraform

2
推荐指数
1
解决办法
4384
查看次数

ElasticBeanstalk 在与 Terraform 共享的 ALB 中使用 HTTPS:443 而不是 HTTP:80 创建默认侦听器规则

在 terraform 中创建具有共享负载均衡的 ElasticBeanstalk 环境时,是否可以将默认侦听器规则设置为使用 HTTPS:443 侦听器而不是 HTTP:80 侦听器?

我的 ALB 将端口 80 作为侦听器,将流量从 http 重定向到 https。现在,当 beanstalk 创建环境时,它会在 HTTP:80 侦听器中创建侦听器规则,但我不希望它这样做。在控制台中,我可以创建一个具有共享 ALB 的环境,并选择默认侦听器端口为 443(HTTPS),并将在 443 侦听器中创建默认规则,这正是我想要发生的情况。

我正在使用 terraform 构建此项目,并且在 ElasticBeanstalk常规选项的常规选项中,我没有看到将默认侦听器规则设置为使用 HTTPS:443 作为 elbv2 设置的选项。

amazon-web-services amazon-elastic-beanstalk terraform aws-application-load-balancer

0
推荐指数
1
解决办法
2085
查看次数