週刊AWSキャッチアップ(2024/11/18週)
週刊AWSの内容を確認した際の学習メモです。週刊生成AI分は取り除いています。
知識が浅い分野に対しては浅い記述となっていることご了承ください。
今週は通常の4倍弱の掲載数があり、抜け漏れがある場合はご容赦ください。
週刊AWS – 2024/11/11週 | Amazon Web Services ブログ
Amazon ECS で VPC Lattice を利用した接続をサポート
- Amazon ECSでVPC Latticeを利用した組み込み接続をサポートしました
- 従前はVPCをサービスの間にALBを用意する必要がありましたが、ECSサービス側に組み込まれECSサービスを直接VPC Latticeターゲットグループに紐づけることができるようになっています
- VPC LatticeはVPC間をまたぐアプリケーションの接続を簡略化させる、マイクロサービスアーキテクチャ向けのマネージドサービス
- 詳細な説明はみのるんさんのスライドがわかりやすいです
- VPC Latticeでは主に3つのコンポーネントに分かれています
- サービスネットワーク: VPCとサービスを紐づける
- サービス: クライアントアプリケーションからのリクエストに対し認証認可を実施、ターゲットのアプリケーションへルーティングする。ALBのような役割
- ドメイン: クライアントアプリケーションが送信先に指定するドメイン
- サービスアクセス: クライアントアプリケーションをIAM/認証ポリシーで認証する
- ルーティング(リスナー): リクエストを受け付けるプロトコル・ポート番号と、ルーティング先を決定する
- ターゲットグループ: サービスのリスナーに設定する設定する転送ルールのアクション先を設定。対象にできるのは下記の4つ。
- Lattice VPC のターゲットグループ - Amazon VPC Lattice
- インスタンス
- IP
- Lambda
- Internal ALB
関連ブログ
Amazon VPC Lattice に組み込まれた Amazon ECS サポートを使用して、コンテナアプリケーションネットワーキングを合理化 | Amazon Web Services ブログ
Amazon VPC Lattice解説(概要および構成要素編) - サーバーワークスエンジニアブログ
昨年のre:Invent目玉? Amazon VPC Latticeって結局いつ使えばいいのか考察してみた - Speaker Deck
VPC LatticeよくわからなかったがECSとネイティブ統合したので試してみた - NRIネットコムBlog
AWS入門ブログリレー2024〜Amazon VPC Lattice編〜 | DevelopersIO
AWS App Mesh から Amazon VPC Lattice への移行 | Amazon Web Services ブログ
AWS LambdaがPythonと.NETでSnapStartをサポート
- AWS LambdaのPythonおよび.NETのマネージドランタイムを使用する関数でLambda SnapStartを利用できるようになりました
- 起動に時間がかかるようなLambda関数で、起動時間の短縮ができるようになります
- Lambda SnapStart は、事前に初期化された実行環境のスナップショットをキャッシュする機能です。2022年にリリースされた機能でJavaなどで利用可能でした。
- ローンチブログではSnapStartを使用する際のポイントが4つ記載されています
- 一意性の取り扱い: スナップショットは複数の実行環境で再利用されるため、何か一意性のあるものを利用する際は注意が必要
- 例として、乱数生成の使用、DNSエントリのキャッシュなどがブログで紹介されていました
- パフォーマンスのチューニング: 関数ハンドラーではなく初期化コードで依存関係を事前にロードする
- ネットワークのベストプラクティス: Lambdaがスナップショットから再開する場合、必ずNW接続を再確立させること
- モニタリング関数: Cloudwatch log stream、AWS X-ray、Telemetry APIなどでSnapStart関数のモニタリングができる
- 一意性の取り扱い: スナップショットは複数の実行環境で再利用されるため、何か一意性のあるものを利用する際は注意が必要
関連ブログ
Python および .NET 関数向けの AWS Lambda SnapStart の一般提供を開始 | Amazon Web Services ブログ
Lambda SnapStart のパフォーマンスを最大化する - AWS Lambda
Handling uniqueness with Lambda SnapStart - AWS Lambda
Monitoring for Lambda SnapStart - AWS Lambda
Amazon DynamoDB、属性ベースのアクセス制御の一般提供を発表
- DynamoDBでテーブルとインデックスに対する属性ベースのアクセス制御(ABAC)がGAになりました
- ユーザー、ロール、AWSリソースに付加されたタグに基づいてアクセス権限を定義でき、より大規模な環境やきめ細かい制御をしたいときに活用が期待できます
- ABACは属性に基づいて権限を定義する考え方
- これまでは個別のユーザー/グループやリソース(テーブル)ごとに個別のポリシーを作成していたが、規模が大きくなるにつれて運用がつらくなる
- ユーザー/ロール(プリンシパル)やリソース(テーブル)に付与されたタグベースの条件を使用することで、規模が大きくなっても対応でき、よりきめ細かい制御ができるようになる
関連ブログ
Using attribute-based access control for tag-based access authorization with Amazon DynamoDB | AWS Database Blog
AWSにおけるABACの嬉しさ、辛さを語りました #AKIBAAWS | DevelopersIO
Amazon Aurora MySQL 3.08 (MySQL 8.0.39互換) が一般提供開始
- Amazon Aurora で MySQL 3.08 (MySQL 8.0.39 互換) をサポートしました
- リリースノートはこちら
関連サイト
Database engine updates for Amazon Aurora MySQL version 3 - Amazon Aurora
Amazon VPCでBlock Public Access (BPA)を提供開始
- Amazon VPCでBlock Public Accessを提供開始しました
- 新しい集中型の宣言的制御機能で、VPC内のリソースへのインターネットアクセスを一元的に制御できます。ブロックにはBidirectional(双方向)とIngress-only(内部向けのみ)の2通りあります
- Bidirectional: Egress/Ingress双方を拒否
- Ingress-only: Ingress(VPC外からVPCへの通信)を拒否
- 個別に除外するVPCやサブネットの指定も可
- インターネットゲートウェイ、Egress-Onlyインターネットゲートウェイ等のAWSサービスを使用している場合、影響が発生する可能性があり注意が必要
関連ブログ
Enhancing VPC Security with Amazon VPC Block Public Access | Networking & Content Delivery
[アップデート]複数VPCのインターネット通信を制御する機能「VPC Block Public Access (BPA)」がリリースされました! | iret.media
Amazon ECS でソフトウェアバージョンの一貫性に関する動作を無効に設定可能
- ECSサービスデプロイ時のイメージダイジェスト(SHA256)検証を無効化できるようになりました
- 元々7月のアップデート時でECSタスクの新規作成、更新時にコンテナイメージのSHA256での検証が強制されるようになりました
- SHA256でのダイジェスト検証が強制されたことで、例えばLATESTタグを使用されていた場合にダイジェスト値が変わってしまうといったことが考えられます。
- 今回のアップデートでは、そういった場合にダイジェスト値の検証を無効化できるようになったというものになります
関連ブログ
Amazon ECS now allows you to configure software version consistency - AWS
Amazon ECS でコンテナ化されたアプリケーションにソフトウェアバージョンの一貫性が強制されるように - AWS
Amazon EFSがクロスアカウントレプリケーションに対応
- Amazon EFSがAWSアカウント間のクロスアカウントレプリケーションに対応しました
- EFSクロスアカウントレプリケーションの設定には4つ実施する必要があります
- 通常のクロスアカウントアクセスでの対応: ソース元アカウントのIAMロールとソース先アカウントのリソースポリシーでのAPI許可
- 今回該当するリソースポリシーはファイルシステムポリシー
- 今回は5つのAPIを許可する
- DescribeFileSystems
- CreateReplicationConfiguration
- DescribeReplicationConfigurations
- DeleteReplicationConfiguration
- ReplicationWrite
- 上書き保護設定の解除
- レプリケーション構成の設定
- 通常のクロスアカウントアクセスでの対応: ソース元アカウントのIAMロールとソース先アカウントのリソースポリシーでのAPI許可
- 詳しくはこちらのドキュメントにやり方が記載されています
関連ブログ
[アップデート] Amazon EFS でアカウント間のレプリケーションができるようになりました | DevelopersIO
Replicating EFS file systems across AWS accounts - Amazon Elastic File System
Amazon OpenSearch Serverlessでpoint in time searchをサポート
- Amazon OpenSearch Serverless で point in time searchをサポートしました
- point in time searchは、特定の時点で固定されたデータセットに対して複数のクエリを実行できる機能です
- 元々OpenSearch Serviceでは利用できた機能ですが、OpenSearch Serverlessでも利用可能になったよというものです
- ローンチブログでは、point in time search以外にもSQL/PPLサポート(OpenSearch Serviceの次世代UIのブログでも出ていた)が記載されています
関連ブログ
Introducing Point in Time queries and SQL/PPL support in Amazon OpenSearch Serverless | AWS Big Data Blog
Amazon OpenSearch Service で OpenSearch バージョン 2.5 のサポートを開始
Amazon OpenSearch Service のポイントインタイム検索 - Amazon OpenSearch サービス
Amazon OpenSearch Service launches the next-generation OpenSearch UI | AWS Big Data Blog
AWS Glueでエンタープライズアプリケーション向けに19のネイティブコネクタを追加
- AWS Glueで、新たに 19 個のコネクタが追加されました
- 今回新規追加されたコネクタ: Facebook Ads、Google Ads、Google Analytics 4、Google Sheets、Hubspot、Instagram Ads、Intercom、Jira Cloud、Marketo、Oracle NetSuite、SAP OData、Salesforce Marketing Cloud、Salesforce Marketing Cloud Account Engagement、ServiceNow、Slack、Snapchat Ads、Stripe、Zendesk、Zoho CRM
- 詳しくはドキュメントをご確認ください
関連ブログ
Adding an AWS Glue connection - AWS Glue
AWS Glue for Apache Spark ネイティブ接続を使用して BigQuery のデータを Amazon S3 に転送する | DevelopersIO
Amazon CloudFront で VPC オリジンをサポート
- CloudFrontでVPCオリジンをサポートしました
- プライベートサブネットに配置したALB、NLB、EC2をCloudFrontディストリビューションに紐づけできる機能になっています
- これまでALB/NLB/EC2に対してCloudFrontディストリビューションを紐づける場合、WAFのWEB ACLの使用やセキュリティグループでのAWSマネージドプレフィックスの使用など、複雑な実装が必要でしたがこれが不要になります。
関連ブログ
Amazon CloudFront VPC オリジンの紹介: アプリケーションのセキュリティ強化と運用の合理化 | Amazon Web Services ブログ
CloudFront 新機能!VPCオリジンでプライベートなALBをセキュアに公開してみた | DevelopersIO
Application Load Balancer のトラフィックを CloudFront 経由のみに制限する | AWS re:Post
ALB と NLB の Load Balancer Capacity Unit 予約機能をサポート
- ALB/NLBで既存のトラフィックパターンに基づく自動スケーリング機能に加えて、ロードバランサーの最小容量を事前に設定できる Load Balancer Capacity Unit (LCU) 予約機能をサポートしました
- これまでAWSサポートにてALB/NLBの暖気申請をしていたものが不要になります
- ただし利用にあたってServiceQuotasの上限緩和申請が必要になる点に注意が必要です
- LCU/NLCUの計算にはCloudwatchメトリクスPeakLCUs/ProcessedBytesの利用のほか、AWS Elastic Load Balancer Demosも活用できます
関連ブログ
新機能のロードバランサーキャパシティユニット (LCU) 予約で、ALBの暖機を試みてみた | DevelopersIO
AWS Elastic Load Balancer Demos
Load balancer Capacity Unit Reservation for your Application Load Balancer - Elastic Load Balancing
Load balancer Capacity Unit Reservation for your Network Load Balancer - Elastic Load Balancing
Amazon ECS で平均復旧時間を短縮する AZ リバランシングをサポート
- Amazon ECS は、FargateおよびEC2環境において、AZ間のリバランシング機能をサポートしました
- ECSタスクは複数のAZに分散して配置されますが、分散配置はベストエフォートになります。厳密な配置をしたい場合、自前でタスクを置き換える(いわゆるガチャを引き直す)処理の実装が必要でした
- 今回のアップデートではECSサービスにて
availabilityZoneRebalancing
をEnabledにさせることでこの仕組みをマネージドで制御できるようになりました - ただし利用にあたって制約事項があるため注意が必要です
関連ブログ
[アップデート] アベイラビリティゾーン間で不均衡な ECS タスクの再調整をサポートしました | DevelopersIO
Balancing an Amazon ECS service across Availability Zones - Amazon Elastic Container Service
ECS tasks re-balancing on autoscaling. · Issue #42 · aws/containers-roadmap · GitHub
Amazon RDSやAmazon AuroraでAWS Advanced NodeJS Driver が一般提供開始
- RDSとAuroraのPostgreSQL/MySQL互換のデータベースでAWS Advanced NodeJS Driverが一般提供開始になりました
- 高速なスイッチオーバーとフェイルオーバー、IAM 認証の提供、Federated Authentication 機能、といった特徴があるとのこと
関連ブログ
Amazon Aurora Serverless v2 がゼロキャパシティへのスケーリングをサポート
- Amazon Aurora Serverless v2 が、0 Aurora Capacity Units (ACUs) へのスケーリングをサポートするようになりました
- 従来の最小ACUは0.5でしたが、0が設定できるようになったことで接続がないときは自動的にAuroraインスタンスの停止/再開ができるようになりました
関連ブログ
Introducing scaling to 0 capacity with Amazon Aurora Serverless v2 | AWS Database Blog
Understanding how ACU minimum and maximum range impacts scaling in Amazon Aurora Serverless v2 | AWS Database Blog
Amazon Aurora Serverless v2が最小キャパシティ0に対応し、自動停止・再開が可能になりました | DevelopersIO
Amazon OpenSearch Serverless で SQL API をサポート
- Amazon OpenSearch ServerlessにてOpenSearch SQLとOpenSearch Piped Processing Language(PPL)を使用したデータのクエリが可能になりました
- Amazon OpenSearch Serverlessでpoint in time searchをサポートで記載した内容とかぶるので割愛します
Amazon CloudFrontでgRPC配信をサポート開始
- Amazon CloudFrontでgRPCアプリケーションの配信をサポートしました
- REST/SOAPではなくgRPC(カスタムのプロトコル)を使用しているアプリケーションなどで、活用できる可能性があります
- ローンチブログによると、高性能/効率的な通信や、リアルタイムなデータストリーミングが必要なシナリオに最適とのこと
- アプリケーションが大量のデータを処理する必要がある
- クライアントとサーバー間の低レイテンシー通信が必要
関連ブログ
Amazon CloudFront がアプリケーションの gRPC 呼び出しを受け入れるようになりました | Amazon Web Services ブログ
Amazon CloudFrontがアクセスログの新しいログ形式と出力先をサポート
- CloudFront アクセスログを、新たに2つの出力先 (Amazon CloudWatch LogsとAmazon Data Firehose)に直接配信できるようになりました
- JSONやApache Parquetといったログ出力形式も選択できます
- S3に配信されるログの自動パーティション分割の有効化、特定のログフィールドの選択、ログに含まれるフィールドの順序設定等もできます
- CloudFormationへの対応は今後実装とのこと
関連ブログ
Configure standard logging (v2) - Amazon CloudFront
AWS DMSでEC2上で動かしているデータベースをRDSへ自動移行する機能をサポート
- RDSコンソールにて1-click move to managed機能が発表されました
- EC2上で実行されているデータベースを、マネージド型のAmazon RDS/Aurora データベースに自動移行できます
- 内部ではDMSの同種移行が実行されています
- 対応しているのはDMSの同種移行のみで、MySQL/PostgreSQL/MariaDBが対応しています
関連リンク
Auto migrating EC2 databases to Amazon RDS using AWS Database Migration Service - Amazon Relational Database Service
Auto migrating EC2 databases to Amazon Aurora using AWS Database Migration Service - Amazon Aurora
Amazon CloudFrontがAnycast Static IPをサポート開始
- Amazon CloudFront が Anycast Static IP をサポートしました
- CloudFrontディストリビューションに対して固定のIPアドレスの付与が可能です
- Anycast Static IPを利用すると追加で$3000の月額料金が発生するので注意です
関連ブログ
Zero-rating and IP address management made easy: CloudFront’s new anycast static IPs explained | Networking & Content Delivery
[アップデート] CloudFrontディストリビューションのIPアドレスを固定化できるようになりました | DevelopersIO
Amazon ECS サービスの予測スケーリングのサポート
- ECSで予測スケーリングをサポートしました
- 高度な機械学習アルゴリズムを活用してECSサービスを需要の急増に先立って事前にスケーリングすることができます
- ローンチブログ曰く、一貫したパターンに基づいて需要が急激に変化するようなアプリケーションに最適とのこと
- 予測スケーリングには予測のみ/予測及びスケーリングの2つのモードがあり、予測のみモードでは実際にスケーリングは行われません
- 初めての利用や、複数設定の比較などに活用できます
関連ブログ
予測スケーリングを用いて Amazon ECS のコンピューティングリソースを最適化する | Amazon Web Services ブログ
Use historical patterns to scale Amazon ECS services with predictive scaling - Amazon Elastic Container Service
Amazon API Gateway がプライベート REST API のカスタムドメイン名をサポート
- Amazon API GatewayのプライベートREST APIにてカスタムドメイン名が設定できるようになりました
- 以前はパブリックREST APIのみ設定可能でした
- Resource Access Managerにてアカウント間でカスタムドメインを共有することも可能です
関連ブログ
Implementing custom domain names for private endpoints with Amazon API Gateway | AWS Compute Blog
Amazon Pollyが新たに7個のgenerative voiceをサポート
- Amazon Pollyにて7個のgenerative voiceを追加しました
- 2つの女性音声(インド英語、イタリア語)
- 5つの男性音声 (米国スペイン語、メキシコスペイン語、ヨーロッパスペイン語、ドイツ語、フランス語)
- Amazon Pollyはテキストデータを音声に変換するサービスです
関連ブログ
Available voices - Amazon Polly
AWS Management Consoleのビジュアルアップデートをプレビュー
- AWS Management Console で見た目が新しくなるビジュアルアップデートのプレビューを開始しました
- 現在は一部サービスのみの提供で今後すべてのサービスに拡張予定とのこと
関連ブログ
AWS マネジメントコンソールのビジュアルアップデートのお知らせ (プレビュー) | Amazon Web Services ブログ
Amazon QuickSightでHighchartsビジュアルのプレビュー開始
- QuickSightでHighcharts Coreライブラリを使用したカスタムビジュアライゼーションを作成できるHighcharts ビジュアルを提供開始しました
- サンバーストチャート、ネットワークグラフ、3D チャートなど、独自のチャートを作成できるとのこと
関連ブログ
Create custom charts in Amazon QuickSight using the Highcharts visual | AWS Business Intelligence Blog
Using Highcharts - Amazon QuickSight
実際のデモサイト
Amazon QuickSight でフォントカスタマイズが可能に
- Amazon QuickSightのTable/Pivot tableに対してカスタムフォントが設定できるようになりました
- フォントサイズ、フォントファミリー、色、太字、斜体、下線などを設定できます
Amazon QuickSightがイメージコンポーネントの提供開始
- Amazon QuickSight がイメージコンポーネントの提供を開始しました
- ダッシュボード、分析、レポート、ストーリーに画像をアップロードできます
関連ブログ
Using image components - Amazon QuickSight
AWS LambdaでNode.js 22をサポート
- Node.js 22ランタイムを使用したLambda関数の作成がサポートされました
関連ブログ
Node.js 22 runtime now available in AWS Lambda | AWS Compute Blog
Amazon Connect Emailを提供開始
- Amazon ConnectにてAmazon Connect Emailの提供を開始しました
- ビジネスアドレスに顧客から送信されたメール、またはウェブサイトやモバイルアプリのウェブフォームを通じて送信されたメールを受信し、応答できます
関連ブログ
Set up email in Amazon Connect - Amazon Connect
AWS Outposts におけるEC2インスタンスストアを使用した静的安定性の提供
- AWS OutpostsはEC2 インスタンスストアを使用したEC2インスタンスの静的安定性を提供するようになりました
- 静的安定性機能によりAWS リージョンへの接続が利用できない場合でもEC2 インスタンスストアを使用するEC2インスタンス上で実行されているワークロードは電源障害から復旧できます
- EBSボリュームによりバックアップされたEC2インスタンスは対象外です
AWS Step Functions が変数とJSONata データ変換のサポート
- Step Functionsにて変数機能/JSONataによるデータ変換機能の2つが追加されました
- 変数機能: 変数にデータを割り当てて、後続でその変数を参照できる
- JSONataによるデータ変換機能で、従来Lambdaで変数チェックを行っていた箇所で、Lambdaを使用せずに変数チェックなどができるようになります。
- JSONata: JSONデータで簡単なクエリや変換を行う言語
変数チェックのLambdaからのJSONataへの置き換え例
例えば下記のようなチェック用Lambda関数があったとします。
const ssnRegex = /^\d{3}-?\d{2}-?\d{4}$/;
const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
exports.lambdaHandler = async event => {
const { ssn, email } = event;
const approved = ssnRegex.test(ssn) && emailRegex.test(email);
return {
statusCode: 200,
body: JSON.stringify({
approved,
message: `identity validation ${approved ? 'passed' : 'failed'}`
})
}
};
これをステートマシンの定義内でのJSONataクエリ記載に置き換えられます。
{
"StartAt": "Check Identity",
"States": {
"Check Identity": {
"Type": "Pass",
"QueryLanguage": "JSONata",
"End": true,
"Output": {
"isIdentityValid": "{% $match($states.input.data.identity.email, /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/) and $match($states.input.data.identity.ssn, /^(\\d{3}-?\\d{2}-?\\d{4}|XXX-XX-XXXX)$/) %}"
}
}
}
}
関連ブログ
Simplifying developer experience with variables and JSONata in AWS Step Functions | AWS Compute Blog
Amazon Cognito でパスワードレス認証をサポート
- Amazon Cognito で、パスキー、メール、テキストメッセージを含むパスワードレス認証によってアプリケーションへのユーザーアクセスを保護できるようになりました
- 例えば、Apple MacBookのTouch IDやPCのWindows Hello顔認証などの組み込み認証機能を使ったログインなどができるようになります
関連ブログ
Improve your app authentication workflow with new Amazon Cognito features | AWS News Blog
クロスゾーン有効化をした Application Load Balancer が zonal shift と zonal autoshift をサポート
- クロスゾーンを有効化したALBでzonal shift と zonal autoshiftをサポートしました
- クロスゾーンが無効化されたロードバランサーと同様に、障害が発生した際、AZ からトラフィックを移動できるようになりました
- 元々NLBではすでにサポートされていましたが、今回ALBもサポートされるようになりました
関連ブログ
Using cross-zone load balancing with zonal shift | Networking & Content Delivery
ゾーン自動シフト — 潜在的な問題を検出すると、トラフィックをアベイラビリティーゾーンから自動的に移動させます | Amazon Web Services ブログ
Amazon Cognito がリッチなブランディングをサポートする Managed Login を提供開始
- Amazon Cognito が Managed Login を提供開始しました
- サインアップやサインインのための新しいWeb 画面、多要素認証、レスポンシブデザインなどに加えて、Managed Loginの画面を外観をカスタマイズできるブランディングデザイナーが提供されています
- 料金のTierとして、Lite、Essentials、Plusと分けられ、利用する機能に合わせて最適なTierを選択できるようになりました
- 日本語のローカライズも提供
関連ブログ
[アップデート] Amazon Cognito で「マネージドログイン」機能が導入され、ログインメニューのブランディングのカスタマイズが可能となりました | DevelopersIO
Improve your app authentication workflow with new Amazon Cognito features | AWS News Blog
Amazon EC2 Auto Scaling が高応答性のスケーリングポリシーを導入
- EC2 の Auto Scaling の Target Tracking Policy で、1 分未満の間隔で公開されている、秒レベルのデータポイントを持つ高解像度 Cloud Watch メトリクスをサポートしました
- 最小 10 秒の間隔でメトリクスをモニタリングするように設定でき、従来と比べてより素早いスケーリングが可能になります
Discussion