AWS re:Invent 2023  11/26 の発表で気になったアップデートメモ

## はじめに
初日してアップデート多すぎですね。Xや会社のSlackでつぶやいた気になったアップデートが中心で、すべては拾い切れていません。全アップデート一覧はきっとどなたかが書いてくれるはず。間違っている内容があったらすみません。

主要な発表は以下のブログにもまとまっていくようです。

https://aws.amazon.com/jp/blogs/aws/top-announcements-of-aws-reinvent-2023/

## 生成系 AI 関連
既存サービスに 生成AI を組み込んだり、AWS の生成 AI サービスである Bedrock と連携するアプデが多かった。

### Amazon Transcribe で新しい基盤モデルの採用により 100 以上言語をサポート&認識精度向上
ほとんどの言語で 20% から 50% の大幅な精度向上、電話音声では精度が 30% ～ 70% 向上したとのこと。

https://aws.amazon.com/jp/blogs/machine-learning/amazon-transcribe-announces-a-new-speech-foundation-model-powered-asr-system-that-expands-support-to-over-100-languages/

### Amazon Transcribe Call Analytics
コンタクトセンターの会話音声を S3 にアップロードすると文字起こし後に裏側で Bedrock と連携して自動で要約してくれる。今のところAmazon Connect とネイティブに統合はされているというわけではなさそう。

https://aws.amazon.com/jp/blogs/aws/amazon-transcribe-call-analytics-adds-new-generative-ai-powered-call-summaries-preview/

### Redshift ML が LLM をサポート
Redshift 上にあるデータに対して、直接 SQL で推論できる。
でも Bedrock ではなく、SageMaker JumpStartでデプロイしたエンドポイントである必要がある。

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-large-language-models-amazon-redshift-ml-preview/

### AWS Step Functions から Bedrcok API を呼び出すことができるように
ワークフローの中で Bedrock の API を call してテキストや画像生成、埋め込みタスクの実行、モデルのカスタマイズジョブの実行ができる。

https://aws.amazon.com/jp/blogs/aws/build-generative-ai-apps-using-aws-step-functions-and-amazon-bedrock/

### CloudWatch Logs and Metrics Insight に対して自然言語でクエリができるように
用途的にそんなに複雑な英文を書かなくてもよさそうだし、お世話になりそう。

https://aws.amazon.com/jp/blogs/aws/use-natural-language-to-query-amazon-cloudwatch-logs-and-metrics-preview/

## コンテナ関連
### Amazon Managed Service for Prometheus で Amazon EKS の メトリクスをエージェントレスで取り込めるように

コンテナのモニタリングによく使用される Prometheus ですが、Amazon Managed Service for Prometheus (AMP) と Amazon EKS がネイティブに統合されて、AWS Managed Controller によりAgentless で Prometheus メトリクスを AMP に取り込めるようになりました。

https://aws.amazon.com/jp/blogs/aws/amazon-managed-service-for-prometheus-collector-provides-agentless-metric-collection-for-amazon-eks/

### Podに対するIAMロールの割り当ての仕組みとして、EKS Pod Identity が利用可能に
もともと Pod に対して IAM の権限を与える仕組みとして IRSA (IAM roles for service accounts) というものがありましたが新たに Amazon EKS Pod Identity というものが出てきた。
コンソールやAPI経由で IRSA よりも簡単に IAM ロールの割り当てができるっぽい。恐らく今後は Amazon EKS Pod Identity の利用が推奨になっていく？

https://aws.amazon.com/jp/blogs/aws/amazon-eks-pod-identity-simplifies-iam-permissions-for-applications-on-amazon-eks-clusters/

### GuardDutyで ECS の脅威検知をサポート
全 ECS ユーザー待望、 GuardDuty で Amazon ECS の脅威検知ができるようになった。
on EC2 だけじゃなく on Fargate もいける。となると EKS on Fargate も今後対応してほしいなというお気持ちになってくる (EKS on EC2 の脅威検知は昨年対応済み)
 
https://aws.amazon.com/jp/blogs/aws/introducing-amazon-guardduty-ecs-runtime-monitoring-including-aws-fargate/

## Infrastructure as Code (IaC) 関連
### CloudFormation が git と連携してスタックをデプロイできるように
基本は main ブランチにマージされたらデプロイという感じっぽい？ブランチわけたり細かいことやるなら引き続き GitHub Actions 等を使うシーンが多いかも

https://aws.amazon.com/jp/blogs/devops/automate-safe-aws-cloudformation-deployments-from-github/

### EC2 のコンソール操作を CloudFormation / CDK テンプレートに変換できるように
まだ EC2 しか対応していないけど、コンソール操作を CloudFormation / CDK テンプレートに変換できるように。内部的には生成AIをつかってるらしい

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-console-to-code-preview-generate-console-actions/

## Network 関連
### ALB が mTLS (相互TLS認証) をサポート
mTLS はクライアントとサーバーで相互に認証し、通信を暗号化してセキュリティを強化する仕組み。

https://aws.amazon.com/jp/blogs/aws/mutual-authentication-for-application-load-balancer-to-reliably-verify-certificate-based-client-identities/

### ALB がいわゆる Gray failures を検知して、より適切な負荷分散をしてくれるようになった
グレー障害というのはヘルスチェックはパスしていて ALB 上からは正常に見えているが、アプリケーションはエラーを吐いているような悲しい状況のこと。
ヘルスチェックに依存せず、ステータスコードやTCPのエラーから異常なターゲットを検出して自動で振り分け対象から外してくれます。ただしターゲットグループ内のターゲットは3つ以上である必要があるなどいくつか制限あり。

https://aws.amazon.com/jp/blogs/networking-and-content-delivery/improving-availability-with-application-load-balancer-automatic-target-weights/

### Step Functions で 外部 エンドポイントを呼び出すことができるように
Step Functions で 外部 エンドポイントを呼び出すことができるように
Step Functions は複数の AWS サービスの処理を連携してワークフローを組めるサービスです。
これまでは Step Functions の中で外部のAPIを叩こうとすると、専用のLambda 関数を作って呼び出す必要がありましたが、直接呼び出せます。

接続情報は EventBridge の API Destination 使っているみたいなので、API Destination の制限はそのまま引き継ぐことになりそう。

https://aws.amazon.com/jp/blogs/aws/external-endpoints-and-testing-of-task-states-now-available-in-aws-step-functions/

## ストレージ関連
### Amazon S3 Access Grants
S3 のアクセスポリシーを Entra ID や Okta などの IdP 側の属性情報に基づいて設定し、
ユーザーやアプリケーションにアクセス権限を許可できるようにできるようになりました。
前提としてIAM Idetity Centerと連携する必要があります。

https://aws.amazon.com/jp/blogs/storage/scaling-data-access-with-amazon-s3-access-grants/

https://aws.amazon.com/jp/blogs/big-data/use-amazon-emr-with-s3-access-grants-to-scale-spark-access-to-amazon-s3/

### EFS のストレージクラスに EFS Archive が追加
もともとアクセス頻度が低いデータに対して、EFS IA クラスが提供されていましたが、めったにアクセスされないデータを EFS Archive に格納することで更なるコスト最適化になります。データの移動はEFSのライフサイクル管理機能を使うと自動で管理できます。

https://aws.amazon.com/jp/blogs/aws/optimize-your-storage-costs-for-rarely-accessed-files-with-amazon-efs-archive/

### Amazon EFS の最大読み取りIOPSが4.5倍に、最大書き込みIOPSが2倍に
https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-efs-250000-iops-per-file-system/

## その他
### AWS re:Post Privete
プライベート版の AWS re:Post を立ち上げることができる。技術QAが全部履歴に残って共有できるのはいいかも。でも1ユーザー月額$12はちょっとお高い。

https://aws.amazon.com/jp/blogs/aws/increase-collaboration-and-securely-share-cloud-knowledge-with-aws-repost-private/