はじめに
お久しぶりです、なじむです。
DAS, MLS の試験勉強をしていたら、週末にブログをまとめる時間が取れず期間が空いてしまいました。無事どちらも合格しましたが、ラスト DBS が 12月に控えているため、それまで更新をお休みしようと思います。
というわけで今週は試験勉強の息抜きがてら、張り切ってやっていきましょう!AWS Japan さんがまとめている週刊AWSで確認した内容の自分用メモ。
今回は11/15週のアップデートです。
11/15(月)
AWS Amplify が CDK を使用して Amplify で生成されたリソースをオーバーライドする機能を発表
AWS Amplify はモバイルアプリケーションやウェブアプリケーションを構築するための認証基盤やストレージをコマンド一つで作成できるサービスです。本アップデートでは、Amplify で作成したリソースの設定をコマンド一つで変更する機能が使用可能になりました。
これまで Amplify で作成したリソースの設定を変更する場合は amplify update auth
のコマンドを実行し、対話型で更新する必要がありました。本アップデートにより、amplify override auth
のコマンドを実行することで typescript のテンプレートファイルが作成され、amplify push -y
を実行することで CDK が動き、テンプレートファイルの内容で設定を変更することができるようになりました
例えば、認証基盤(Congnito)の設定を変更するためには以下のような流れを実行します。
-
amplify add auth
を実行し、認証基盤(Cognito)を作成する ※詳細は省略 -
amplify override auth
を実行する -
amplify/backend/auth/<リソース名>/override.ts
が作成されるためファイルの内容を修正する -
amplify push -y
を実行する - リソースの設定が変更される
override.ts は typescript で記載されているので以下のように修正します。
(export の中の resource.…句を追記します)
import { AmplifyAuthCognitoStackTemplate } from '@aws-amplify/cli-extensibility-helper';
export function override(resources: AmplifyAuthCognitoStackTemplate) {
resources.userPool.policies = {
passwordPolicy: {
...resources.userPool.policies["passwordPolicy"], // 現在の設定を展開
temporaryPasswordValidityDays: 2 // 「一時的なパスワードの有効日」の設定を上書き
}
}
}
上述のコマンドを実行した結果は以下です。
確かに、パスワードのポリシーが変わっていますね。
なお、上書き(Override)できるリソースは以下です。
- AWS IAM
- Amazon Cognito
- Amazon S3
- Amazon DynamoDB
やってみた系の記事は以下公式ブログが参考になりました。
(参考) Amplifyで生成されたバックエンドリソースをCDKでカスタマイズする新機能 「オーバーライド」のご紹介
- 日本リージョン対応状況
- 東京:対応
- 大阪:未対応 ※Amplify 自体に未対応
AWS Step Functions の Synchronous Express Workflow が AWS PrivateLink のサポートを開始
AWS Step Functions はワークフローを実行するためのサービスです。Lambda や ECS 等を組み合わせたり、StepFunction をネストしたりしてワークフローを作成します。
(出典) AWS Batch および AWS Step Functions を組み合わせて、動画処理ワークフローを作成する
Step Functions では以下の種類のワークフローがあります。
- 標準ワークフロー :長時間実行され、耐久性が高く、監査可能なワークフローに最適
- Express ワークフロー:大容量のイベント処理ワークロード(IoT データの取り込みなど)に最適
- 非同期:ワークフローが開始されたことの確認を返すが、ワークフローが完了するまで待機しない
- 同期 :ワークフローを開始し、完了するまで待ってから結果を返す
(参考) 標準ワークフローと Express ワークフロー
(参考) 同期および非同期の Express ワークフロー
これまでは標準ワークフロー、非同期 Express ワークフローの PrivateLink のみ提供されていましたが、今回のアップデートで、同期 Express ワークフローの PrivateLink が使用可能になりました。
実際の画面は以下です。
Synchronous Express Workflow で Privatelink が使用可能になっています。
大阪リージョンは、同期 Express ワークフローの PrivateLink は対応していましたが、標準ワークフロー(states.ap-northeast-3.amazonaws.com)の VPC エンドポイントはサポートしていないんですね。
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
AWS が Amazon Neptune に接続するためのオープンソース JDBC ドライバーをリリース
Amazon Neptune はグラフデータベースのマネージドサービスです。
(出典) グラフデータベースとは?
これまで Neptune にアクセスするためには EC2 に Gremlin をインストールしてアクセスしたり、Jupyter Notebook を構築してアクセスする必要がありましたが、今回のアップデートにより JDBC 経由で Neptune にアクセスできるようになりました。
これにより、ビジネスインテリジェンス (BI) ツールなど、JDBC をサポートするツールやライブラリを使用して Neptune に簡単にアクセスできるようになりました。
Neptune 用の JDBC ドライバは Github よりダウンロードできます。
(参考) amazon-neptune-jdbc-driver
- 日本リージョン対応状況
- 東京:対応
- 大阪:未対応 ※Neptune 自体に未対応
11/16(火)
改良された新しい Amazon Athena コンソールが一般提供を開始
Athena は S3 内のデータを標準 SQL を使用して簡単に分析できるインタラクティブなクエリサービスです。ここ最近、各サービスで新しいコンソールに変わってきていますが、Athena も新コンソールになったようです。
新コンソールになったことにより、以下のことができるようになりました。
- クエリタブバーで、複数のクエリタブを再配置したり、移動したり、閉じたりすることができます。
- 改良された SQL フォーマッタと新しいテキストフォーマットテーマにより、クエリの読み取りと編集がより簡単になりました。
- クエリの結果をクリップボードにコピーすることができ、さらに結果セットをダウンロードすることができます。
- クエリ履歴、保存されたクエリ、ワークグループを並べ替えたり、表示・非表示の列を選択したりすることができます。
- 簡素化されたインターフェースにより、データソースやワークグループの設定を少ないクリック数で行うことができます。
- クエリの結果、クエリの履歴、行の折り返しなどの表示方法を設定できます。
- 改良された新しいキーボードショートカットや、埋め込まれた製品ドキュメントにより、生産性を向上させることができます。
見た目の変化は以下です。
Amazon AppStream 2.0 が Linux アプリケーションストリーミングを導入
Amazon AppStream 2.0 はアプリケーションストリーミングのマネージドサービスです。
(出典) Amazon AppStream 2.0でデスクトップアプリケーションのストリームをスケールする
これまで、AppStream で使用できるイメージは Windows Server のみでしたが、今回のアップデートにより Amazon Linux 2 のイメージが使用できるようになりました。
これにより、Linux のアプリケーションもストリーミングできるようになり、Windows Server を使用してストリーミングした場合と比較して、総ストリーミングコストを削減することができるようです(どの程度削減できるのか、具体的にどうして削減できるのかは未確認)
実際の画面は以下です。
Amazon Linux 2 のイメージが選択できるようになっています。
Amazon Linux 2 のイメージを使用してアプリケーションをインストールすることにより、ブラウザから任意のアプリケーションやデスクトプ画面をストリーミングすることができます。
(今回、Chrome をストリーミングしたので、ちょっと見た目がアレになっています…)
やってみた系はクラメソさんのブログが参考になりました。
「Windows の時にあった "Image Assitant" ないじゃん!どうするんだ!?」と小一時間悩んでいましたが、全てここに書いてありました。クラメソさん凄い(そもそも君は AWS 公式のチュートリアル を読んで…)
(参考) [アップデート] AppStream 2.0でLinuxイメージがサポートされました
- 日本リージョン対応状況
- 東京:対応
- 大阪:未対応 ※AppStream 2.0 自体に未対応
11/17(水)
AWS Network Firewall が ISO への準拠を達成
AWS Network Firewall は VPC 全体でパケットフィルタリング等のネットワーク保護をデプロイするためのマネージドサービスです。
(参考)AWS ネットワークファイアウォール – VPC 用の新しいマネージド型ファイアウォールサービス
今回、Network Firewall が以下 ISO に準拠するようになりました。
- ISO 9001 :品質管理
- ISO 27001:情報セキュリティ管理
- ISO 27017:クラウドサービスにおける情報セキュリティ管理
- ISO 27018:クラウドサービスにおける個人情報の保護
- ISO 27701:個人情報の保護
各 ISO への準拠が求められているところでは嬉しいアップデートですね。
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
AWS Elastic Disaster Recovery の一般提供開始を発表
AWS Elastic Disaster Recovery が GA になりました。その名の通り DR 対策のためのサービスで、オンプレやパブリッククラウドに構築した仮想マシンや DB (Oracle、MySQL、SQL Server など)、 SAP 等のアプリケーションを、AWS にバックアップ、AWS 上でのリカバリが可能です。
(出典) Network diagrams
やってみた系の記事でクラメソさんのブログがありましたが一筋縄ではいかなさそう。日本語のドキュメントも少ないので、今後調べながら実際の動作を確認してみようと思います。
(参考) AWS Elastic Disaster RecoveryでAzure仮想マシンをリカバリしてみた
- 日本リージョン対応状況
- 東京:対応
- 大阪:未対応 ※EDR 自体に未対応
Amazon EKS Connector でのすべての Kubernetes クラスターの 1 か所での視覚化の一般提供開始
Amazon EKS Connector が GA になりました。EKS Connector はオンプレやパブリッククラウドに構築した kubernetes クラスターを EKS のコンソールで一元的に確認できるようになる機能です。
流れとしては以下のようになります。
- kubernetes クラスターの構築(オンプレでもパブリッククラウドでも可)
- IAM ロールの作成
- Amazon EKS Connector サービスリンク IAM ロールの作成
- Amazon EKS Connector Agent IAM ロールの作成
- クラスターの登録(登録するとマニュフェストファイルが作成される)
- マニフェストファイルを kubernetes クラスターに適用
(参考) Amazon EKS Connector
またもクラメソさんのブログの引用ですが、、、
やってみた系では以下のブログがとても参考になりました。kubernets クラスターを構築するの大変でさぼり気味…
(参考) 【祝GA】EKS ConnectorでGKE上のKubernetesクラスターをEKSのコンソールに表示してみた
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
11/18(木)
AWS Glue DataBrewに4つの新機能が追加
AWS Glue DataBrew はノーコードでデータの前処理を実行してくれるサービスです。
この週は Glue DataBrew で以下4つのアップデートがありました。
- 日本リージョン対応状況
- 東京:対応
- 大阪:未対応 ※Glue DataBrew 自体に未対応
Amazon Aurora が MySQL 8.0 をサポート
Amazon Aurora は MySQL/PostgreSQL 互換のフルマネージドサービスです。今回のアップデートでは、Aurora で MySQL のバージョン 8.0 が使用可能になりました。
MySQL 8.0 では主に以下の機能が使用可能になっています。
- バイナリログの改善
- インスタント DDLのサポート
- 共通テーブル式のサポート
- ウィンドウ関数のサポート
- 並列クエリのサポートの追加
- 新インデックスのサポート
- ロール機能のサポート
詳細に関しては公式ブログを参照ください。
(参考) Amazon Aurora MySQL 3 with MySQL 8.0 compatibility is now generally available
実際の画面は以下です。
Aurora MySQL 3.01.0 (compatible with MySQL 8.0.23) が使用可能になっています。
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
AWS Control Tower が、ネストされた組織単位をサポート
AWS Control Tower はマルチアカウント運用をベストプラクティスに沿って展開してくれるサービスです。
これまでは Control Tower を使用すると OU の下に OU を作成するネスト OU の構成は作成できませんでしたが、今回のアップデートにより、その構成が可能となりました。これにより、Control Tower を使用しても柔軟な OU 設計が可能となりました。
これまでは Control Tower には制限があり、以下のように OU の配下に更に OU を作成する構成ができませんでしたが、今回のアップデートにより可能となったという感じです(できなかったのが意外)
Root
├Prd
│├System_A
││├AWS_Account_1
││├AWS_Account_2
││└AWS_Account_3
│├System_B
│└System_C
└Dev
├System_A
├System_B
└System_C
実際の画面は以下です。
OU を作成する際に親 OU を選択できるようになっています。
その他、細かい仕様などはクラメソさんのブログが参考になりました。
(参考) [アップデート] AWS Control Tower で入れ子構造の OU を利用できる様になりました
- 日本リージョン対応状況
- 東京:対応
- 大阪:未対応 ※Control Tower 自体に未対応
11/19(金)
Amazon Athena が AWS Glue Data Catalog パーティションインデックスを使用してクエリを高速化
Athena は S3 内のデータを標準 SQL を使用して簡単に分析できるインタラクティブなクエリサービスです。Athena はデータソースとして、Glue Data Catalog を設定できます。Glue には、クエリの実行時間を短縮するのパーティションインデックスという機能がありますが、これまでは Glue で パーティションインデックスを有効にしていた場合でも、Athena でのクエリは高速化されませんでした。今回のアップデートによりパーティションインデックスが有効な Glue Data Catalog を指定した場合には Athena からでも検索が高速になるようになりました(おそらく)
使用するための流れは以下です。
- Glue Data Catalog からインデックスを作成する列を選択し、インデックスを作成
- テーブルでパーティションフィルタリングを有効化
- Athena でクエリを実行
以下のようなクエリを実行することで、パーティションインデックスを使用してクエリが実行できます。
SELECT count(*), sum(value)
FROM partition_index.table_name
WHERE year='2021' AND month='04' AND day='01'
パーティションインデックスを使用した場合としていない場合で、以下の結果となりました。大きな差がありますね。
やってみた系の記事は公式ブログが参考になりました。
(参考) Improve Amazon Athena query performance using AWS Glue Data Catalog partition indexes
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
AWS Database Migration Service がパーティションデータの S3 への並行ロードのサポートを開始
AWS Database Migration Service はデータベースを AWS に迅速かつ安全に移行するためのサービスです。
(出典) AWS Database Migration Service
Database Migration Service では、RDB -> RDB だけでなく、RDB -> S3 というように、例えば SQL Server のデータ を S3 に出力することができます。これまで、移行時間の短縮のために並列でのデータを移行する機能はターゲットが RDB の場合のみサポートしていましたが、今回のアップデートにより、ターゲットが S3 の場合でも並列でデータ移行することが可能となりました。
実際の画面は以下だと思うのですが、以前の状態が分からないためにはっきりと言えず…
移行タスクの作成時、ターゲットが S3 の場合でもこの項目が設定できるようになったんじゃなかろうかと思っています…(分からない…)
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
Syne Tone の一般提供、配信ハイパーパラメータ向けオープンソースライブラリとニューラルアーキテクチャの最適化
ハイパーパラメータとニューラルアーキテクチャのチューニングジョブを実行できるオープンソースの Python ライブラリである Syne Tune が GA となりました(タイトルは Syne Tone となっていますが、正しくは Syne Tune のようです)
機械学習では、トレーニング用のデータを使用してモデルを構築していきます。ハイパーパラメータは、例えばモデル構築時にそのトレーニング用のデータからどの程度学習するかの学習率やレイヤーあたりのユニットの数等を指定します。この値により最終的な予測の精度が変わってくるため、ハイパーパラメータのチューニングは機械学種における重要な工程の一つであり、とても時間がかかります。
ハイパーパラメータのチューニング手法はいくつかありますが、Syne Tune を使用することにより以下のチューニングの手法を実装することが可能となります。
- ベイズ最適化
- Hyperband
- Population Based Training
と、機械学習全く分からない私が書けるのはここまでで、詳細は AWS さんのブログがありますのでこちらを参照ください。。。
(参考) Run distributed hyperparameter and neural architecture tuning jobs with Syne Tune
Syne Tune は以下からダウンロード可能です。
(参考) Github: awslabs/syne-tune
- 日本リージョン対応状況 ※リージョンごとのサービスでないため省略
- 東京:-
- 大阪:-
Amazon Linux 2 AMI が、カーネル 5.10 で利用可能に
Amazon Linux 2 は EC2 での使用に最適化され、EC2 の 最新機能をサポートする Amazon が提供する Linux OS です。2020 年 12 月に Kernel 5.10 が公開されましたが、今回のアップデートで Amazon Linux 2 も Kernel 5.10 に対応するようになりました。Kernel 5.10 を使用することにより、以下のようなメリットがあります。
- WireGuard VPN を含むさまざまなセキュリティ機能を搭載
- カーネルロックダウン機能(カーネルイメージの不正な変更を防ぐための機能)の改善
- CO-RE (Compile Once - Run Everywhere) を含む多くの BPF の改善
実際の画面は以下です。
AMI を選択する時に分かるようになっていますね。 Kernel 5.10 の前の Kernel 4.14 も選択できるようになっています。
Linux Kernel って何ぞや?という方は以下の記事を参照してみてください。勉強になりました。
(参考) 【初心者向け】Linuxカーネルって一体なんだ?
- 日本リージョン対応状況
- 東京:対応
- 大阪:対応
感想
久々にやってみたのですが、記載した内容が合ってるか分からないアップデートもありますし、資格取るだけじゃだめだなと改めて思いました。とりあえず、12月に DBS を取得すれば終わるので、年明けから本格的に再開したいと思います。JAWS とか勉強会にもちゃんと参加しよう(来年の抱負)