天道酬勤,学无止境

amazon-web-services

How to Set an existing ECS cluster to a compute environment in AWS Batch

问题 我在我的环境中运行了一个ECS cluster ,它配置了任务、存储库和服务以及自动缩放。 我正在发现AWS Batch服务,当我创建一个新的compute environment时,一个新的集群被添加到ECS服务中。 我想知道如何为我现有的集群设置compute environment ? 回答1 我知道这是一个很老的问题,而且情况并不完全相同,但我正在努力解决类似的问题,所以它可能对某人有帮助。 在我的情况下,Batch 覆盖了我的ECS_DISABLE_IMAGE_CLEANUP设置,导致我特殊的专用超高优先级作业队列(及其计算环境)丢失其图像,当它们必须再次被拉出时会导致令人讨厌的延迟。 为了解决这个问题,我必须创建一个启动模板(在 EC2 控制台中),将所有内容设置为“不要更改”,以及一些额外的“用户数据”(在高级部分的末尾): MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo ECS_DISABLE_IMAGE_CLEANUP=true>>/etc/ecs/ecs.config --=

2022-07-11 10:01:38    分类:技术分享    amazon-web-services   cluster-computing   solution   amazon-ecs

Using Amazon AWS Cognito `.well-known/jwks.json` data fails to base64 decode some fields

问题 使用 Amazon AWS Cognito Federated Identities并在以下位置解析数据时: https://cognito-identity.amazonaws.com/.well-known/jwks_uri看起来像: {"keys":[ {"kty":"RSA", "alg":"RS512", "use":"sig", "kid":"ap-northeast-11", "n":"AI7mc1assO5n6yB4b7jPCFgVLYPSnwt4qp2BhJVAmlXRntRZ5w4910oKNZDOr4fe/BWOI2Z7upUTE/ICXdqirEkjiPbBN/duVy5YcHsQ5+GrxQ/UbytNVN/NsFhdG8W31lsE4dnrGds5cSshLaohyU/aChgaIMbmtU0NSWQ+jwrW8q1PTvnThVQbpte59a0dAwLeOCfrx6kVvs0Y7fX7NXBbFxe8yL+JR3SMJvxBFuYC+/om5EIRIlRexjWpNu7gJnaFFwbxCBNwFHahcg5gdtSkCHJy8Gj78rsgrkEbgoHk29pk8jUzo/O/GuSDGw8qXb6w0R1+UsXPYACOXM8C8+E=", "e":"AQAB"}, ... } 使用此代码( Kotlin 调用 JDK 8 Base64

2022-07-11 09:52:48    分类:技术分享    java   amazon-web-services   kotlin   amazon-cognito

How to query items from AWS S3 by date created

问题 我想按添加到 S3 的日期/时间从存储桶中特定子目录中的 S3 查询项目。 我还没有找到任何明确的文档,所以我想知道它是如何实现的? 我要执行的查询类型如下所示... 返回目录images/user1/下 S3 存储桶images中最近创建的文件的 URL 返回目录images/user1下 S3 存储桶images中日期时间X和日期时间Y之间创建的所有项目的 URL 回答1 S3 可以list存储桶中的所有对象,或带有前缀(例如“目录”)的所有对象。 然而,这不是一个便宜的操作,它肯定不是为每个请求都设计的。 一般来说,数据库层最好为此提供服务。 它可以是轻量级和快速的(如 redis),但您应该知道您拥有哪些对象以及给定请求需要哪些对象。 您可以通过复制对象两次来作弊,例如images/latest.jpg或images/user1/latest.jpg 。 但在“日期查询”示例中,您当然应该在 S3 外部执行此操作。 回答2 2019 年 3 月 19 日更新 显然 s3api 允许你很容易地做到这一点 一种解决方案可能是使用s3api 。 如果您的对象少于 1000 个,它很容易工作,否则您需要使用分页。 s3api可以列出所有对象,并具有用于 s3 中导入的键的lastmodified属性的属性。 然后可以对其进行排序,查找日期之后或之前的文件,匹配日期

2022-07-11 09:44:52    分类:技术分享    javascript   amazon-web-services   amazon-s3   aws-sdk

IAM Database Authentication - How to use CLI generated Token

问题 我正在关注 http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html 以便从 EC2 到 RDS 进行身份验证。 我能够运行generate-db-auth-token命令来检索令牌,但我不确定在那之后如何处理它(指令莫名其妙地结束了)。 我试过简单地将反刍字符串(以及返回字段的逻辑子字符串)作为 mysql 客户端连接的密码传递,但这似乎不起作用.. 返回的令牌格式如下: {instance identifier}.{region}.rds.amazonaws.com:3306/?Action=connect&DBUser={auth db username}&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-Date=20170622T221608Z&X-Amz-SignedHeaders=host&X-Amz-Security-Token={super long, web-escaped string containing special characters}&X-Amz-Credential={some shorter, web-escaped string containing special

2022-05-17 05:32:03    分类:技术分享    mysql   amazon-web-services   amazon-ec2   amazon-rds   amazon-iam

Getting response from AWS Lambda function to AWS Lex bot is giving error?

问题 我创建了一个AWS Lex机器人,我正在从该机器人调用一个lambda函数。 在测试lambda函数时,我得到了正确的响应,但在 bot 我得到了以下错误: 发生错误:收到来自 Lambda 的无效响应:无法构造 IntentResponse 的实例:没有字符串参数构造函数/工厂方法从字符串值('2017-06-22 10:23:55.0')反序列化 [来源:“ 2017-06-22 10:23:55.0"; 行:1,列:1] 不知道,出了什么问题,我在哪里失踪。 有人可以帮助我吗? 回答1 上述问题的解决方案是,我们需要确保 lambda 函数返回的响应,用于 AWS lex 聊天机器人应采用以下格式: { "sessionAttributes": { "key1": "value1", "key2": "value2" ... }, "dialogAction": { "type": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close", Full structure based on the type field. See below for details. } } 这样,聊天机器人需要 DialogAction 和相应的元素来处理消息,即 IntentResponse。 参考:http:/

2022-05-17 05:28:03    分类:技术分享    amazon-web-services   aws-lambda   amazon-lex

Programmatic way to get a list of available AWS products?

问题 似乎有大约一百种 AWS 产品可用。 获得它们的权威列表的唯一方法是在网上查看。 是否有任何 API 可以为我提供所有当前可用的 AWS 产品的列表,最好是每个产品的一些元数据(产品标题、描述、可用的区域和边缘位置等)? 回答1 >>> import boto3 >>> session = boto3.Session() >>> session.get_available_services() ['acm', 'apigateway', 'application-autoscaling', 'appstream', 'autoscaling', 'batch', 'budgets', 'clouddirectory', 'cloudformation', 'cloudfront', 'cloudhsm', 'cloudsearch', 'cloudsearchdomain', 'cloudtrail', 'cloudwatch', 'codebuild', 'codecommit', 'codedeploy', 'codepipeline', 'cognito-identity', 'cognito-idp', 'cognito-sync', 'config', 'cur', 'datapipeline', 'devicefarm', 'directconnect',

2022-05-17 05:22:07    分类:技术分享    amazon-web-services   boto3

How to set cache control in aws s3 object while uploading in java?

问题 我尝试了以下选项,但它们都不起作用 metadata.setCacheControl("max-age=604800, must-revalidate"); metadata.addUserMetadata("x-amz-meta-Cache-Control", "max-age=31536000, must-revalidate"); metadata.setHeader("x-amz-meta-Cache-Control", "max-age=31536000, must-revalidate"); metadata.addUserMetadata("Cache-Control", "max-age=31536000, must-revalidate"); 请帮我解决这个问题... 回答1 第一个是正确的方法,我做错的是,通过 PutObjectRequest 而不是 TransferManager 上传方法传递元数据。 需要在 TransferManager 上传方法中传递元数据。 metadata.setCacheControl("max-age=604800, must-revalidate"); 不正确: ObjectMetadata metadata = new ObjectMetadata(); PutObjectRequest

2022-05-17 05:00:26    分类:技术分享    java   amazon-web-services   image-uploading

copy data from s3 to local with prefix

问题 我正在尝试使用 aws-cli 将数据从 s3 复制到带有前缀的本地。 但是我在使用不同的正则表达式时遇到了错误。 aws s3 cp s3://my-bucket-name/RAW_TIMESTAMP_0506* . --profile prod 错误: 未找到匹配项:s3://my-bucket-name/RAW_TIMESTAMP_0506* 回答1 aws s3 cp s3://my-bucket/ <local directory path> --recursive --exclude "*" --include "<prefix>*" 回答2 以上无法正常工作的答案......例如,我在一个目录中有数千个文件,我希望只检索需要的文件..所以我尝试了每个文档的正确版本: aws s3 cp s3://mybucket/sub /my/local/ --recursive --exclude "*" --include "20170906*.png" 它没有下载前缀文件,而是开始下载所有内容 所以我尝试了上面的示例: aws s3 cp s3://mybucket/sub/ . /my/local --recursive --include "20170906*" 它还下载了所有内容...这似乎是aws cli的一个持续问题,他们无意修复它

2022-05-17 04:45:04    分类:技术分享    amazon-web-services   amazon-s3   aws-cli

Can Windows Server 2016 EC2 mount EFS?

问题 回答1 Amazon 现在支持完全托管的本机 Microsoft Windows 文件系统,请查看 Amazon FSx for Windows File Server https://aws.amazon.com/fsx/windows/ 回答2 是的,他们可以,但这是一些工作。 亚马逊明确声明不支持 EFS + Windows。 但这并不意味着不可能。 CITI @ University of Michigan 几年前为 Windows 制作了 NFSv4.1 客户端。 要将其与 AWS EFS 一起使用,您必须注释掉一个定义,以便它始终使用OPEN4_SHARE_DENY_NONE作为共享拒绝值——AWS 在其不支持的功能页面中明确声明不允许任何其他值。 然后编译,签名和安装。 这不是一个简单的过程,但它是可行的。 我在 EC2 上运行 EFS + Windows Server 2012 R2。 类似问题的答案中的更多详细信息:https://stackoverflow.com/a/46625030/137641 回答3 不能。Windows 服务器目前(截至 2017 年 6 月)无法装载 Amazon EFS 卷。 (我不知道它将来是否可用,但我插入了日期,因为它可能会在将来推出。) 回答4 我使用 Samba 从 Linux 提供 Windows 共享,反之亦然。

2022-05-17 03:34:04    分类:技术分享    amazon-web-services   windows-server-2016

How to connect to an RDS database from Yii2?

问题 我已经在 AWS Elastic Beanstalk 上部署了一个基于 Yii2 的应用程序,我还在 Elastic Beanstalk 上创建了带有数据库(它已经有表)的 RDS 实例。 但是我收到了这个错误:“SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known” 所有文件都正确上传到 AWS 实例。 文件 /common/config/main-local.php 有: 'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=', 'dsn' => 'mysql:host=RDS_HOSTNAME:RDS_PORT;dbname=RDS_DB_NAME', 'username' => 'RDS_USERNAME', 'password' => 'RDS_PASSWORD', 'charset' => 'utf8', ], 有什么问题? 谢谢。 回答1 我猜你想通过环境变量传递数据库信息。 您可能想尝试修改代码如下。 'components' => [ 'db' => [ 'class' => 'yii\db\Connection'

2022-05-17 03:31:19    分类:技术分享    amazon-web-services   yii2   amazon-elastic-beanstalk   RDS