一本有关AWS的周刊让我有了一种模糊的理解 – 2022年1月17日的周刊

首先

你好,我是Najimu。
奧米克戎疫情肆虐呢…這樣的時候正是自我隔離、在家確認更新的好機會。
所以本週我們要精神抖擻地繼續努力!這是AWS Japan整理的週刊AWS所確認的內容,我給自己做的筆記。
這次是1月17日份的更新。

1月17号 (周一)

1月17日是美国的节假日(马丁·路德·金的生日),因此没有更新。马丁·路德·金是非裔美国人民权运动的领导者,他的真名是”马丁·路德·金恩二世”。他留下了著名的”我有一个梦想”演讲。

星期二,1月18日

亚马逊 Corretto 一月份季度更新资讯

Corretto是亚马逊提供的免费OpenJDK发行版。目前,支持长期支持的版本有8、11和17,但每个版本都会定期进行季度次要更新。

请参阅每个版本的更改日志,以了解对脆弱性和各种问题的处理。

Correto 可以从 GitHub 下载。 (参考) corretto

    • 日本リージョン対応状況 ※OSS のため対応リージョン記載なし

東京:-
大阪:-

使用 PartiQL API 所消耗的 DynamoDB 吞吐量容量,DynamoDB 返回并支持查询和吞吐量成本的优化。

20220124_212644.jpg

使用DynamoDB时需要使用容量单位进行读取和写入操作,并且DynamoDB的费用主要取决于消耗的容量单位数量。由于PartiQL的查询操作更加轻松,可能会意外地消耗大量的容量单位导致费用过高,或者耗尽容量单位导致无法进行读取/写入操作。
通过本次更新,现在可以在执行PartiQL API时使用ReturnConsumedCapacity选项,以返回以下信息。

    • 消費される読み取り/書き込みキャパシティユニットの合計容量

 

    インデックスの統計

有了这些信息,查询和吞吐量成本的优化变得更加容易。

实际操作如下。
通过在执行 aws dynamodb execute-statement 时使用 return-consumed-capacity 选项,可以显示在执行 PartiQL 时消耗的容量单位(从 CloudShell 执行)。

$ aws dynamodb execute-statement --statement \
>   "SELECT * FROM \"nagym-dynamodb\" WHERE \"PartitionKey\" = 'Hokkaido'" \
>   --return-consumed-capacity TOTAL
{
    "Items": [ ★ここは DynamoDB のデータ
        {
            "PartitionKey": {
                "S": "Hokkaido"
            }
        }
    ],
    "ConsumedCapacity": { ★ここが見えるようになった
        "TableName": "nagym-dynamodb",
        "CapacityUnits": 0.5
    }
}
$ 

由于这次的表是非常小的数据,所以消耗的容量单位也很少,但是当查询大表时可能会更加有用。有关 ReturnConsumedCapacity 的详细信息,请参阅以下内容。(参考) ExecuteStatement

    • 日本リージョン対応状況

東京:対応
大阪:対応

即启动了AWS弹性灾难恢复的故障自动倒回支持。

https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_396510_8d0889ba-a946-541c-0d6e-3bdd5059b603.png

在这次更新中,我们添加了从 DR 站点自动将数据回滚到本地 vCenter 服务器的功能。使用最新的 DRS Mass Failback Automation 客户端(DRSFA 客户端),您可以自动化大规模的回滚操作。

大致上述的步骤如下所示:

    1. 设置弹性灾难恢复

 

    1. 在本地的vCenter服务器上部署Ubuntu Server 20.04 LTS(以下称为Ubuntu Server)

 

    1. 在搭建好的Ubuntu Server上安装DRSFA客户端

 

    1. 创建具有适当权限的IAM用户和IAM访问密钥

 

    1. 在Ubuntu Server上启动并配置DRSFA客户端(在配置时需要使用访问密钥)

执行$ python3 drs_failback_automation_init.pyc来设置Failback操作

请参考以下所述的流程。由于附有截图,非常直观易懂,请务必查阅。
(参考)使用DRS大规模故障回滚自动化客户端执行回滚操作。

由于没有vCenter服务器,我们没有进行物理设备验证…

    • 日本リージョン対応状況

東京:対応
大阪:未対応 ※Elastic Disaster Recovery 自体に未対応

1月19日(星期三)

Amazon FSx for NetApp ONTAP现可在Amazon CloudWatch中提供性能和容量指标的监控。

ontap_block_2.png

以前,要监控FSx for NetApp ONTAP,需要使用NetApp的监控工具(如NetApp Cloud Insights或Harvest with Grafana)。通过此更新,现在可以使用CloudWatch的指标,无需任何额外设置,即可监控卷性能和存储使用量,并设置警报。
可获取的指标如下(有关每个指标的说明,请参阅 使用Amazon CloudWatch进行监控)。

メトリクスFile system metricsDetailed file system metricsVolume metricsDetailed volume metricsDataReadBytes○

DataWriteBytes○

DataReadOperations○

DataWriteOperations○

MetadataOperations○

DataReadOperationTime


DataWriteOperationTime


MetadataOperationTime


StorageCapacity

○○StorageUsed○○○○LogicalDataStored○

FilesUsed


FilesCapacity

20220125_110255.jpg
20220125_110118.jpg
    • 日本リージョン対応状況

東京:対応
大阪:未対応 ※FSx for NetApp ONTAP に未対応

1月20日 (星期四)

亚太地区(大阪)Amazon RDS快照到S3的导出功能通知

RDS 是一个托管的关系型数据库服务。

building-data-lakes-bb.png
20220125_124750.jpg

查看了导出的 S3 存储桶后发现,由于未在 RDS 中创建数据库,导致数据没有进行任何导出(当然了…),请参考以下实际操作。
(参考)[新功能] 现在可以将 RDS 的快照导出到 S3 存储桶中。

顺便提一下,要使用此功能需要指定RDS使用的引擎版本,同时S3必须与RDS在同一地区,需要注意的事项有几个。具体请参阅白皮书。
(参考) 将DB快照数据导出至Amazon S3。

    • 日本リージョン対応状況

東京:対応
大阪:対応

中国本地语言:
Red Hat OpenShift Service on AWS (ROSA) 在亚太地区 (大阪) 可用。

红帽公司在亚马逊网络服务上提供的 Kubernetes 平台 Red Hat OpenShift Service on AWS(ROSA)是一种托管服务,用于在AWS上运行OpenShift。使用OpenShift,您可以使用通常不具备的功能,并获得长期支持。

20220131_155942.jpg

请看一下Kuramesso的博客,他的博客对于试做类的博客是一个很好的参考。
(参考) Red Hat OpenShift Service on AWS已经正式上线,所以我试着使用了一下。

    • 日本リージョン対応状況

東京:対応
大阪:対応

亚马逊 EC2 的客户可以使用 EC2 实例连接进行 ED25519 密钥认证。

EC2 是一项虚拟机服务。

要连接到EC2,有以下几种方法可供选择。

    • ローカルマシンでターミナルソフトを起動し、SSH 接続する

 

    • セッションマネージャから接続する

 

    • EC2 Instance Connect から接続する

 

    EC2 シリアルコンソールから接続する

在过去,如果您要使用CLI连接”EC2 Instance Connect”和”EC2串行控制台”,只能使用RSA密钥对。通过此更新,即使在使用CLI登录这些系统时,也可以使用ED25519密钥对进行登录。

从2021年8月17日起,ED25519密钥将可用于登录EC2,并且相较于传统的RSA密钥对更加安全。

(参考)Amazon EC2客户现在可以在实例连接操作的身份验证中使用ED25519密钥。

这次我们将使用 EC2 实例连接来验证其实际操作。
除了使用 EC2 实例连接 CLI(mssh),还可以使用自定义的 SSH 密钥进行连接。本次我们将创建一个新的 ED25519 密钥并尝试 SSH 连接。在执行之前,请确保您的 AWS CLI 已经升级到最新版本。

很快,连接到EC2实例连接的结果如下(*根据需要进行了遮蔽)。

$ ssh-keygen -t ed25519 -f nagym-keypair-ed25519
(省略)
$ ls nagym-keypair-ed25519*
nagym-keypair-ed25519  nagym-keypair-ed25519.pub
$ aws --version
aws-cli/2.4.13 Python/3.8.8 Linux/4.14.252-195.483.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off
$ aws ec2-instance-connect send-ssh-public-key \
>     --instance-id i-xxxxxxxxxx \ # マスク
>     --availability-zone ap-northeast-1d \ # 適切な AZ に
>     --instance-os-user ec2-user \
>     --ssh-public-key file://nagym-keypair-ed25519.pub # 適切な keypair に
{
    "RequestId": "12345678-abcd-1122-aabb-1234abcd5678",
    "Success": true
}
$ ssh -o "IdentitiesOnly=yes" -i nagym-keypair-ed25519 ec2-user@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
Last login: Tue Jan 25 11:34:25 2022 from ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
11 package(s) needed for security, out of 17 available
Run "sudo yum update" to apply all updates.
$ 

顺便提一下,如果 AWS CLI 版本过旧,会导致以下错误。它似乎不支持公钥长度小于 256 的 ED25519。

$ aws --version
aws-cli/2.4.6 Python/3.8.8 Linux/4.14.252-195.483.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off
$ aws ec2-instance-connect send-ssh-public-key \
>     --instance-id i-xxxxxxxxxx \ # マスク
>     --availability-zone ap-northeast-1d \ # 適切な AZ に
>     --instance-os-user ec2-user \
>     --ssh-public-key file://nagym-keypair-ed25519.pub # 適切な keypair に

Parameter validation failed:
Invalid length for parameter SSHPublicKey, value: 145, valid min length: 256
$

这次我们是通过 EC2 Instance Connect 进行确认的,但对于 EC2 串行控制台连接的情况,同样适用 aws ec2-instance-connect 命令更新。请参考以下详细的连接方法。
(参考) 使用 EC2 Instance Connect 连接 Linux 实例
(参考) Linux 实例的 EC2 串行控制台

    • 日本リージョン対応状況

東京:対応
大阪:未対応 ※EC2 Instance Connect に未対応(と思われる)

在Amazon GuardDuty中,可以检测到来自另一个AWS账户使用的EC2实例的认证信息。

product-page-diagram-Amazon-GuardDuty.f18bb340397e3d31fed187258f41764c72ac18b6.png

在过去,我们能够检测到在 AWS 以外的地方使用了泄漏的 IAM 角色的认证信息。通过此更新,我们现在可以在其他 AWS 上使用泄漏的 IAM 角色的认证信息时进行检测。

执行以下操作以进行验证。

    AWS Account A(攻撃される側):認証情報を確認

通过访问元数据来获取 IAM 角色的认证信息。

$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials//
{
“Code” : “Success”,
“LastUpdated” : “yyyy-MM-ddThh:mm:ssZ”,
“Type” : “AWS-HMAC”,
“AccessKeyId” : “xxxxxxxxxxxx”,
“SecretAccessKey” : “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
“Token” : “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
“Expiration” : “yyyy-MM-ddThh:mm:ssZ”
}
$

    AWS Account B(攻撃する側):認証情報を用いて S3 に対するコマンドを実行

$ export AWS_ACCESS_KEY_ID=”将上述输出结果中的相应部分粘贴到此处”
$ export AWS_SECRET_ACCESS_KEY=”将上述输出结果中的相应部分粘贴到此处”
$ export AWS_SESSION_TOKEN=”将上述输出结果中的相应部分粘贴到此处”
$ aws sts get-caller-identity
(获取到了 AWS 帐户 A 的身份验证信息)
$ aws ec2 describe-instances
(显示了对象的列表)

    実際の GuardDuty の検知画面は以下です。
20220127_191020.jpg

点击活动以查看详细信息,请参阅官方博客以了解内容。
(参考)加强通过Amazon GuardDuty检测EC2实例认证信息泄露的能力。

    • 日本リージョン対応状況

東京:対応
大阪:対応(おそらく対応していると思います)

如果Amazon EMR开始支持Apache Spark SQL,并且启用了Lake Formation的集成,则可以将数据插入或更新到Glue Data Catalog表中。

Product-Page-Diagram_Amazon-EMR.803d6adad956ba21ceb96311d15e5022c2b6722b.png

2020年10月9日,EMR 5.31及以上版本推出了EMR和Lake Formation集成的GA版本。这一版本允许使用Spark SQL进行查询操作(例如SHOW DATABASES, DESCRIBE TABLE等)。
(参考)Amazon EMR和AWS Lake Formation的集成已正式提供。

本次更新中,我们为EMR和Lake Formation的整合添加了功能,并且使得使用Spark SQL进行更新操作(INSERT INTO,INSERT OVERWRITE,ALTER TABLE)能够对Glue Data Catalog表执行。
亲自测试还没有确认实际运作情况,但是EMR和Lake Formation的整合可以参考以下内容,请您查阅。
(参考资料)启动Amazon EMR集群使用Lake Formation。

需要注意的是,此功能仅在 EMR 5.34 及其后续版本中可用,而在 EMR 6.x.x 中不可用。

    • 日本リージョン対応状況

東京:対応
大阪:未対応

AWS Lambda 支持将 Amazon MSK、Apache Kafka、Amazon MQ for Apache Active MQ、RabbitMQ 作为事件源的最大批处理窗口。

Lambda 是一个无服务器的托管服务,可以执行代码。

Lambda 支持选择各种服务作为触发器进行执行。本次更新中,如果选择以下的消息队列服务作为触发器,可以设置 Lambda 在一定时间间隔(例如300秒)内执行的批处理窗口。

    • Apache Kafka

 

    • Amazon MSK

 

    • RabbitMQ

 

    Amazon MQ for Apache Active MQ

通过这样做,可以增加每次执行时传递给 Lambda 的记录平均数,从而减少调用次数并降低成本。
另外,满足以下任一条件时,将调用该函数。

    1. 负载大小达到6MB

 

    1. 批处理大小达到最大值

 

    最大批处理窗口达到最大值 <- 新的
20220127_193720.jpg
    • 日本リージョン対応状況

東京:対応
大阪:対応

1月21日(星期五)

亚马逊 EMR 开始支持面向数据湖的高性能、并行处理、符合 ACID 要求的表格格式 Apache Iceberg。

Product-Page-Diagram_Amazon-EMR.803d6adad956ba21ceb96311d15e5022c2b6722b.png

本次更新中,在使用EMR 6.5.0的情况下,可以使用Apache Iceberg 0.12。Apache Iceberg是表格格式(用于管理、整理和跟踪构成表格的文件)之一。通过使用Iceberg,可以对存储在数据湖(例如S3)中的数据进行更新处理,可以使用Spark、Hive和Presto等工具。关于Apache Iceberg,非常推荐参考以下博客,它是在2021/11/29,Athena支持Iceberg时发布的。(参考)Amazon Athena的Apache Iceberg支持预览的尝试。

20220131_164145.jpg
20220131_164425.jpg
    • 日本リージョン対応状況

東京:未対応 ※Iceberg 0.12 に未対応?
大阪:未対応 ※Iceberg 0.12 に未対応?

评论

我很抱歉提交晚了…
因为时间不够,无法进行很多实际机器确认,所以我打算好好检查下周的工作。

广告
将在 10 秒后关闭
bannerAds