[AWS] re:Invent2020自分まとめ

# re:Invent とは

- AWSの年末恒例イベント
- AWS のクラウドサービスに関わる技術的なセミナー・ハンズオンセッションなど、 2,500 を超えるセッション（2019 年実績）を提供しており、お客様が主体的に体験できる、学習機会が豊富なグローバルカンファレンス
- 今回は 11/30 (月) ～ 12/18 (金) 、1/12 (火) ～ 1/14 (木)  にて完全オンライン、無料で開催

# 数多ある発表から個人的超抜粋

- 大量のアップデートがありました
- その中から「これは！」を厳選

## コンピューティング

### Amazon EC2 Mac Instance

- 今回の re:Invent の最初で最大の話題となったといっても過言ではない
- ほんまに Mac mini が裏で動いてるみたいですよ
    - https://www.publickey1.jp/blog/20/macawsmac_minithunderboltaws_reinvent_2020.html

### Amazon ECS Anywhere

- ECS をオンプレミス環境で稼働できるようになる
    - 今はオンプレほぼ関与してないんですけどね
- 複雑なコンテナオーケストレーションを自前実装しなくていい
- ECSは使い勝手非常に良いのでオンプレで使いたいですね

### ECS にデプロイ時のサーキットブレーカー機能

- Deployment Circuit Breaker
- ECSはサービス正常稼働に至らない場合でも繰り返しデプロイする挙動になってる
- 今回の機能で正常でない場合に自動ロールバックできるようになった
- 繰り返されるタスクエラーを監視し閾値に到達したらロールバック
-  **現在プレビュー** 

### Amazon ECR Public Gallery

- コンテナをパブリック公開できる
    - Docker Hubのイメージ
- 今後DockerHubじゃなくてこっちからイメージ取得すると良さげ
    - https://dev.classmethod.jp/articles/ecr-public-registry/

### AWS Batch で Fargate が選択可能に

- EC2にプラスしてFargateが利用可能に
- インスタンス管理から開放される

### AWS Lambda の課金単位が 100ms から 1ms に

- 以前は 1ms の利用でも 100ms として課金されていた
- 今後は 1ms は 1ms 分の課金になる
- 上記例だと 99ms 分のコスト削減となる
- 自社サービスでは実際にコスト減となっている

### AWS Lambda でコンテナイメージのデプロイが可能に

- Lambdaにコンテナイメージが利用できるようになった
- ECS -> Lambda ができる
- イメージサイズ最大10GBまでいけるようなので今までデプロイできなかったライブラリもこれで解決できそう

### AWS Lambda リソース上限緩和

- メモリ上限が 3008MB から 10240MB にUP
- よりLambdaの利用シーンが広がる
- （次は実行時間に期待！）

### Amazon EC2 Spot Blueprints

- EC2 Spotインスタンスを簡単に利用できるようにするインフラコードジェネレーター
- CldouFormatio、Terraformに対応
- 出力されるコードはベストプラクティスが適用されている
- スポットインスタンス利用時には参考にするべきところか


## ストレージ

### Amazon EBS gp3 Volumes

- 汎用SSDに gp3 が新しく増えた
- gp2 とは違い **ストレージサイズに関係なく** 以下性能を常時提供
    - 3,000 IOPS
    - 125MB / s 
- 上記性能を超えると追加課金される
    - https://dev.classmethod.jp/articles/ebs-gp3/
- 追加課金が無ければ gp3 のが安い

### S3 で読み取り一貫性の提供

- 今までは結果整合性
- これからは読み取り一貫性
- 裏側で自動で変わりアプリ側は何もしなくていい
- S3を簡易な Key-Value ストアとして利用しやすくなった？

### AWS Compute Optimizer が EBS をサポート

- EC2にプラスしてEBSも解析対象に
- Anでは AWS Compute Optimizer を全アカウント有効にしてるので機会があれば見てください
- ※この機能は完全無料です

## データベース

### Amazon Aurora Serverless v2 

- Auroraのサーバレスバージョン
- 今は v1 で プレビュー版で v2 がでた
- より高速にスケールするようになり
    - v1 は初回アクセス返すのに数十秒かかってたとかなんとか、、、
-  Aurora の機能を複数追加サポート
    - マルチAZ, グローバルDB, リードレプリカ etc...
- 開発環境用途としても利用しやすくなる
    - GAされたら開発環境のコスト削減に利用した

### Amazon Aurora で R6g (AWS Graviton2) のサポート

- プレビューです
- より高性能なインスタンスタイプで利用可能に
- インスタンスは世代進めば確実に性能UPしてるので楽しみ

### MySQL8.0互換の Amazon Aurora サポート予定

- ついに！という感じですが楽しみですね
- 公式でも 5.7 -> 8.0 で２倍高速！って言ってますしおすし
    - https://www.mysql.com/jp/products/enterprise/database/
- Aurora だとどうなるのでしょうか

### Amazon Aurora PostgreSQL の Lambda統合

- Auroraから直接Lambdaを呼び出せる機能
- ストアドプロシージャ or UDFを利用してLambdaを起動する
- 非同期、同期呼び出し両方に対応
- 例）あるテーブルの情報が変更されたらLambdaを呼び出し変更通知する とか

## 解析

### AWS Glue Elastic Views のプレビュー

- 複数のデータソースにまたがるマテリアライズドビューを作成できる
- DynamoDB -> Elasticsearch なんてことが可能になる
- SQLでデータ指定可能でデータ反映は迅速
- 保存は良いけど検索がなぁ、、、という悩み解消に繋がるかに期待

### EMR で Graviton2 インスタンス利用可能に

- M6g, C6g, R6g が利用可能に
- Spark 利用時に M5 と M6g で比較すると30%コスト削減と 15%性能UPが見込める
    - https://aws.amazon.com/jp/blogs/big-data/amazon-emr-now-provides-up-to-30-lower-cost-and-up-to-15-improved-performance-for-spark-workloads-on-graviton2-based-instances/
- 新しいインスタンスって素晴らしいですね

## 機械学習 & AI

### Amazon DevOps Guru プレビュー

- 機械学習にてアプリケーションの運用上の問題や改善ポイントを指摘してくれる
- Amazon.comの経験をもとにしている
- 問題解決と可用性・信頼性の向上に必要なアドバイスをくれる

### Amazon Lookout for Metrics

- プレビュー
- ビジネス上のメトリクスにおける異常値を検知するサービス
    - Amazonと同じ機械学習テクノロジを使用
- 例えば配信遅延のようにビジネス的にユーザー影響あるような検知をできる、とか？

## ネットワーク

### VPC Reachability Analyzer

- VPC内のエンドポイント間または複数のVPC内でのネットワーク到達可能性を可視化
- 意図したネットワーク構成になっているか確認できる
- 今まで把握しづらかったネットワークが見える化された形

![スクリーンショット 2020-12-22 17.40.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97615/84050e13-bb1d-4c23-5143-5e5b6396164a.png)


## セキュリティ

### AWS CloudTrail Advanced Event Selector 

- CloudTrail で取得している各種ログに細かい制御を入れることが可能になった
- S3に対するGetObjectログは取得するが、DeleteObjectは取得しない、といった感じ
- 現状S3(GetObject, DeleteObject, PutObject)、Lambda(Invoke) の制御が可能
- 不要なログを抑えてコスト抑える

### AWS Audit Manger

- AWS使用状況を継続監査し各種準拠しているか確認できる

### AWS Fault Injection Simulator

- 2021年リリース予定
- カオスエンジニアリングのためのサービス
- EC2、ECS、RDSなどのサービスでは快適なイベントを発生させることが可能
- 実際の障害とほぼ同じ現象の発生が可能
- テストシナリオをテンプレート定義し複数障害を組み合わせることも可能
- DRテストがより実障害に近い状態でできる

## 管理/監視

### CloudWatch Lambda InsightsがGA

- Lambdaのパフォ監視や最適化を可能にするツール
- 利用するにはLambda設定で有効化する必要がある
- サポートするランタイムも決まってる
    - https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/monitoring-insights.html#monitoring-insights-runtimes
- Service Lens と連携することで原因究明が用意になるそうな

### AWS System  Manager Fleet Manager

// TODO

## その他

### Amazon WorkSpaces で Streaming Protocol 対応

- WorkSpaces で Streaming Protocol 略してWSP
- WSPによりWorkSpaces上でZoomやTeamsを使うことが可能になった
- ビデオカメラも使用可能になった
    - ただし現状動作が不安定とのこと

### ApiGateway(HTTP API) が StepFunctionsの連携強化

- ApiGatewayのHTTP APIでStepFunctionsを同期的に呼びだせるようになった
- ApiGateway + StepFunctions で複雑な処理フローをまとめ管理する事をどんどｎ強化している