何となくわかった気になる週刊AWS - 2021/10/4週

## はじめに

こんにちは、なじむです。
今週から出社になりました。出社するようになり、朝日を浴びたり、駅まで歩いたり、一日三食ご飯を食べたりして、少し健康になった気がします。
というわけで今週も張り切ってやっていきましょう！AWS Japan さんがまとめている[週刊AWS](https://aws.amazon.com/jp/blogs/news/tag/%E9%80%B1%E5%88%8Aaws/)で確認した内容の自分用メモ。
今回は[10/4週](https://aws.amazon.com/jp/blogs/news/aws-weekly-20211004/)のアップデートです。

## 10/4(月)

### [Amazon CodeGuru が Python アプリケーションのセキュリティ検出器と Bandit によるセキュリティ分析を発表](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-codeguru-security-detectors-python-bandit/)

CodeGuru Reviewer は、CodeCommit 等のリポジトリに格納した Java/Python のコードを分析し、コードの品質やセキュリティの脆弱性などを検出してくれるサービスです。今回、Python のコードの分析で以下のアップデートがありました。

1. 分析に OWASP (Open Web Application Security Project) が公開している Top10 等を用いるようになりました。
1. 分析に Bandit を用いるようになりました。

OWASP は Web アプリケーションをはじめとするソフトウェアのセキュリティの問題や開発プロセスに関する情報を発信するオープンソース・ソフトウェアコミュニティです。OWASP では、Web アプリケーションを構築する上で特に注意しなければならない [OWASP Top Ten](https://owasp.org/www-project-top-ten/) 等を公開しています。
(参考) [OWASP Japan](https://owasp.org/www-chapter-japan/)

Bandit は OSS の Python SAST (Static Application Security Testing) ツールです。
(参考) [Bandit](https://pypi.org/project/bandit/)

実際に動作を見てみます。
CodeGur Reviewer 用に公開された python のリポジトリが無かったため、今回は CodeGuru Profiler の github を借りて実行しました。
(参考) [Amazon CodeGuru Profiler Python Demo Applications](https://github.com/aws-samples/aws-codeguru-profiler-python-demo-application)
![20211016_145524.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/4e149e1f-eb74-ed9d-501a-227f2e2753dc.jpeg)

やってみましたが、結果に OWASP や Bandit が反映されているのかは、私には分かりませんでした…
特に追加設定は不要で解析できるはずなので、やってることは間違ってはないかと思うのですが…

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：未対応 ※CodeGuru自体に未対応

### [Amazon Location Service は、変更検出を追加](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-location-service-change-detection/)

Location Service は、アプリケーションに地図を表示したり、現在地を取得したりといった機能が安全に追加できるサービスです。今回 Location Service で、新たに距離ベースのフィルタリングが使用可能になりました。

距離ベースのフィルタリングは、デバイスの位置情報を前回の位置更新と比較して30 m 未満の場合は記録しないようにする機能です。微妙な距離の移動が記録されないため、以下のメリットがあります。

- 重要な位置の変化のみが記録される
- ジオフェンス評価のトリガーを抑えることができるためコストが削減できる
  - ジオフェンス評価の回数によって、従量課金されるようです

ちなみに、ジオフェンスとはあるエリアを線で囲ったもので、そのエリアの入退室(？)を評価したりできます。
![geo-fense1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/e7b3a504-8998-a723-4d0e-3b96fd391044.png)
(出典) [ジオフェンス](https://www.esrij.com/gis-guide/gis-other/geo-fense/)

実際の画面は以下です。
トラッキングを作成する際に、距離ベースのフィルタリングが選択できるようになっています。
![20211016_150719.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/73545307-93b7-4c2e-cecb-552d49f0891d.jpeg)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：未対応 ※Location Service 自体に未対応

## 10/5(火)

### [VMware Cloud on AWS Outposts の一般提供開始を発表](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/general-availability-vmware-cloud-aws-outposts/)

オンプレミスで AWS のサービスを実行できるようになる AWS Outposts で VMware Cloud が使用可能になりました。

Outposts は下図のように、データセンターやオフィスに AWS がラックごと設置してくれます。
![op_rack_400w_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/6f45aec3-81ee-8088-707c-5d7c31002886.jpeg)
(出典) [AWS Outpostsが一般提供開始になりました](https://aws.amazon.com/jp/blogs/news/aws-outposts-now-available-order-your-racks-today/)

実際に使ったことが無いのでどうやってリソースを作成するかイメージが湧かないのですが、各種 AWS のリソースをこのハードウェア上に作成します。容量不足にももちろんなるので、リソースの拡張を依頼するとハードが増設させるようです。

今回は、その Outposts で、VMware を実行することができる VMware Cloud が使用可能になりました。

日本リージョンの対応状況はよく分かりませんでした…
アップデートには以下の記載があったのですが、これは東京、大阪でも対応している…のか…？

> VMware Cloud on AWS Outposts のご利用は、AWS または VMware の営業担当者に連絡して注文後、開始することができます。VMware Cloud on AWS Outposts を米国に出荷し、米国東部 (バージニア北部) または米国西部 (オレゴン) に接続することができます。
米国外で VMware Cloud on AWS Outposts をデプロイしたり、VMware Cloud on AWS Outposts を他の AWS リージョンに接続したい場合は、AWS または VMware の営業担当者にお問い合わせください。 

- 日本リージョン対応状況
  - 東京：不明
  - 大阪：不明

### [Amazon OpenSearch Service (Amazon Elasticsearch Service の後継サービス) はクロスクラスターレプリケーションのサポートを発表](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-opensearch-service-amazon-elasticsearch-service-cross-cluster-replication/)

ElasticSearch の後継サービスである OpenSearch Service で、他の AWS アカウントや他のリージョンに構築した OpenSearch Service にインデックスの複製や同期を自動化するクロスクラスターレプリケーションが使用可能になりました。
DR 対策として有効かなと思います。

注意事項として、Elasticsearch 7.10 を実行しているドメインでなければ使用できません（OpenSearch 1.0 では利用できません）
クロスクラスターレプリケーションに対応した OpenSearch 1.1 を近日中リリース予定のようです。
また、クロスクラスターレプリケーションうを設定する上での注意事項は以下です。

1. Amazon OpenSearchService ドメイン間でのみレプリケーションが可能（自己管理の OpenSearch や Elasticsearch は不可）
1. 最大20の他のドメインに接続可能
1. 同じメジャーバージョンまたは最終的なマイナーバージョンと次のメジャーバージョンを共有する必要がある
1. AWSCloudFormation を使用してドメインを接続することは不可
1. M3, T2 インスタンスでクロスクラスターレプリケーションは不可

その他の注意事項や詳細な設定方法は以下を参照ください。
(参考) [Cross-cluster replication for Amazon OpenSearch Service](https://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/replication.html)

実際の画面は以下です。
アウトバウンドの接続のリクエストで、対象の Opensearch ドメインを指定します。
![20211016_162707.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/eeba171c-2672-131a-ab00-c40d2e96910d.jpeg)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：対応

### [RDS Performance Insights はさらに 4 つのリージョンでご利用可能に](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/rds-performance-insights-more-regions/)

RDS のパフォーマンスのモニタリングを行う RDS Performance Insights が大阪リージョンで使用可能になりました。RDS Performance Insights を有効にすると、SQL レベルのメトリクスを参照することが可能となります。

実際の画面は以下です。私の環境はデータが無さ過ぎてつまらないですね…
![20211016_163239.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/e4a427dd-8c2b-aeac-029e-0a4b1f907d6b.jpeg)

やってみた系は以下の記事が参考になります。ご覧ください。
(参考) [SQL レベルのメトリクス をサポートしたパフォーマンスインサイトで高負荷状態のDB稼働を確認してみた](https://dev.classmethod.jp/articles/performance-insights-supports-sql-level-metrics/)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：対応

## 10/6(水)

### [Amazon SageMaker Data Wrangler で時系列データの準備と可視化をする](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/prepare-visualize-datasets-amazon-sagemaker-wrangler/)

機械学習のモデルを開発、学習、デプロイするためのマネージドサービスである SageMaker には、SageMaker Data Wrangler という機械学習で使用するデータを作成してくれるサービスがあります。
SageMaker Data Wrangler のやってみた系のブログは以下を参照ください。
(参考) [[Amazon SageMaker Data Wrangler] 機械学習用データを簡単で最速に準備できる機能を使ってみた](https://dev.classmethod.jp/articles/amazon-sagemaker-data-wrangler-with-demo-titanic/)

今回のアップデートでは、時系列変換機能が使用可能になりました。新しい時系列変換機能には以下の特徴があります。

1. 不足値補完、時系列の特徴量化 (フーリエ係数、自己相関統計、エントロピー等) をサポート
1. データセットをダウンサンプリングまたはアップサンプリングして演算子を再サンプリングして頻度の均一化、タイムラグ機能および Window 関数を展開
1. ベクトル値に基づく列のグループ分け、長さの均一化、フラット化、エキスポートなどのより一般的なオペレーションもサポート
1. データ上の季節的な需要や傾向を可視化し、例外を特定すること可能に

実際の画面は以下です。
Quotas のエラーで怒られてしまいました…これから勉強していくという逃げここまでに…
![20211016_202454.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/dde2a9fe-c69b-4bae-8d5c-c2c307b94720.jpeg)

```
Data Wrangler failed to load.

An error occurred (ResourceLimitExceeded) when calling the CreateApp operation: The account-level service limit 'KernelGateway Apps running on ml.m5.4xlarge instance' is 1 Apps, with current utilization of 1 Apps and a request delta of 1 Apps. Please contact AWS support to request an increase for this limit.
```

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：対応

### [AWS Network Firewall がルールの順序とデフォルトドロップの新しい設定オプションを追加](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/aws-firewall-configuration-rule-ordering-drop/)

Network Firewall は VPC 向けの Firewall で、インターネットに出る前に、プロトコルや宛先に基づいてパス、ドロップ、アラート等を実行することができます。
![anfw-single-az-deployment-diagram-high-res-1-1024x808-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/31f24db4-2009-edf2-128c-50c723a8f222.png)
(出典) [AWS Network Firewallのデプロイモデル](https://aws.amazon.com/jp/blogs/news/networking-and-content-delivery-deployment-models-for-aws-network-firewall/)

今回、Network Firewall のステートフルルールで以下のアップデートがありました。

1. 最初にドロップルールを評価していたが、アラートルール・ドロップルールを指定した順序で評価できるようになった
1. 追加のルールを書かなくても、すべてのルールにマッチしないトラフィックをデフォルトでドロップできるようになった

実際の画面は以下です（おそらくここの画面のはず…確証なし…）

ルールの評価順は以下のように記載している順序で上から評価されます。
![20211016_195017.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/1144a7dd-67b3-7a9c-0548-701c266c7d58.jpeg)

デフォルトのドロップのところは以下かなと思います。以前の画面を知らないので確証が無いのですがおそらく…
![20211016_194022.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/2d451359-252d-407c-75cf-09a6e6160a2b.jpeg)

ルールの評価順序が変わったので、影響が出てきそうなところもありそうですよね。注意が必要かもしれません。

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：対応

## 10/7(木)

### [Amazon Kendra は 34 言語のサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-kendra-support-additional-languages/)

機械学習を用いてドキュメントや FAQ を検索できるサービスである Kendra が日本語に対応しました。個人的にはずっと待っていたアップデートです。
ただ、日本語の自然言語処理って難しいんじゃ？と思っているので、精度とかを検証している方がいたらぜひ拝見したいと思っています（←待ってたなら自分でやれば…）

以下にある "help-desk-faq.csv" をダウンロードし、日本語化したものをサンプルデータとして使ってみます。
(参考) [Smarter FAQ bots with Amazon Kendra](https://aws.amazon.com/jp/blogs/machine-learning/smarter-faq-bots-with-amazon-kendra/)

実際の画面は以下です。
今回は FAQ を登録しましたが、登録する際の言語を日本語に設定します。
![20211016_171503.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/1a3b6a96-d568-60fa-b71a-8ed050955823.jpeg)

検索する際の言語も日本語にすると…
日本語で検索できるようになってる！！！（料金はまだまだお高いのご注意を）
![20211016_172352.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/3b10100f-4934-dcca-8eb0-d13ba35faab6.jpeg)

なお、日本語には対応しましたが、日本リージョンには未対応でした。

- 日本リージョン対応状況
  - 東京：未対応
  - 大阪：未対応

### [Amazon QuickSight が Pixel-Perfect のダッシュボードのサポートを追加](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-quicksight-pixel-perfect-dashboards/)

BI (Business Intelligence) ツールのマネジメントサービスである QuickSight で、フリーフォームレイアウトが使用可能になりました。

これまではダッシュボードに表示するグラフやテーブルは、画面の大きさによって自動的に配置されるようになっていましたが、フリーフォームレイアウトを使用することで、自由に位置を指定することが可能となりました。また、グラフを重ねたりと言ったことも可能となっています。

設定画面は以下です。ここをフリーフォームにすることで、自由自在にグラフなどを配置することが可能となります。
![20211016_173746.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/d8994a1b-1fa3-eba0-67a0-bdbc4a16e06b.jpeg)

実際の画面は gif でキャプチャを載せている公式ブログが参考になるかと思います。ヌルヌル動く…！
(参考) [Create stunning, pixel perfect dashboards with the new free-form layout mode in Amazon QuickSight](https://aws.amazon.com/jp/blogs/big-data/create-stunning-pixel-perfect-dashboards-with-the-new-free-form-layout-mode-in-amazon-quicksight/)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：未対応 ※QuickSight 自体に未対応

### [AWS IoT SiteWise は、アジアパシフィック (ボンベイ)、アジアパシフィック (ソウル)、アジアパシフィック (東京) の AWS リージョンで利用可能](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/aws-iot-sitewise-asia-pacific-regions/)

産業機器からデータを収集、モニタリングするサービスである IoT SiteWise が東京リージョンでも使用可能になりました。

(出典) [AWS IoT SiteWise](https://aws.amazon.com/jp/iot-sitewise/)

データを収集することにより、故障する前に機器の事前のメンテナンスができるようになったり、加工している商品・食品の品質管理に役立てることができます。

実際の画面は以下です。
東京リージョンでも利用可能になっています。
![20211016_174901.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/915cf700-bac3-6c52-dde7-d32a8fd97849.jpeg)

デモがあるので、それを基に構築してみると、アセットというものが作衛されます（裏で CFn スタックが作成されます）
![20211016_180240.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/43082a7a-4615-8599-6a71-314ced1c3467.jpeg)

アセットを構築するだけだと何も情報が見えないので、可視化するためのポータルを構築します。
するとグラフとしてデータを見ることができるようになります。
![20211016_180303.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/278a3928-ce7d-97fd-2ab2-0e3bb252cbc1.jpeg)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：未対応

## 10/8(金)

### [Amazon Neptune が Read Replicas 用の Auto Scaling のサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-neptune-auto-scaling-read-replicas/)

グラフデータベースのマネージドサービスである Neptune で、Read Replica の Auto Scaling が利用可能になりました。

グラフデータベースは、例えば以下のようなグラフを作成、操作することができる RDB です。グラフデータベースを使用することにより、各データのつながりをより簡単に把握することが可能となります。
![Neptune-Diagram_social-v3.20da6a2fc4f25a212e995894b52e721b403b58ba.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/95ca6152-de76-a29a-61e0-589285425cc9.png)
(出典) [Amazon Neptune が東京リージョンに対応しました。](https://aws.amazon.com/jp/blogs/news/amazon-neptune-tokyo-region/)

今回のアップデートでは、Read Replica の Auto Scaling が可能となり、Read Replica の可用性やコストをより柔軟に運用していくことが可能となりました。

この設定は GUI では実施できず、CLI or SDK を使用する必要があるようです。
CLI での設定方法は以下に記載があります。
(参考) [Auto-scaling the number of replicas in an Amazon Neptune DB cluster](https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-autoscaling.html)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：未対応 ※Neptune 自体に未対応

### [Amazon ECS Anywhere が GPU ベースのワークロードのサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-ecs-anywhere-gpu/)

オンプレでもコンテナの実行、管理を行うことができるようになる ECS Anywhere で、GPU ベースのワークロードがクラスターに追加できるようになりました。
![ecs-anywhere-overview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396510/f44404a5-d197-ea8f-30f4-4acb28328d62.png)
(出典) [Running GPU-based container applications with Amazon ECS Anywhere](https://aws.amazon.com/jp/blogs/containers/running-gpu-based-container-applications-with-amazon-ecs-anywhere/)

今回のアップデートでは、ECS Anywhere にインスタンスを登録する際に実行する curl コマンドに ***--enable-gpu*** オプションを付与することで、GPUベースのワークロードが使用可能になったようです（動作未検証）

```
curl --proto "https" \
 ~~~~~~~（省略）~~~~~~~
 --enable-gpu
```

公式ブログに詳細が記載されていますので、こちらをご覧ください。
(参考) [Running GPU-based container applications with Amazon ECS Anywhere](https://aws.amazon.com/jp/blogs/containers/running-gpu-based-container-applications-with-amazon-ecs-anywhere/)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：対応

### [AWS Backup で AWS Backup Vault Lock が利用可能になり、バックアップ保護のためのレイヤーがさらに追加](https://aws.amazon.com/jp/about-aws/whats-new/2021/10/aws-backup-backup-protection-aws-backup-vault-lock/)

EC2 や RDS のバックアップ、管理を自動で行ってくれるサービスである AWS Backup で、Backup API を介した場合でもバックアップを削除ができないようにする AWS Backup Vault Lock 機能が使用可能になりました。

元々、AWS Backup で取得したバックアップはユーザが手動で削除することはできませんでした。しかし、AWS Backup の API を介した場合は削除することができていました。今回のアップデートでは、Backup API を介した場合でも削除できないようにする AWS Backup Vault Lock の機能が使用可能になりました。

こちらの設定は、現時点（2021/10/8）では GUI からではできず、CLI or SDK での設定が必要なようです。
やってみた系の記事は以下が参考になりましたので、ご覧ください。
(参考) [[アップデート] AWS Backupがボールトのロックをサポートしました](https://dev.classmethod.jp/articles/aws-backup-supports-vault-lock/)

- 日本リージョン対応状況
  - 東京：対応
  - 大阪：対応

## 感想

クラメソさんのブログ凄いなと、毎週アップデートを確認すればするほど思います。
このブログ、クラメソさん以外にもリンク張りまくったり、画像載せたりしてるけど大丈夫だろうかとかも思ったり。アウトだったら…すみません。