小编Joh*_*ein的帖子

有没有人想出如何扩展亚马逊RDS阅读副本?

我最近设置了一个只读副本,以便从我的Amazon多可用区RDS实例中获取一些读取负载.亚马逊文档明确指出,"由您的应用程序决定如何在您的只读副本中分配读取流量".

有没有人想出一种可管理的方式来扩展只读副本?将我的应用程序的不同部分硬编码为从特定副本读取,似乎不是一个非常可扩展的解决方案.有没有办法设置它类似于将EC2实例放在负载均衡器后面?

mysql replication amazon-web-services amazon-rds

16
推荐指数
2
解决办法
8554
查看次数

AWS API通过ARN获取任何资源

我有一堆AWS资源ARN.我可以轻松地在ARN的命名空间上编写switch/case语句,并describeXYZ在正确的AWS API类上调用适当的方法来获取资源详细信息.但有没有办法获取任意ARN并获得它的描述?有点像aws.describeResource({arn:myArn}, callback)

amazon-web-services aws-sdk

16
推荐指数
1
解决办法
1602
查看次数

Amazon S3文件权限,从其他帐户复制时拒绝访问

我有一组视频文件从一个AWS Bucket从另一个帐户复制到我自己的存储桶中的帐户.

我现在遇到的问题是,当我尝试将所有文​​件公开时,我收到了拒绝访问错误的所有文件.

具体来说,我登录到我的AWS账户,进入S3,深入查看文件夹结构,找到其中一个视频文件.

当我查看此特定文件时,文件上的权限选项卡不会显示分配给任何人的任何权限.未分配任何用户,组或系统权限.

在权限选项卡的底部,我看到一个小框,显示"错误:访问被拒绝".我无法改变文件的任何内容.我无法添加元数据.我无法将用户添加到该文件中.我无法将文件设为Public.

有没有办法让我可以控制这些文件,以便我可以公开它们?有超过15,000个文件/大约60GB的文件.我想避免下载和重新上传所有文件.

在这里的一些帮助和建议下,我尝试了以下内容.我在我的桶中创建了一个名为"media"的新文件夹.

我试过这个命令:

aws s3 cp s3://mybucket/2014/09/17/thumb.jpg s3://mybucket/media --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=my_aws_account_email_address
Run Code Online (Sandbox Code Playgroud)

调用HeadObject操作时收到致命错误403:禁止.

file-permissions amazon-s3 amazon-web-services

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

AWS:身份池配置无效.检查此池的已分配IAM角色

我创建了一个用户池和标识池.

我用过javascript sdk.

我可以使用javascript sdk注册,发送确认码并确认用户成功.

但是,当我尝试使用身份验证方法登录用户并尝试使用下面的代码传递idToken时,使用"CognitoIdentityCredentials"获取凭据

logins[cognitoEndpoint + "/" + userPoolId] = jwtToken;

    AWS.config.credentials = new AWS.CognitoIdentityCredentials({
      IdentityPoolId: identityPoolId,
      Logins: logins
    });
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误

Error: Invalid identity pool configuration. Check assigned IAM roles for this pool.
    at Request.extractError (aws-sdk.js:104063)
    at Request.callListeners (aws-sdk.js:106060)
    at Request.emit (aws-sdk.js:106034)
    at Request.emit (aws-sdk.js:105121)
    at Request.transition (aws-sdk.js:104843)
    at AcceptorStateMachine.runTo (aws-sdk.js:108480)
    at aws-sdk.js:108492
    at Request.<anonymous> (aws-sdk.js:104859)
    at Request.<anonymous> (aws-sdk.js:105123)
    at Request.callListeners (aws-sdk.js:106070)
Run Code Online (Sandbox Code Playgroud)

我已授予管理员访问身份池的"未经身份验证的角色"和"未经身份验证的角色"以及我正在使用其凭据的用户的权限.

我是新来的.谁能告诉我我错过了什么?

任何帮助,将不胜感激.

javascript amazon-web-services angularjs amazon-cognito aws-sdk

16
推荐指数
1
解决办法
6746
查看次数

我可以自动将换行添加到AWS Firehose记录吗?

我正在尝试使用以下设置配置Kinesis Analytics应用程序:

  • 输入流是Kinesis Firehose,它采用字符串化的JSON值
  • SQL是一个简单的直通(以后需要更复杂但是为了测试,它只是通过发送数据)
  • 输出流是第二个Kinesis Firehose,它将记录传送到S3存储桶

接下来,我将使用Hive + JSONSERDE导入S3存储桶的内容,希望每个JSON记录都在自己的生产线上.Firehose输出只会附加所有打破JSONSERDE的JSON记录.

可以将AWS Lambda数据格式化程序附加到输出流,但这看起来很昂贵.我想要的是使用换行符分割每条记录.

如果我没有使用Google Analytics应用程序,我会将换行符附加到每个Firehose记录中.在应用程序的SQL中没有办法做到这一点似乎很奇怪:

CREATE OR REPLACE STREAM "STREAM_OUT" (
  a VARCHAR(4),
  b VARCHAR(4),
  c VARCHAR(4)
);
CREATE OR REPLACE PUMP "STREAM_PUMP" AS
  INSERT INTO "STREAM_OUT"
    SELECT STREAM
      "a",
      "b",
      "c"
    FROM "SOURCE_SQL_STREAM_001";
Run Code Online (Sandbox Code Playgroud)

是添加Lambda数据格式化程序的最佳答案吗?我真的很想避免这种情况.

amazon-kinesis amazon-kinesis-firehose

16
推荐指数
2
解决办法
4812
查看次数

Amazon S3 生命周期规则何时执行?

我已将 Amazon S3 存储桶(只是一些特殊的存储桶)配置为每 1 天运行一次生命周期规则,以将存储桶对象移至 Glacier。

我已经多次检查过存储桶,但没有看到它被执行。我提到的文档是对象生命周期管理 - Amazon Simple Storage Service

但是,我找不到任何地方可以显示执行时间。

另请阅读使用 Amazon S3 存储桶 - Amazon Simple Storage Service

任何想法都非常感激。

amazon-s3 amazon-web-services

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

AWS Trust Policy已禁止字段Principal

我正在尝试创建IAM角色并根据使用AWS CLI将AWS IAM角色附加到现有Amazon EC2实例将其分配给EC2实例.

该政策如下所示:

{
 "Version": "2012-10-17",
 "Statement": [
 {
    "Effect": "Allow",
    "Principal": {
    "Service": "ec2.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
  }
 ]
Run Code Online (Sandbox Code Playgroud)

}

但它给出了这个错误:

This policy contains the following error: Has prohibited field Principal
Run Code Online (Sandbox Code Playgroud)

这里有一个类似的问题,但它无法解决这个问题.

任何帮助,将不胜感激.

amazon-web-services amazon-iam

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

表格的异常通过AWS Glue Crawler识别并存储在数据目录中

我正在努力建立公司的新数据湖,并试图找到最好的和最近的选择在这里工作.因此,我找到了一个非常好的解决方案来使用EMR + S3 + Athena + Glue.

我做的过程是:

1 - 运行Apache Spark脚本,在Orc存储的S3中按日期分区生成3000万行.

2 - 运行Athena查询以创建外部表.

3 - 检查与胶水数据目录相关的EMR表,它运行良好.Spark和Hive都可以​​访问.

4 - 在按日期分区的其他文件夹中生成另外3000万行.在Orc格式

5 - 运行识别新表的Glue Crawler.添加到数据目录,Athena能够进行查询.但Spark和Hive无法做到这一点.请参阅以下例外:

火花 Caused by: java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to org.apache.hadoop.hive.ql.io.orc.OrcStruct

蜂巢 Error: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: Error evaluating audit_id (state=,code=0)

我正在检查是否有任何序列化问题,我发现了这个:

手动创建的表(配置):

输入格式 org.apache.hadoop.hive.ql.io.orc.OrcInputFormat

输出格式为 org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat

Serde序列化lib org.apache.hadoop.hive.ql.io.orc.OrcSerde

orc.compress SNAPPY

使用Glue Crawler创建的表:

输入格式 org.apache.hadoop.mapred.TextInputFormat

输出格式 org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Serde序列化lib org.apache.hadoop.hive.ql.io.orc.OrcSerde

因此,这不适用于从Hive或Spark读取.它适用于雅典娜.我已经更改了配置,但对Hive或Spark没有任何影响.

有人遇到过这个问题?

amazon-s3 amazon-web-services amazon-emr apache-spark aws-glue

15
推荐指数
1
解决办法
1319
查看次数

AWS 网络 ELB 需要 4 分钟才能将目标识别为健康

使用 AWS 网络 ELB:注册实例至少需要四分钟才能变得“健康”。实例和服务已经运行了好几天,作为部署的一部分,我只是取消注册,然后在同一目标组上注册。如果我使用脚本或使用 AWS UI,CLI 没有区别。

健康检查设置是:

  • 端口:尝试了各种,都通过 curl 测试了侦听服务。80,22,9001
  • 健康阈值:2
  • 不健康阈值:2
  • 超时:10
  • 间隔:30

我可以看到来自指定端口的连接请求,服务做出适当响应,然后关闭连接。据我所知,这应该足以让 ELB 确定实例是否健康(一旦超过阈值)。这应该意味着我的实例在注册时间后启动并运行不超过 90 秒。我不知道为什么会发生这种情况,应该直截了当。

鉴于我已满足我的实例健康的已知标准,我无法确定是什么导致了如此长时间的延迟。他们在Elb.InitialHealthChecking原因上坐了大约 4 分钟。关于进一步测试以确定延迟原因的任何想法?

amazon-web-services amazon-elb

15
推荐指数
3
解决办法
3642
查看次数

AWS VPC Private Link 和 VPC Peering 之间有什么区别?

VPC 对等互连是否安全?VPC 对等互连和私有链接是否都不使用 Internet 网关或任何其他网关?参考:- https://docs.amazonaws.cn/en_us/vpc/latest/userguide/vpc-peering.html

amazon-web-services amazon-vpc

15
推荐指数
3
解决办法
2万
查看次数