低レイヤー勉強会 第 5 回 - 個人メモ

hackermeshi.com

前回のおさらい

  • メインメモリ
    • 例えるならビルや巨大なロッカー
      • ビルに例えるならフロアの番号がアドレス
        • 1フロアに1バイトのデータを格納できる
    • 容量が大きくて処理が遅い
  • レジスタ
    • 命令とデータ
    • 容量が小さくて処理が早い
  • CPU
    • プログラムを解釈して実行する場所
  • アセンブリ

ウォーミングアップ

  • CPUが解釈実行できるプログラムはネイティブコード
    • 拡張子は .obj
  • 複数のオブジェクトを結合して実行可能ファイルを生成するのはリンカーというツール
    • コンパイルとリンクで実行可能な EXE ファイルが生成される
  • プログラムの命令によって動的に確保される領域をヒープ
    • ヒープはプログラムの命令によって明示的に確保と解放が行われる
  • スタック
    • スタックにあるデータはコンパイラが自動的に格納したり削除してくれる
  • ビルド
    • 実行ファイルをつくること
    • パース、コンパイル、 リンクすること
  • リンク
    • コンパイルだけでは作成できない実行可能ファイルを作成すること
  • ガーベージコレクション
    • 処理が終わって不要になったヒープ領域のデータを削除してそのメモリ領域を自動的に解放すること

コンピュータはネィティブコードしか実行できない

  • プログラムとはコンピュータに作業させるための指示を束ねた全体のことをいう

ネイティブコードの内容を見てみる

  • exe ファイルをダンプしないと中身が見れない
  • ダンプとはファイルの内容を1バイトずつ2桁の16真数で表示すること
  • objdump は obj を dump すること

ソースコードを解釈するのがコンパイラ

低レイヤー勉強会 第 4 回 - 個人メモ

hackermeshi.com

コンピュータの5大要素

  • 入力装置
  • 演算装置
  • 制御装置
  • 記憶装置
  • 出力装置

CPU を構成する4大構成

クロックとは

  • CPU が動作するタイミングとなるクロック信号を発生させる
  • 電気信号がバラバラだとCPUの効率が落ちるため

レジスタ

  • 処理対象となる命令やデータを一時的に格納する場所
  • プログラムはレジスタを対象に記述される

マシン語

  • CPUが解釈・実行できる2進数の言語

プログラムに関して

  • 実行時のプログラムはメモリに格納される
  • プログラムを解釈・実行するのはCPU
  • コードを書く上で意識しなくちゃいけないのはレジスタ

プログラムの流れ

  1. プログラムがコードを書く
  2. コードをビルドしてマシン後の実行ファイルを作る
  3. ハードディスクに保存されているマシン語のネイティブコードのコピーがメモリに保存される
  4. CPU がメモリ上のネイティブコードを解釈して命令を実行する

ウォーミングアップ

ハンズオン

  • サンプルプログラムを作成
#include <stdio.h>

int main(void){
    int a = 1;
    int b = 2;
    int c = a + b;
    printf("c = %d\n", c);
    return 0;
}
$ gcc -o test test.c
  • 実行
$ ./test       
c = 3
$ gcc -S test.c
 .section    __TEXT,__text,regular,pure_instructions
    .build_version macos, 12, 0 sdk_version 12, 1
    .globl  _main                           ; -- Begin function main
    .p2align    2
_main:                                  ; @main
    .cfi_startproc
; %bb.0:
    sub sp, sp, #48                     ; =48
    stp x29, x30, [sp, #32]             ; 16-byte Folded Spill
    add x29, sp, #32                    ; =32
    .cfi_def_cfa w29, 16
    .cfi_offset w30, -8
    .cfi_offset w29, -16
    mov w8, #0
    str w8, [sp, #12]                   ; 4-byte Folded Spill
    stur    wzr, [x29, #-4]
    mov w8, #1
    stur    w8, [x29, #-8]
    mov w8, #2
    stur    w8, [x29, #-12]
    ldur    w8, [x29, #-8]
    ldur    w9, [x29, #-12]
    add w8, w8, w9
    str w8, [sp, #16]
    ldr w9, [sp, #16]
                                        ; implicit-def: $x8
    mov x8, x9
    adrp    x0, l_.str@PAGE
    add x0, x0, l_.str@PAGEOFF
    mov x9, sp
    str x8, [x9]
    bl  _printf
    ldr w0, [sp, #12]                   ; 4-byte Folded Reload
    ldp x29, x30, [sp, #32]             ; 16-byte Folded Reload
    add sp, sp, #48                     ; =48
    ret
    .cfi_endproc
                                        ; -- End function
    .section    __TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
    .asciz  "c = %d\n"

.subsections_via_symbols
$ gcc -S -O3 test.c
 .section    __TEXT,__text,regular,pure_instructions
    .build_version macos, 12, 0 sdk_version 12, 1
    .globl  _main                           ; -- Begin function main
    .p2align    2
_main:                                  ; @main
    .cfi_startproc
; %bb.0:
    sub sp, sp, #32                     ; =32
    stp x29, x30, [sp, #16]             ; 16-byte Folded Spill
    add x29, sp, #16                    ; =16
    .cfi_def_cfa w29, 16
    .cfi_offset w30, -8
    .cfi_offset w29, -16
    mov w8, #3
    str x8, [sp]
Lloh0:
    adrp    x0, l_.str@PAGE
Lloh1:
    add x0, x0, l_.str@PAGEOFF
    bl  _printf
    mov w0, #0
    ldp x29, x30, [sp, #16]             ; 16-byte Folded Reload
    add sp, sp, #32                     ; =32
    ret
    .loh AdrpAdd    Lloh0, Lloh1
    .cfi_endproc
                                        ; -- End function
    .section    __TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
    .asciz  "c = %d\n"

.subsections_via_symbols
$ objdump -D test  

test:   file format mach-o arm64


Disassembly of section __TEXT,__text:

0000000100003f40 <_main>:
100003f40: ff c3 00 d1  sub sp, sp, #48
100003f44: fd 7b 02 a9  stp x29, x30, [sp, #32]
100003f48: fd 83 00 91  add x29, sp, #32
100003f4c: 08 00 80 52  mov w8, #0
100003f50: e8 0f 00 b9  str w8, [sp, #12]
100003f54: bf c3 1f b8  stur    wzr, [x29, #-4]
100003f58: 28 00 80 52  mov w8, #1
100003f5c: a8 83 1f b8  stur    w8, [x29, #-8]
100003f60: 48 00 80 52  mov w8, #2
100003f64: a8 43 1f b8  stur    w8, [x29, #-12]
100003f68: a8 83 5f b8  ldur    w8, [x29, #-8]
100003f6c: a9 43 5f b8  ldur    w9, [x29, #-12]
100003f70: 08 01 09 0b  add w8, w8, w9
100003f74: e8 13 00 b9  str w8, [sp, #16]
100003f78: e9 13 40 b9  ldr w9, [sp, #16]
100003f7c: e8 03 09 aa  mov x8, x9
100003f80: 00 00 00 90  adrp    x0, 0x100003000 <_main+0x40>
100003f84: 00 c0 3e 91  add x0, x0, #4016
100003f88: e9 03 00 91  mov x9, sp
100003f8c: 28 01 00 f9  str x8, [x9]
100003f90: 05 00 00 94  bl  0x100003fa4 <_printf+0x100003fa4>
100003f94: e0 0f 40 b9  ldr w0, [sp, #12]
100003f98: fd 7b 42 a9  ldp x29, x30, [sp, #32]
100003f9c: ff c3 00 91  add sp, sp, #48
100003fa0: c0 03 5f d6  ret

Disassembly of section __TEXT,__stubs:

0000000100003fa4 <__stubs>:
100003fa4: 10 00 00 b0  adrp    x16, 0x100004000 <__stubs+0x4>
100003fa8: 10 02 40 f9  ldr x16, [x16]
100003fac: 00 02 1f d6  br  x16

Disassembly of section __TEXT,__cstring:

0000000100003fb0 <__cstring>:
100003fb0: 63 20 3d 20  <unknown>
100003fb4: 25 64 0a 00  <unknown>

Disassembly of section __TEXT,__unwind_info:

0000000100003fb8 <__unwind_info>:
100003fb8: 01 00 00 00  udf #1
100003fbc: 1c 00 00 00  udf #28
100003fc0: 00 00 00 00  udf #0
100003fc4: 1c 00 00 00  udf #28
100003fc8: 00 00 00 00  udf #0
100003fcc: 1c 00 00 00  udf #28
100003fd0: 02 00 00 00  udf #2
100003fd4: 40 3f 00 00  udf #16192
100003fd8: 34 00 00 00  udf #52
100003fdc: 34 00 00 00  udf #52
100003fe0: a5 3f 00 00  udf #16293
100003fe4: 00 00 00 00  udf #0
100003fe8: 34 00 00 00  udf #52
100003fec: 03 00 00 00  udf #3
100003ff0: 0c 00 01 00  <unknown>
100003ff4: 10 00 01 00  <unknown>
100003ff8: 00 00 00 00  udf #0
100003ffc: 00 00 00 04  <unknown>

Disassembly of section __DATA_CONST,__got:

0000000100004000 <__got>:
100004000: 00 00 00 00  udf #0
100004004: 00 00 00 80  <unknown>

AWS アップデート情報まとめ(2022/03/30 ~ 2022/04/12)

個人的に気になった AWS のアップデート情報をまとめたものです。


aws.amazon.com

  • EC2 で障害が発生した際に自動復旧の設定がデフォルトで ON の状態になった
  • これまでは CloudWatch Alarm を自作する必要があった
  • デフォルトでは ON になっているが設定を OFF にすることも可能

aws.amazon.com

  • CloudFront の動作とパフォーマンスを監視するサーバータイミングヘッダーを含めること可能になった
  • サーバータイミングヘッダーには以下のような情報が含まれている
    • リクエストの受信時にコンテンツがキャッシュから提供されたかどうか
    • リクエストが CloudFront エッジロケーションにルーティングされた方法
    • 接続およびレスポンスプロセスの各ステージで経過した時間 etc.
  • トラブルシューティングやパフォーマンス測定がより行いやすくなった

aws.amazon.com

  • re:Invent 2021 で発表された持続可能性の柱が AWS Well-Architected Tool でのワークロードレビューで使用可能になった
  • 持続可能性の柱(サステナビリティの柱)
    • あらゆる種類のワークロードのエネルギー削減と効率化に重点を置いた継続的な取り組み

aws.amazon.com

  • すべてのパブリック AMI の非推奨時期が、作成日から 2 年後に設定さるようになった
  • 非推奨になると、その AMI の所有者ではないユーザーの DescribeImages API コールに表示されなくなる
  • ターゲットを絞らない検索した場合に表示されなくなるだけ
    • 古くなっている可能性があるソフトウェアを含む AMI 誤って起動する可能性を低減するのが狙い
  • 非推奨になってもこれまで同様に利用することは可能
  • 作成から既に 2 年を経過しているパブリック AMI は、2022 年 6 月 30 日に非推奨なる

aws.amazon.com

  • HTTPS エンドポイントを介して関数を簡単に呼び出すことができる Lambda の機能を発表
  • これまでは API Gateway を構築する必要があったが、単純な呼び出しであれば作成は不要になった
    • リクエスト検証等、今のところ複雑なことは出来ないので注意

良く使う Git コマンド

備忘録がてらにまとめておく。

リモートリポジトリをコピー

git clone <リモートリポジトリ>

ファイルの更新

git add <ファイル名>
git commit -m "コミットメッセージ"
git push origin <ブランチ名>

git add の取り消し

※全て取り消し
git reset HEAD

※特定のファイルのみ取り消し
git reset HEAD <ファイル名>

直前の Commit メッセージを修正

git commit --amend -m "修正後のコミットメッセージ"

ブランチの作成・移動・変更・削除

※ブランチ一覧を表示
git branch

※現在のブランチをベースに新しいブランチを作成して切り替える
git checkout -b <作成するブランチ名>

※マージ済みのローカルブランチを削除
git branch -d <ブランチ名>

※マージされていないローカルブランチを強制削除
git branch -D <ブランチ名>

※現在のブランチ名を変更
git branch -m <ブランチ名>

空コミット

※ GitHub Action だけを動かしたい時に等に使う

git commit --allow-empty -m "コミットメッセージ"

一次退避・戻し

※退避
git stash -u

※戻し
git stash apply stash@{0}

コンフリクトを解消

git checkout main
git pull
git checkout <コンフリクトが発生しているブランチ名>
git merge main
<- コンフリクトが発生するので修正する ->
git add <修正したファイル名>
git commit -m "コンフリクトの解消"
git push origin <コンフリクトが発生しているブランチ名>

AWS最新情報をキャッチアップしよう vol.2

イベントページ

hackermeshi.com

集計期間

2022年1月18日〜2022年1月31日

アップデート情報

★・・・週間AWSで紹介されていた内容

●・・・個人的に気になった内容

No. Title Note
1 AWS Outposts now FedRAMP authorized AWS Outposts は、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (北カリフォルニア)、および米国西部 (オレゴン) で FedRAMP Moderate 認可を、GovCloud (米国西部) および GovCloud (米国東部) で FedRAMP High 認可を得られました。
FedRAMP: 米国政府機関におけるクラウドセキュリティ認証制度
AWS Outposts: https://docs.aws.amazon.com/ja_jp/outposts/latest/userguide/how-outposts-works.html
2 Amazon Interactive Video Service adds thumbnail configuration Amazon Interactive Video Service がサムネイル設定を追加。60 秒ごとに最大 12 の画像 (5 秒ごとに 1 つの画像) を生成することに加えて、サムネイル生成を無効にすることが出来るようになりました。
紹介記事: https://dev.classmethod.jp/articles/update-amazon-interactive-video-service-thumbnail-configure/
3★ AWS Elastic Disaster Recovery now supports failback automation AWS Elastic Disaster Recovery (AWS DRS) は、オンプレミス上の物理インフラ(VMware vSphereやMicrosoft Hyper-V等)のディザスタリカバリ環境をAWS上に構築するためのサービスです。今回、ディザスタリカバリサイトから、物理インフラへの切り戻し(フェイルバック)の操作を自動化するための機能が追加されました。新しい DRS Mass Failback Automation クライアント (DRSFA クライアント) を利用することで、大規模なフェイルバックを自動化することが可能になります。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
4● AWS Systems Manager Automation now enables you to take action in third-party applications through webhooks AWS Systems Manager では、アウトバウンドのウェブフックを使用して、サードパーティーのツールやアプリケーションへの通知の送信やアクションを実行できるようになりました。アウトバウンドのウェブフックでは、Slack などを使用する多くのツールを簡単に統合することができます。
5 Amazon CloudWatch Application Insights adds service monitoring for Microsoft Active Directory and SharePoint CloudWatch Application Insights はアプリの状態をモニタリングできるサービスであり、今回のアップデートにより Microsoft Active DirectorySharePoint の監視が行えるようになりました。
6 Amazon EMR Studio is now available in US West (N. California) Amazon EMR Studio が米国西部 (北カリフォルニア) で利用可能になりました。
Amazon EMR Studio: https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-studio.html
7 Amazon RDS for SQL Server now supports new minor versions for SQL Server 2019 and 2017 Amazon RDS for SQL Server が、新しいマイナーバージョンの SQL Server 2019 および 2017 のサポートを開始しました。
8★ Amazon Corretto January Quarterly Updates Amazon Corretto は、無料の OpenJDK ディストリビューションです。現在 Corretto 8, 11, 17がLong-Term Supported (LTS) として提供されています。今回それぞれのバージョンで四半期ごとにリリースされるアップデートが利用可能になりました。What’s new発表時点ではCorretto 8.322と11.0.14のみダウンロード可能になっていましたが、現在はCorretto 17.0.2もダウンロード可能になっています。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
9● Announcing new AWS Wavelength Zones in Charlotte, Detroit, Los Angeles and Minneapolis シャーロット、デトロイト、ロサンゼルス、ミネアポリスで新しい AWS Wavelength Zone が利用できるようになりました。
AWS Wavelength: https://aws.amazon.com/jp/wavelength/
KDDI: https://biz.kddi.com/5g/aws_wavelength/
10● Amazon MQ now supports RabbitMQ version 3.8.26 Amazon MQ が、RabbitMQ バージョン 3.8.26 をサポートするようになりました。
メッセージングサービスの違いについて: https://www.sunnycloud.jp/column/20210525-01/
11● Now remediate operational issues faster by executing AWS Systems Manager Automation runbooks from Slack AWS Systems Manager Automation では、AWS Chatbot を使用して、Slack からランブックを実行し、AWS 環境で安全にオペレーションタスクの実施、問題解決、アクションの実行が可能となりました。Automation ランブックを検索して、必要なインプットを提供し、Slack チャンネルから直接ランブックを実行できるようになりました。また、Slack 内で、ランブック実行の進行状況とステータスを追跡することもできます。
12 AWS Storage Gateway management console simplifies gateway creation and management AWS Storage Gateway でハイブリッドクラウドストレージワークフローのセットアップと管理をすばやく簡単に開始できるようになりました。
13★ Now DynamoDB can return the throughput capacity consumed by PartiQL API calls to help you optimize your queries and throughput costs Amazon DynamoDBSQLに似たPartiQLでのクエリをサポートしていますが、このDynamoDBのPartiQL APIで、オプションのパラメータである ReturnConsumedCapacity のが利用が可能になりました。これを指定することで、消費されたキャパシティの情報が応答として戻され、クエリの最適化に利用できます。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
14 AWS Trusted Advisor now integrates with AWS Security Hub 本日、AWS Trusted Advisor で、AWS Security Hub の Foundation Security Best Practices から自動的に取り込まれる 111 個のチェックが追加されました
15 AWS Launch Wizard now supports the latest versions of SUSE Linux Enterprise Server and SAP HANA, S/4HANA, and BW/4HANA AWS Launch Wizard が SAP S/4HANA 2021、SAP BW/4HANA 2021、SAP HANA SPS06、および SUSE Linux Enterprise Server (SLES) 15 SP3 のサポートを開始しました。
16● Announcing matrix routing for Amazon Location Service Amazon Location Service にマトリックスルーティングが追加されました。これにより、顧客が複数の出発地から目的地までの運転時間と運転距離をすばやく簡単に計算できるようになります。
Amazon Location Service: https://dev.classmethod.jp/articles/try-amazon-location-service-geocoding/
17● AWS Panorama is now available in Asia Pacific (Sydney), and Asia Pacific (Singapore) AWS Panorama がアジアパシフィック (シドニー) とアジアパシフィック (シンガポール) のリージョンで利用可能になりました。
AWS Panorama: https://dev.classmethod.jp/articles/preview-release-aws-panorama-appliance/
18 Amazon Location Service enables request-based pricing for all customer use cases Amazon Location Service では、すべてのお客様のユースケースに対してリクエストベースの価格設定を可能になりました。
19★ Amazon FSx for NetApp ONTAP now provides performance and capacity metrics in Amazon CloudWatch Amazon FSx for NetApp ONTAP で Amazon CloudWatch メトリクスを利用可能になりました。これにより使用中のファイルシステムやボリュームのパフォーマンス情報や、ストレージ使用量のメトリクスをモニタリングしたり、アラームの設定が可能になります。Amazon FSx for NetApp ONTAP はフルマネージド型で提供されるNetApp ONTAP ストレージサービスです。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
ONTAP: https://www.storage-channel.jp/blog/guide-for-netapp-ontap.html
Amazon FSx for NetApp ONTAP: https://dev.classmethod.jp/articles/amazon-fsx-for-netapp-ontap/
20★ AWS Lambda now supports Max Batching Window for Amazon MSK, Apache Kafka, Amazon MQ for Apache Active MQ and RabbitMQ as event sources AWS Lambda のバッチ処理の機能(ある程度データソースを貯めてから関数を呼び出す)が拡張され、Amazon MSK, Apache Kafka, Amazon MQをイベントソースとした際に、最大で300秒のMax Batching Window が指定可能になりました(MaximumBatchingWindowInSecondsパラメータ)。これにより一回のLambda関数に渡されるペイロードや、関数が呼び出される回数を調整することができます。なおMax Batching Window の調整については以前よりKinesis, DynamoDB, SQS でも利用可能ですが、デフォルト値等、挙動が一部異なる部分があります。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
21★ AWS Security Hub integrates with AWS Health AWS Security Hub は、AWS Health と統合して、AWS Health から自動でセキュリティ関連の検出結果を受信し、AWS のセキュリティ体制の全体像を把握できるようになりました。
22 Amazon S3 Object Ownership can now disable access control lists in the AWS China (Beijing), AWS China (Ningxia), and AWS GovCloud (US) Regions Amazon S3 Object Ownership で、AWS 中国 (北京)、AWS 中国 (寧夏)、および AWS GovCloud (米国) リージョンのアクセスコントロールリストの無効化が可能になりました。
23 New datasets available on the Registry of Open Data from Meta, the Brazilian Space Agency, Radboud University Medical Center, and others 新しいデータセットが Meta、ブラジル宇宙機関、ラドバウド大学メディカルセンターなどのオープンデータレジストリで利用可能になりました。
24★ Amazon EC2 customers can now use ED25519 keys for authentication with EC2 Instance Connect Amazon Elastic Compute Cloud (EC2) にシェルログインを実現する方法としては、1)EC2上のSSHサーバにSSHクライアントでログイン、2)EC2 Instance Connectを利用してSSHプロトコルでログイン、3)Systems Maanger Session Manager、4)EC2 Serial Consoleという方法がありますが、今回2)と4)において、RSAに加えてED25519を利用可能になりました。なお、1)は以前よりED25519が利用可能であり、3)には暗号鍵の指定という概念が存在しません。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
EC2 Instance Connect / Systems Maanger Session Manager: https://qiita.com/chii-08/items/f63931e2c916fe27e3f1
EC2 Serial Console: https://qiita.com/hirosys-biz/items/2759cfe7183b62cfbc97
25★ Amazon GuardDuty now detects EC2 instance credentials used from another AWS account Amazon GuardDuty は継続的なモニタリングでAWS上の不正なアクティビティを検出するサービスです。今回、EC2のクレデンシャルが他のAWSアカウントから利用されている事を検知する機能が追加されました。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
26★ Announcing Amazon RDS Snapshot Export to S3 in Asia Pacific (Osaka) Amazon Relational Database Service (RDS) のSnapshot Export機能が大阪リージョンで利用可能になりました。RDS for PostgreSQL, RDS for MariaDB, RDS for MySQL, Aurora PostgreSQL, Aurora MySQLの各エンジンで利用可能になっています。Snapshot Export機能は、RDSのSnapshot(バックアップ)から表のデータをParquetフォーマットでS3にEXPORTする機能です。Snapshotから取り出すためRDSインスタンスに負荷が掛からないですし、ParquetフォーマットなのでAthenaやEMR、SageMakerといったサービスから高速にアクセスすることが可能です。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
27 Amazon Rekognition improves accuracy of Content Moderation for Video Amazon Rekognition により、動画のコンテンツモデレーションの精度が向上しました。
28★ Amazon EMR now supports Apache Spark SQL to insert data into and update Glue Data Catalog tables when Lake Formation integration is enabled Amazon EMR のLake Formationインテグレーション機能が拡張され、Glue Data Catalogで管理されている表にEMRからApache Spark SQLを使った更新処理(INSERT INTO, INSERT OVERWRITE, ALTER TABLE)が実行可能になりました。この機能はEMR 5.34 以降で利用可能です(EMR 6.xではまだ利用可能になっていません)。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
AWS Lake Formation: https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/what-is-lake-formation.html
29★ Red Hat OpenShift Service on AWS (ROSA) is now available in the Asia Pacific (Osaka) Region Red Hat OpenShift Service on AWS (ROSA) がアジアパシフィック (大阪) リージョンで利用可能になりました。
30 AWS Client VPN now supports banner text and maximum session duration AWS Client VPN では、VPN セッションが確立されたときに、AWS Client VPN Desktop アプリケーションにカスタマイズ可能なバナーを表示する機能が利用できるようになりました。バナーテキストには、VPN アクセスを許可する前にエンドユーザーに表示されるプライバシーおよびセキュリティに関する通知を含めることができます。
31 AWS Migration Hub Strategy Recommendations adds support for Babelfish for Aurora PostgreSQL AWS Migration Hub Strategy Recommendations では、オンプレミスや AWS で稼働しているアプリケーションの移行戦略を構築できます。今回のアップデートでは、PostgreSQL 上の Microsoft SQL Server アプリケーションをほとんどコード変更することなく移行およびリプラットフォームすることを検討しているユーザーに Babelfish for Aurora PostgreSQL をお勧めすることができるようになりました。
32 Amazon SageMaker Pipelines now offers native EMR integration for large scale data processing SageMaker Pipelines EMR ステップを使用することで、機械学習のワークフロー内に EMR クラスターの EMR ジョブを送信することが出来るようになりました。
33 Amazon SageMaker Pipelines now supports concurrency control Amazon SageMaker Pipelines で並列して実行できるステップの数に同時実行制限を設定できるようになりました。
34 Amazon FinSpace managed Apache Spark clusters now support Apache Spark 3 Amazon FinSpace は、金融サービスのお客様向けのフルマネージド分析サービスで、アナリストは、ポートフォリオ、保険数理システム、リスク管理システムなどの複数の場所のデータや、サードパーティーのデータソースからのペタバイト規模のデータ (株式取引からの株価履歴など) に簡単にアクセスして分析を行うサービスです。今回のアップデートでAmazon FinSpace マネージド Apache Spark クラスターが Apache Spark 3 をサポートするようになりました。
35★ Amazon EMR now supports Apache Iceberg, a highly performant, concurrent, ACID-compliant table format for data lakes Amazon EMR 6.5.0 が利用可能になりました。含まれる各種OSSのバージョンがあがっている事に加えてApache Iceberg 0.12.0がサポートされた事が特徴で、EMRに含まれるSpark, Hive, Prestoから(S3等に置かれた)Icebergフォーマットのデータにアクセスが可能です。Icebergはオープンなテーブルフォーマット(データをどのように格納・管理するかの規格)で、データの更新や、スキーマエボリューション(列定義の変更)、タイムトラベルクエリ(過去のデータをクエリする)等をサポートします。また先日Amazon AthenaでもIcebergサポートのプレビューが発表されています。
※週間AWSから引用: https://aws.amazon.com/jp/blogs/news/aws-weekly-20220117/
36 AWS Elemental MediaConvert now supports 4K frame sizes and 10-bit color in the AV1 output format AWS Elemental MediaConvert が AV1 出力フォーマットの 4K フレームサイズと 10 ビットカラーに対応しました。
37★ Amazon DocumentDB (with MongoDB compatibility) adds support for $mergeObjects and $reduce Amazon DocumentDB は MongoDB との互換性の向上を継続しており、本日、DocumentDB 3.6 および 4.0 で以下の MongoDB API のサポートを追加し、インデックス作成を改善しました。
$mergeObjects: 複数のドキュメントを 1 つのドキュメントにまとめる集約パイプライン演算子
$reduce: 配列の各要素に表現を適用し、単一の値に結合する集約演算子
38★ Amazon DocumentDB (with MongoDB compatibility) now offers a free trial Amazon DocumentDB を 1 か月の無料トライアルで試用することが可能になりました。
39★ Amazon DocumentDB (with MongoDB compatibility) adds additional Geospatial query capabilities 本日、Amazon DocumentDB は、交差クエリおよび包含クエリのサポートを提供することで、地理空間クエリ機能を追加しました。これらの機能により、次の MongoDB API をGeospatial ユースケースに使用することができます。
geoWithin - $geoWithin API を使用して、DocumentDB に保存されているデータに対して包含クエリを実行できるようになりました。たとえば、$geoWithin を使用すると、ニューヨーク州内のすべての空港を検索できます。
$geoIntersects - $geoIntersects API を使用して、DocumentDB に保存されているデータに対して交差クエリを実行できるようになりました。たとえば、$geoIntersects を使用すると、シアトル市が属する州を検索できます。
40● Amazon ECS now supports Amazon ECS Exec and Amazon Linux 2 for on-premises container workloads Amazon Elastic Container Service (Amazon ECS) が、Amazon ECS Anywhere でオンプレミスで実行されるワークロード向けに、Amazon ECS Exec と Amazon Linux 2 のサポートを開始しました。ECS Exec により、お客様はエラーのトラブルシューティングを行い、診断情報を収集し、 開発中のコンテナでプロセスとやり取りし、コンテナへの「ブレークグラス」アクセスを取得して本番環境で発生した重大な問題をデバッグすることが容易になります。Amazon Linux 2 により、お客様は開発やテストのために、オンプレミスとクラウドで同じ AWS で保護されたオペレーティングシステムを簡単に使用できるようになりました。
41★ Amazon RDS for PostgreSQL supports new minor versions 13.5, 12.9, 11.14, 10.19, and 9.6.24; Amazon RDS on Outposts supports new PostgreSQL minor versions 13.5 and 12.9 PostgreSQL データベースのアップデートの発表に伴い、PostgreSQL のマイナーバージョン 13.5、12.9、11.14、10.19、および 9.6.24 をサポートするために、Amazon Relational Database Service (Amazon RDS) をアップデートしました。また、Outposts の Amazon RDS に PostgreSQL マイナーバージョン 13.5 および 12.9 のサポートを追加しました。
42● Announcing Amazon Elastic File System Replication Amazon EFSレプリケーションは、ファイルシステムの最新のコピーを2番目のAWSリージョンまたは同じリージョン内に保持できるようになりました。Amazon EFSレプリケーションを使用すると、数回クリックするだけでファイルデータをレプリケートできます。データの変更を監視および同期するために、追加のインフラストラクチャやカスタムプロセスを手動でプロビジョニングする必要はありません。Amazon EFSレプリケーションは、目標復旧時点(RPO)と目標復旧時間(RTO)を数分で満たすように設計されており、ビジネス継続性とコンプライアンスの要件を満たすことができます。
43 Amazon Managed Streaming for Apache Kafka (Amazon MSK) is Now Available in Asia Pacific (Osaka) Apache Kafka(Amazon MSK)のAmazonマネージドストリーミングがアジア太平洋(大阪)で利用可能になりました。
Apache Kafka(Amazon MSK): https://dev.classmethod.jp/articles/amazon-managed-streaming-for-kafka-released/
44 Amazon Chime SDK now supports video background replacement Amazon Chime SDKを使用すると、開発者はWebアプリケーションにリアルタイムのオーディオ、ビデオ、および画面共有を追加できます。開発者は、Webカメラのビデオの背景を画像に置き換えて、視覚的な注意散漫を減らし、視覚的なプライバシーを高めることができるようになりました。
45● Lightsail CDN now supports Lightsail Container Services as origins Lightsail CDNがオリジンとしてLightsail Container Servicesをサポート。
46 Amazon Fsx for NetApp ONTAP now enables you to grow your SSD storage capacity Amazon FSx for NetApp ONTAPにより、SSDストレージ容量を拡張できるようになりました。
47 Amazon EC2 R6i instances are now available in 2 additional regions Amazon EC2 R6iインスタンスが、追加でカナダ(中央)および南アメリカサンパウロ)のAWSリージョンで利用可能になりました。
48 Amazon S3 File Gateway adds schedule-based network bandwidth throttling Amazon S3 File Gatewayは、スケジュールベースのネットワーク帯域幅調整をサポートするようになりました。これにより、データセンターとAmazonS3ストレージ間のネットワーク使用を最適化してデータ同期を行うことができます。
49● AWS Panorama Appliances now available for purchase on Amazon.com and Amazon Business AWSパノラマアプライアンスAmazon.comおよびAmazonBusinessで購入できるようになりました。
AWS Panorama Appliance: https://www.amazon.com/dp/B08XL8GJN8/
Blog: https://aws.amazon.com/jp/blogs/news/computer-vision-at-the-edge-with-aws-panorama/
50 Amazon Managed Streaming for Apache Kafka (Amazon MSK) is now available in Africa (Cape Town) Apache Kafka(Amazon MSK)のAmazonマネージドストリーミングがアフリカ(ケープタウン)で利用可能になりました。
51● Amazon Textract adds synchronous support for single page PDF documents and support for PDF documents containing JPEG 2000 encoded images これまで請求フォーム、請求書と領収書、契約書、身分証や申請書などのドキュメントからテキストとデータを抽出するために、Textract の同期 API (DetectDocumentText、AnalyzeDocument、AnalyzeExpense および AnalyzeID) を呼び出す前に、PDF ドキュメントを PNG 形式または JPEG 形式に変換する必要がありました。今回のアップデートで、Amazon Textract はその前処理ステップを省き、同期オペレーションで単一ページの PDF ドキュメントをサポートしているため、お客様はドキュメントを PDF から PNG または JPEG に変換せずに、PDF ドキュメントからテキストとデータを抽出できるようになります。さらに、Amazon Textract は、PDF ドキュメント内の JPEG 2000 エンコード画像の処理もサポートするようになりました。これで、PDF ドキュメント内の JPEG 2000 エンコード画像からテキストとデータを抽出できます。
52★ Introducing Amazon EC2 X2iezn instances メモリに最適化された Amazon EC2 X2iezn インスタンスを利用できるようになりました。Amazon EC2 X2iezn インスタンスは、インテル Xeon スケーラブルプロセッサの第 2 世代を搭載し、最大 4.5 GHz のオールコアターボ周波数を備えています。これはクラウドで最速です。
53● Amazon GuardDuty now protects Amazon Elastic Kubernetes Service clusters Amazon GuardDuty は、Amazon Elastic Kubernetes Service (Amazon EKS) クラスターアクティビティを継続的にモニタリングおよびプロファイリングして、コンテナワークロードに対する潜在的な脅威を表す悪意のあるまたは疑わしい動作を特定することが出来るようになりました。
54★ Contact Lens for Amazon Connect now supports custom vocabulary for tuning transcription accuracy Contact Lens for Amazon Connect で文字起こしの精度をチューニングするためのカスタム語彙がサポートされました。この機能は、Contact Lens の音声テキスト化エンジンが持つ語彙を拡張するので、各ビジネスの現場では、製品名、ブランド名、そしてドメイン固有の用語に関する音声認識能力が向上します。
Contact Lens for Amazon Connect: https://aws.amazon.com/jp/blogs/news/contact-lens-for-amazon-connect-japanese/
55 Amazon MQ is now authorized as FedRAMP Moderate AmazonMQがFedRAMPModerateとして承認されるようになりました。
56 Amazon EC2 R5b instances are now available in Asia Pacific (Seoul) Amazon EC2 R5b インスタンスがアジアパシフィック (ソウル) で利用可能になりました。
57 Amazon AppFlow now supports bi-directional transfer of data between SAP applications and AWS Amazon AppFlowは、SAP、Salesforce、Zendesk、Slack、ServiceNowなどのSoftware-as-a-Service(SaaS)アプリケーションと、AmazonS3やAmazonRedshiftなどのAWSサービス間でデータを安全に転送できるようにするフルマネージド統合サービスです。今回のアップデートでAmazon AppFlowは、SAPアプリケーションとAWS間のデータの双方向転送をサポートするようになりました
58 Amazon QuickSight adds comparative and cumulative date/time calculations Amazon QuickSightは、比較(例:前年比)および累積(例:年初来)期間関数をサポートするようになりました。これらの新機能により、QuickSightの作成者は、複雑な行オフセットや事前に計算された列を使用せずに高度な日付/時刻計算を実装することが出来るようになりました。
59 AWS IoT Greengrass is now available in Canada (Central) region AWS IoT Greengrassがカナダ(中央)リージョンで利用可能になりました。
AWS IoT Greengrass: https://dev.classmethod.jp/articles/greengrass-ver2-ga/
60 Amazon Elastic File System (Amazon EFS) is now available in the AWS Asia Pacific (Jakarta) region Amazon Elastic File System(Amazon EFS)がAWSアジアパシフィック(ジャカルタ)リージョンで利用可能になりました。
61● AWS Resilience Hub expands to 13 additional AWS Regions AWS Resilience Hubを使用すると、AWSでのアプリケーションの復元力を評価し、構成、テスト、アラーム、リカバリ標準操作手順(SOP)などの推奨事項を受け取って、アプリケーションの復元力を向上させ、目標復旧時間の達成に役立てることができます。今回のアップデートでは利用できるリージョンが拡張されました。
AWS Resilience Hub: https://aws.amazon.com/jp/blogs/news/monitor-and-improve-your-application-resiliency-with-resilience-hub/
62★ Amazon RDS Performance Insights now supports query execution plan capture for RDS for Oracle Amazon RDS Performance Insightsは、Amazon RDS for Oracleのクエリ実行プランの収集と追跡をサポートするようになりました。これにより、クエリ実行プランの変更がクエリのパフォーマンスの低下やスタックの原因であるかどうかをより簡単に特定できます。
63● AWS announces the launch of prediction explanations for Amazon Fraud Detector Models AWSコンソールとSDKの両方から利用できるAmazonFraud Detector機械学習(ML)モデルの予測説明のリリースを発表できることを嬉しく思います。予測の説明は、予測子(または入力変数)が不正スコアに与える影響を報告します。これにより、顧客は、MLモデルが特定の不正スコアにどのように到達したかをより明確に把握できます。(以前は、顧客は不正予測の一部としてリスクスコアを受け取りましたが、どの入力変数が特定のMLリスクスコアに寄与したかを説明する詳細は取得できなかった。) Amazon Fraud Detector(AFD)は、偽のアカウントの作成やオンライン支払い詐欺など、潜在的に不正なオンライン活動を簡単に特定できるようにするフルマネージドサービスです。内部でMLを使用し、AFDの20年以上の不正検出の専門知識に基づいて、MLの専門知識を必要とせずに、潜在的な不正行為をミリ秒単位で自動的に識別します。
ブログ: https://dev.classmethod.jp/articles/amazon-fraud-detector-reinvent2019-keynote/
64 Amazon Managed Workflows for Apache Airflow (MWAA) now supports Apache Airflow version 2.2 and Web Server Plugins Apache Airflow(MWAA)のAmazonマネージドワークフローでApache Airflow2.2環境を作成できます。Apache Airflow 2.2は、顧客がワークフローを作成、スケジュール、および監視するのに役立つ、人気のあるオープンソースツールの最新バージョンです。
Apache Airflow: https://airflow.apache.org/docs/apache-airflow/stable/concepts/overview.html
65★ Metrics now available for AWS PrivateLink AWSPrivateLinkでメトリクスが利用可能になりました。メトリックを使用して、エンドポイントを介したトラフィック量と接続数を追跡し、パケットドロップを監視し、サービスによる接続リセット(RST)を表示できます。
66★ Amazon EC2 G4dn instances now available in AWS Asia Pacific (Osaka) Amazon EC2 G4dnインスタンスAWSアジアパシフィック(大阪)で利用可能になりました。
67★ Amazon RDS for PostgreSQL and Amazon RDS on AWS Outposts Now Supports PostgreSQL 14 Amazon RDS forPostgreSQLおよびAWSOutpostsのAmazonRDSがPostgreSQL14をサポートするようになりました。
68 Amazon Kinesis Data Firehose now delivers to Honeycomb Amazon Kinesis DataFirehoseがHoneycombに配信されるようになりました。
Honeycomb: https://www.honeycomb.io/
69 AWS Cloud Map API now supports IPv6 AWS Cloud MapAPIがIPv6をサポートするようになりました。AWS Cloud Mapを使用すると、Amazon Elastic Container Services(Amazon ECS)タスク、Amazon Elastic Compute Cloud(Amazon EC2インスタンスAmazon DynamoDBテーブル、その他のクラウドリソースなどのアプリケーションリソースのカスタム名を定義できます。次に、これらのカスタム名を使用して、AWS SDKと認証済みAPIクエリを使用して、アプリケーションからクラウドリソースの場所とメタデータを検出できます。
AWS Cloud Map: https://qiita.com/atsumjp/items/19ee0537ba23483aaa99
70 Amazon SageMaker Autopilot adds support for Apache Parquet file format Amazon SageMaker Autopilotは、データに基づいて最適な機械学習モデルを自動的に構築、トレーニング、調整すると同時に、完全な制御と可視性を維持できるようにします。今回のアップデートでは、SageMakerAutopilotはApacheParquetファイル形式をサポートするようになりました。Apache Parquetは、ApacheHadoopエコシステム向けの無料のオープンソース列指向データストレージ形式です。パフォーマンスが向上した効率的なデータ圧縮およびエンコード方式を提供します。この新機能により、ApacheParquetファイル形式で保存されたファイルを使用してSageMakerオートパイロット実験を作成できます。
Amazon SageMaker Autopilot: https://dev.classmethod.jp/articles/sagemaker-autopilot/
71★ AWS Systems Manager now supports higher concurrency for Automation executions AWS Systems Managerは、最大500の同時自動化実行をサポートするようになり、インスタンスに大規模なパッチを適用するなどの運用タスクを自動化できるようになりました。
72 AWS Systems Manager Automation now enables monitoring of service usage quota in Amazon CloudWatch Amazon CloudWatchを使用して、同時に実行またはキューに入れられたSystems ManagerAutomationの実行数を視覚化および監視できるようになりました。CloudWatchアラームを作成して、AWSアカウントで利用可能なサービスクォータの80%など、使用量が定義されたしきい値を超えた場合に通知を受け取ることもできます。
73 Amazon SageMaker Autopilot adds support for datasets up to 100 GB SageMaker Autopilotは、SageMaker Autopilotが現在サポートされているすべてのAWSリージョンで、デフォルトで最大100 GBのサイズのデータ​​セットをサポートするようになりました。
74 Improved progress updates for blue/green deployments in Amazon OpenSearch Service Amazon OpenSearchServiceでのBlue/Greenデプロイの進捗状況が改善され、新しい環境の作成、インスタンスのプロビジョニング、シャードのコピー、古いインスタンスの削除などのさまざまな段階を可視化することが出来るようになりました。
75 AWS Lambda auto scaling improvements for Amazon MSK and self-managed Apache Kafka as event sources イベントソースとしてのAmazonMSKおよびセルフマネージド型のApacheKafkaのAWSLambdaのパフォーマンスが改善されました
76● Amazon Connect Chat now supports a configurable chat duration of up to 7 days Amazon Connectでは、チャット期間を1時間から7日まで構成できるようになりました。これにより、顧客がチャットの有効期限が切れる前にチャットのやりとりを再開する必要がある期間を定義できます。
Amazon Connect Chat: https://dev.classmethod.jp/articles/amazonconnect_chat_test/
77● AWS Step Functions adds mocking support for testing workflows locally ステートマシン内の決定ロジック、エラー処理、およびデータ変換をテストするときに、サービスをモックするか呼び出すかを選択できるようになりました。状態ごとに複数のモックを作成して、retryステートメントやcatchステートメントなどのエラーを処理するロジックをテストすることもできます。
78 Amazon SageMaker JumpStart models support custom VPC and KMS settings Amazon SageMaker JumpStartモデルは、カスタムVPCおよびKMS設定をサポートするようになりました。
79 Amazon MSK now offers the ability to scale storage throughput up to 1000 MiB/s per broker Amazon MSKは、ブローカーあたり最大1000 MiB / sのストレージスループットを拡張する機能が追加されました。
80● Amazon Lex launches multiple transcripts and confidence scores support for speech input 音声入力の複数の文字起こしと信頼スコアのサポートを開始しました。
数の文字起こしに関してはこのドキュメントが分かりやすかったです: https://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/using-transcript-confidence-scores.html

週間AWS

aws.amazon.com

aws.amazon.com

AWS最新情報をキャッチアップしよう vol.1

イベントページ

hackermeshi.com

集計期間

2022年1月1日〜2022年1月17日

アップデート情報

★・・・週間AWSで紹介されていた内容

●・・・個人的に気になった内容

No. Title Note
1 Amazon Lex launches support for Catalan Lexは会話型インターフェースを作成できるサービス。いわゆるAlexaのようなものを作りたい時に使われる。
カタルーニャ語のサポートが開始されたといった内容だけど、個人的にはいつのまにか日本語に対応していることに驚いた…
2 AWS Console Mobile Application adds support for Asia Pacific (Jakarta) region AWS Console Mobile Applicationはスマフォからコンソール画面にログインできるアプリ。ジャカルタリージョンでも使用できるようになった。
3★ Introducing Autoscaling in AWS Glue jobs (Preview) AWS Glueのジョブでオートスケーリング機能が利用の可能に(※プレビュー版&オハイオのみ。)
Glueについては以下の記事に詳しく書かれている。
https://dev.classmethod.jp/articles/relay_looking_back_aws_glue/
4 AWS Resource Groups and Tag Editor are now available in the Asia Pacific (Jakarta) region. AWS Resource Groupsは特定のタグをグループ化したり、AWSリソースをまとめてタグ付けが出来る機能。
参考: https://dev.classmethod.jp/articles/resurce-group/
この機能がジャカルタリージョンでも使用できるようになった。
5★ Introducing AWS Glue Interactive Sessions and Job Notebooks (Preview) サーバーレスでJupyter Notebookを構築できるようになったとのこと。Jupyter Notebookについては下記記事を参照。
https://udemy.benesse.co.jp/development/python-work/jupyter-notebook.html
東京リージョンでも利用可能だがプレビュー版なので注意。
6 ACM Private CA Kubernetes cert-manager plugin is production ready https://twitter.com/toricls/status/1478564718675906561?s=20
※cert-manager: KubernetesTLS 証明書管理用に広く採用されているもの
7 Announcing Personal Identifiable Information (PII) detection and remediation in AWS Glue (Preview) 機械学習を用いてPersonal Identifiable Information: PII (個人識別情報) の検出と修正が可能に。(プレビュー版&東京リージョンでは現状利用不可)
8★ Amazon OpenSearch Service (successor to Amazon Elasticsearch Service) now supports OpenSearch version 1.1 バージョン1.1が利用可能に。新しいバージョンには、クラスター間レプリケーションのサポート、履歴データの異常検出等の機能向上が含まれている。
9 AWS Storage Gateway now supports Dell EMC NetWorker 19.5 and Veeam Backup & Replication 11A on Tape Gateway AWS Storage Gateway が Tape Gateway 上での Dell EMC NetWorker 19.5 と Veeam Backup & Replication 11A のサポートを開始
10★ Amazon Managed Blockchain (AMB) announces support for Hyperledger Fabric v2.2 Hyperledger Fabric (Fabric) 2.2 はブロックチェーンフレームワーク。このフレームワークAmazon Managed Blockchain (AMB) に対応した。
11★ Amazon SageMaker JumpStart adds LightGBM and CatBoost Models for Tabular Data Amazon SageMaker JumpStart のタブデータに LightGBM と CatBoost モデルが追加。Amazon SageMaker JumpStartについては以下の記事を参照。
https://blog.serverworks.co.jp/2021/06/24/sagemaker-jumpstart-solution
12★ Amazon EMR on EKS releases Custom Image Validation Tool to simplify testing of your customized docker container images Amazon EMR on EKSでカスタムイメージを利用する際に、そのコンテナイメージを検証するためのツールがオープンソースとして公開。(EMR on EKS 上で Apache Spark アプリケーションを実行するために使用する Docker コンテナイメージをカスタマイズする機能)
13★ Amazon ECS launches new simplified console experience for creating ECS clusters and task definitions Amazon ECSのコンソールが改善されAuto Scalingグループの作成が簡単になったり、タスク実行に必要なロールの自動作成が可能になる等、より容易にコンテナアプリケーションの設定が可能に。
14 AWS IoT Device Management launches Automated Retry capability for Jobs to improve success rates of large scale deployments AWS IoT Device Management が、大規模なデプロイの成功率を向上させるためにジョブの自動再試行機能の提供を開始。
AWS IoT Device Management: https://aws.amazon.com/jp/iot-device-management/
15 Amazon EMR on EKS adds support for customized container images for AWS Graviton-based EC2 instances Amazon EMR on EKS が AWS Graviton ベースの EC2 インスタンス用にカスタマイズされたコンテナイメージのサポートを追加

AWS Graviton: https://aws.amazon.com/jp/ec2/graviton/
16 AWS Snowcone is now available in AWS Europe (London) AWS Snowcone が AWS 欧州 (ロンドン) で利用可能に。
17★ Announcing AWS Data Exchange for Amazon Redshift Amazon Redshift 向けAWS Data Exchangeが一般提供開始(GA)。AWS Data Exchange上のサードパーティーのデータをサブスクライブすると、Amazon Redshift上に自動的にデータが追加される。抽出、変換、ロード (ETL) は必要無し。AWS Data Exchangeには例えばCOVID-19のデータセット等がある。
参考: https://dev.classmethod.jp/articles/aws-data-exchange-for-apis/
18 Amazon OpenSearch Service (successor to Amazon Elasticsearch Service) now supports anomaly detection for historical data Amazon OpenSearch Service (Amazon Elasticsearch Service の後継サービス) が履歴データの異常検出のサポートを開始
19 AWS Single Sign-On is now available in the AWS GovCloud (US-East) Region AWS Single Sign-On が AWS GovCloud (米国東部) リージョンで利用可能に
20 Amazon EMR on EKS adds error message details in DescribeJobRun API response to simplify debugging Amazon EMR on EKS が、デバッグを簡素化するために DescribeJobRun API 応答にエラーメッセージの詳細を追加。これにより失敗したジョブを簡単にデバッグすることが可能。
21 Amazon RDS for Oracle now supports October 2021 Release Update (RU) for Oracle Database 12.2 and 19c Amazon RDS for OracleOracle Database 12.2 および 19c の 2021 年 10 月のリリースアップデート (RU) のサポートを開始
22★ Announcing AWS CloudTrail Lake, a managed audit and security lake 新しいサービス、AWS CloudTrail Lakeが発表され、一般提供開始(GA)。各リージョンのCloudTrail上にあつまったデータを一か所にあつめてSQLで分析可能にするサービス。(今まではS3に出力してAthenaでテーブル作ってと色々あったけど、よしなにやってくれるようになった)
https://aws.amazon.com/jp/blogs/mt/announcing-aws-cloudtrail-lake-a-managed-audit-and-security-lake/
23 Amazon Chime SDK meetings now available in AWS GovCloud (US) Regions Amazon Chime SDK ミーティングが AWS GovCloud (米国) リージョンで利用可能に
24★ Amazon RDS Proxy is now available in 8 additional AWS Regions Amazon Relational Database Service (RDS)およびAmazon Aurora用のフルマネージドで可用性の高いデータベースプロキシである、Amazon RDS Proxyで利用可能なリージョンが追加され、大阪リージョンでも利用可能に。
Amazon RDS Proxy: https://aws.amazon.com/jp/rds/proxy/
25 Amazon CloudWatch Logs announces AWS Organizations support for cross account Subscriptions Amazon CloudWatch Logs がクロスアカウントサブスクリプションに関する AWS Organizations のサポートを発表
26 Amazon EC2 On-Demand Capacity Reservations now support Cluster Placement Groups Amazon EC2 オンデマンド容量予約がクラスタープレイスメントグループのサポートを開始
On-Demand Capacity Reservations: https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html
27★ Amazon EKS now supports Internet Protocol version 6 (IPv6) Amazon Elastic Kubernetes Service (EKS)がIPv6をサポート。これによりKubernetes上のコンテナ型アプリケーションをIPv6の広大なネットワークアドレスを利用して配置することが可能に。
28 Fine grained access control now supported on existing Amazon OpenSearch Service domains 既存の Amazon OpenSearch Service ドメインできめ細かいアクセスコントロールのサポートを開始。
29★ Instance Tags now available on the Amazon EC2 Instance Metadata Service Amazon Elastic Compute Cloud (EC2)のインスタンスメタデータサービスで、EC2インスタンスのタグの情報を取得が可能に。詳細は下記ブログ記事を参照。
https://dev.classmethod.jp/articles/get-instance-tags-via-metadata-service/
30 Announcing AWS Serverless Application Model (SAM) CLI support for local testing of AWS Cloud Development Kit (CDK) AWS Cloud Development Kit アプリケーションのローカルテストに対応した AWS Serverless Application Model CLI (AWS SAM CLI) の一般提供を開始。
詳細: https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-cdk.html
31 Amazon QLDB now supports JSON output format for exports Amazon QLDB がエクスポート用の JSON 出力形式のサポートを開始。
Amazon QLDB: https://aws.amazon.com/jp/qldb/ (改竄不能な台帳データベース)
32★ AWS Lambda now supports ES Modules and Top-Level Await for Node.js 14 AWS Lambda が ES モジュールと Node.js 14 の Top-Level Await のサポートを開始
33★ Introducing 37 new resource types in the CloudFormation Registry CloudFormation を使用して、新しく 37 のリソースタイプを設定、プロビジョニング、および管理できるようになった。
34 Amazon EMR on EKS adds support for customized container images for interactive jobs run using managed endpoints Amazon EMR on EKS、マネージドエンドポイントを使用して実行されるインタラクティブジョブのカスタマイズされたコンテナイメージのサポートを追加。
35 AWS IoT Core for LoRaWAN Launches Two New Features to Manage and Monitor Communications Between Device and Cloud AWS IoT Core for LoRaWAN がデバイスクラウド間の通信を管理およびモニタリングするための 2 つの新機能を発表
36● Amazon ECR adds the ability to monitor repository pull statistics Amazon ECR がリポジトリプル統計をモニタリングする機能を追加。
37 Amazon EC2 M6a Instances are Now Available in Asia Pacific (Mumbai) AWS Region Amazon EC2 M5a、M5ad、R5a、R5ad、T3a インスタンスがアジアパシフィック (ムンバイ) リージョンで利用可能に。
38★ Amazon AppStream 2.0 now provides application entitlements for SAML 2.0 federated user identities Amazon AppStream 2.0 が SAML 2.0 フェデレーティッドユーザー ID 向けにアプリケーションエンタイトルメントの提供を開始。詳細は下記ブログ記事参照。
https://dev.classmethod.jp/articles/try-appstream2-application-entitlements/
WorkSpacesとAppStream 2.0の違いに関しては以下の記事を参照。
https://dev.classmethod.jp/articles/web-access-workspaces-vs-appstream-2-0/
39 Amazon RDS for SQL Server now supports SSAS Multidimensional Amazon RDS for SQL Server は、SSAS 多次元のサポートを開始
40 EMR Studio is now upgraded to JupyterLab v3.1.4 EMR Studio は、JupyterLab v3.1.4 にアップグレード。
41 Amazon EC2 C6g and R6gd instances powered by AWS Graviton2 now available in additional regions. AWS Graviton2 を搭載した Amazon EC2 M6gd および C6gd インスタンスが追加のリージョンで利用可能に
42 AWS Firewall Manager now supports AWS Shield Advanced automatic application layer DDoS mitigation AWS Firewall Manager で、組織内のアカウント全体に AWS Shield Advanced の自動アプリケーションレイヤー (L7) DDoS 保護を一元的にデプロイが可能に。
43 AWS Compute Optimizer makes it easier to optimize by leveraging multiple EC2 instance architectures AWS Compute Optimizer が、複数の EC2 インスタンスアーキテクチャを活用することで最適化をより容易に
44★ Amazon RDS for MySQL Supports New Minor Versions 5.7.36, and 8.0.27 Amazon RDS for MySQL が、新しいマイナーバージョン (5.7.36 および 8.0.27) のサポートを開始
45 Amazon SNS now supports Attribute-based access controls (ABAC) Amazon Simple Notification Service (Amazon SNS) は、Publish や PublishBatch などの API アクション向けの属性ベースのアクセス制御 (ABAC) をサポート。ABAC は、IAM ユーザーやロールなどの IAM リソース、および Amazon SNS トピックなどの AWS リソースにアタッチできるタグに基づいてアクセス許可を定義し、許可管理を簡素化することが出来る。
46 Introducing real-time collaborative notebooks in EMR Studio EMR Studio を使用して、チーム間でリアルタイムにコラボレーションが可能に。
47★ Introducing Amazon EC2 Hpc6a instances Amazon EC2 Hpc6a インスタンスの一般向けの提供を開始。これらのインスタンスは、数値流体力学、貯留層モデル、気象シミュレーション、有限要素解析など、コンピューティングを多用する高性能コンピューティングワークロードを効率的に実行するように最適化されている。
48 Amazon SageMaker Feature Store connector for Apache Spark for easy batch data ingestion Amazon SageMaker Feature Store が強化され、データのバッチ取り込みを容易にすることのできる Apache Spark 向けの強力なコネクタが追加
49 Announcing AWS PrivateLink Support for Amazon Lex Amazon Lex は、AWS PrivateLink を介して Amazon Virtual Private Cloud (VPC) エンドポイントをサポート。これにより、パブリック IP を使用したり、トラフィックをパブリックインターネットに公開したりすることなく、VPC 内から Amazon Lex V2 API への呼び出しが可能に。
50 AWS Toolkit for JetBrains IDEs adds support for ECS-Exec for troubleshooting ECS containers AWS Toolkit for JetBrains (JavaIDE)は、Amazon ECS コンテナに接続し、Amazon ECS Exec を使用してコマンドを発行する便利な IDE 機能をデベロッパーに提供。これにより、デベロッパーは、IDE を離れることなく、Amazon EC2 インスタンスAWS Fargate で実行されている ECS コンテナにコマンドを実行したり、シェルを取得したりするなど、コンテナを直接操作が可能に。
51● Announcing the General Availability of AWS Local Zones in Atlanta, Phoenix, and Seattle アトランタ、フェニックス、シアトルでの AWS Local Zones の一般提供の発表。
AWS Local Zones: https://dev.classmethod.jp/articles/aws-local-zones-feature/
52 Announcing SageMaker Training support for ml.g5 instances SageMaker トレーニングでの ml.g5 インスタンスサポートの発表
53★ Amazon Redshift Spectrum now offers custom data validation rules Amazon Redshift Spectrumを利用してAmazon S3のデータレイクにクエリを行う際に、外部テーブルのデータ検証を行うためのルールをカスタムの定義が可能に。元々、データに予期しない値が含まれている場合に、その値をnullに置き換えたり末尾を切り捨てたりするビルトインルールが用意されていましたが、これを上書きして、クエリを失敗させたり行を無視させたりといった挙動を定義できる。
54 AWS AppSync now supports cache entry eviction for server-side data caching AWS AppSync が、サーバー側のデータキャッシングのキャッシュエントリ削除のサポートを開始
55 AWS Launch Wizard now adds AWS Service Catalog integration for Microsoft SQL Server deployments AWS Launch Wizard に Microsoft SQL Server デプロイ対応の AWS Service Catalog 統合を追加
56★ Introducing SQL Explorer in EMR Studio RやPythonScala、PySparkによる分析アプリケーションの開発・視覚化・デバッグを可能にするIDEであるAmazon EMR Studioで、SQL Explorerを利用可能に。この機能を利用すると、EMR Studioのデータカタログを参照しEMRクラスタに対してSQLクエリを実行することが容易になる。
57 Amazon Kendra launches support for query language Kendra によるクエリ言語のサポート。これにより、高度な検索用語と手法を駆使して、より正確な回答を取得が可能に。
Amazon Kendra とは: https://aws.amazon.com/jp/about-aws/whats-new/2022/01/amazon-kendra-query-language/
58★ AWS Announces New Launch Speed Optimizations for Microsoft Windows Server Instances on Amazon EC2 AWS が、Amazon EC2 上の Microsoft Windows Server インスタンス向けの新しい起動速度の最適化を発表
59 AWS Fargate is now available in the Asia Pacific (Jakarta) Region WS Fargate がアジアパシフィック (ジャカルタ) リージョンで利用可能に
60★ Announcing the new Console Home in AWS Management Console AWS Management Consoleで新しいコンソールホーム画面が利用可能に。新しいコンソールホームはカスタマイズが可能で、ヴィジェットを追加・削除・再配置することによるカスタマイズが可能。
61★ AWS Launch Wizard now supports scaling HANA based SAP deployments to meet increased performance requirements AWS Launch Wizardを使用してデプロイされたSAPシステムに対して、Launch Wizardを使用してノードを追加することが可能に。S/4HANAやBW/4HANA、NetWeaverといったアプリケーションについて、パフォーマンス要件が大きくなりサーバの追加が必要になった場合でも、Launch Wizardが提供するガイド付のプロセスに基づいてスケーリングの作業を容易に実行できる。
AWS Launch Wizard: https://www.beex-inc.com/blog/aws-launch-wizard-for-sap-review
62 AWS IoT SiteWise Edge supports new data storage and upload prioritization strategies for intermittent cloud connectivity AWS IoT SiteWise Edgeは、断続的なクラウド接続のための新しいデータストレージとアップロードの優先順位付け戦略をサポート
63 AWS Direct Connect announces new location in Australia オーストラリアで新しい AWS Direct Connect ロケーションが利用可能に
64 Amazon Pinpoint launches journey endpoint re-evaluation logic for the Contact Center activity Amazon Pinpoint launches journey endpoint re-evaluation logic for the Contact Center activity
Amazon Pinpoint のジャーニー: https://docs.aws.amazon.com/ja_jp/pinpoint/latest/userguide/journeys.html
65★ Amazon ElastiCache adds support for streaming and storing Redis engine logs Amazon ElastiCacheのRedisエンジンから、Amazon CloudWatch LogsまたはAmazon Kinesis Data Firehoseに対してRedisエンジンのログを出力が可能に。ログはテキストまたはJSON形式で出力出来る。この機能はRedisバージョン6.2を実行するElastiCacheクラスタで利用でき、全てのAWS商用リージョンでサポートされている。
66 Amazon RDS Performance Insights now supports new API endpoints Amazon RDS PerformanceInsightsが新しいAPIエンドポイントをサポート。
67 AWS Storage Gateway is now available in the AWS Asia Pacific (Jakarta) Region AWS Storage GatewayAWSアジアパシフィック(ジャカルタ)リージョンで利用可能に。
68 AWS Systems Manager announces support for categorizing documents of type Command Document AWS Systems Managerがドキュメントの分類としてCommand Documentサポートを発表。
69★ Amazon Forecast now supports AWS CloudFormation for managing dataset and dataset group resources AWS CloudFormationがAmazon Forecastに対応し、データセットとデータセットグループのプロビジョニングや管理が可能に。
70 Amazon RDS for Oracle now supports memory optimized R5 instance types in new region Amazon RDS for Oracleが新しいリージョンでメモリ最適化されたR5インスタンスタイプをサポート
71 Amazon Nimble Studio launches the ability to validate launch profile configurations via the Nimble Studio console Amazon Nimble StudioがNimble Studio console上で起動プロファイル構成の検証機能を提供開始。

週間AWS

aws.amazon.com

aws.amazon.com

スポットインスタンスについて

f:id:kikuchi_et_al:20210404000752p:plain

参考資料

https://pages.awscloud.com/rs/112-TZM-766/images/B1-01.pdf

スポットインスタンスとは

インスタンスの買い方の一つ。最大で90%まで割引できる。 EC2の空きキャパシティを活用した買い方なため、キャパシティが無くなるとインスタンスは中断される。

補足:中断されるとどうなるのか?

中断動作 Amazon EC2 が スポットインスタンス を中断させるときに、次のいずれかを実行するように指定できます。

・ スポットインスタンス を停止させる

・ スポットインスタンス を休止させる

・ スポットインスタンス を終了させる

デフォルトでは、スポットインスタンス は中断されると終了されます。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/spot-interruptions.html#interruption-behavior

ユースケース

アプリケーションの中断に強く、ハイパースケールのワークロードに適してる。

スポットインスタンスの基本

スポットインスタンスは空きキャパシティがあれば起動する。

この空きキャパシティのことを スポットプール と呼ぶ。

スポットインスタンスの4原則

1.ステートレス

スポットインスタンスは中断されることがあるので、インスタンス内に情報を持たせない。

2. 再開可能なワークロード

処理が中断されても問題ないような作りにする。

3.疎結合

疎結合なシステムにすることで中断されても影響を小さくする事が出来る。

4. 分散

複数アベイラビリティゾーンと複数インスタンスタイプを活用することで安く購入できる可能性が上がる。

スポットインスタンスアンチパターン

  • 高可用性を求められるワークロード
    • 例:データベース等
  • チェックポイントを設けにくいステートフルなワークロード
  • アンチパターンな理由:どちらもスポットインスタンスが中断された時のリスクが大きいため

スポットインスタンスの価格

スポットインスタンスは需要と救急に基づいて価格が変動し、その時点のスポットインスタンスの値段のことをスポット価格と呼ぶ。

価格変動の様子を把握すにはEC2のマネージドコンソールから確認できる。

図から分かる通り、同じインスタンスタイプであってもAZによって価格が異なる。

f:id:kikuchi_et_al:20210403235436p:plain


f:id:kikuchi_et_al:20210403235459p:plain

補足:スポットインスタンスアドバイザー

リージョン毎、インスタンスタイプ毎に中断頻度を確認できるツール。

使用するにはワークロードに使うvCPCとメモリを洗い出しておく必要がある。

スポットインスタンスアドバイザーは中断する可能性が最も少ないプールを判断して、オンデマンド料金を削減できます。 スポットインスタンスを選択する前に、お客様はアプリケーションの中断をどの程度許容できるか、およびコスト削減の目標を比較検討する必要があります。 中断の頻度が低いほど、スポットインスタンスを利用できる時間は長くなります。

https://aws.amazon.com/jp/ec2/spot/instance-advisor/

入札不要モデル

スポットインスタンスには上限価格というものを設定できる。

(以前までは上限価格のことを入札価格と呼んでいた。)

上限価格のデフォルト値はオンデマンド料金になっている。

上限価格は任意の値に設定できるが、デフォルトであるオンデマンドの料金に設定しておくことをAWSは推奨している

  • 理由
    • 上限価格を手動で制御すると人手の工数が高かくなるから。
    • 複数のインスタンスタイプを混ぜて購入することが多いため、インスタンスタイプ毎に上限価格を設定するのは負担。
    • 上限価格をオンデマンドの料金にしておけば、オンデマンドインスタンスを使う時より高い金額を請求されなくて済むので安心して使うことが出来る。

補足:上限価格にオンデマンド価格の10倍の値段を設定したらスポットインスタンスが起動しやすくなるのか?

ならない。スポットインスタンスは高い値段で購入しようとしても空きキャパシティが無いと起動することは出来ない。

スポットインスタンスが中断する理由

  • EC2の空きキャパシティの不足
    • オンデマンドインスタの需要増加等
  • スポット価格が変動し、設定していた上限価格を上回った

中断通知

スポットインスタンスが中断する中断する2分前までに中断通知がくる。

この2分間では以下のようなことを行う必要がある。

  • 計算途中の処理等をS3やEFSに退避する。
  • 新規処理の受付を停止する。
  • コンテナであれば新規タスクを立ち上げないようにする。

中断通知を受信する2つの方法

インスタンスメタデータから取得する方法

下記で取得可能。通常時は404、中断時にはステータスコードが200になり、中断予定時刻が返却される。

http://169.254.169.254/latest/meta-data/spot/instance-action

AWSとしてはこのメタデータから中断通知を取得する場合、5秒毎に監視を行うことを推奨している。

EventBridgeから取得する方法

イベントパターンのサービス名をEC2、インスタンスタイプを「EC2 Spot Instance Interruption Warning」にする。

通知先にはLambdaもしくはSNSを設定する。

Lambdaに通知させた場合はどのインスタンスが中断するかをまず把握する必要がある。

中断通知のテスト

任意的に中断する事はできないが、中断通知をテストすることはできる。

方法①:スポットフリートを使う

作成時に「ターゲット容量を維持する」を選択し「中断動作」は「終了」にする。

ターゲット容量を最初に3に設定し、その後2に設定する事で任意的に中断通知を出す事が出来る。

方法②:EC2 Metadata Mockを使う方法

GitHubに公開されているツール。

メタデータサービスのシミュレーションを行なったり、メンテナンスイベント等を擬似的にテスト出来る。

amazon-ec2-metadata-mock

EC2 Metadata Mockだと擬似的にメタデータの出力を変更しているだけなので、EventBridgeを使った通知テストはできない。

スポットインスタンスを起動する4つの方法

スポットインスタンス(単体)

シンプルに一台だけ起動したい時にオススメ

スポットフリート

マネジメントコンソールを使ってスポットインスタンスをまとめて起動・管理するときにオススメ

EC2 Auto Scaling ※AWS推奨

Auto Scalingの各種機能を使ってスポットインスタンスを管理したい場合にオススメ

また、EC2 Auto Scalingの新機能としてミックスインスタンスグループというものがある。

ミックスインスタンスグループを使うと、オンデマンドとスポットを混ぜるだけでなく複数のインスタンスタイプもミックスすることが出来る。

EC2フリート

同期処理や最小起動台数保証などコントロールできる。使用するにはCLI/APIで行う必要がある。

補足:capaciy-optimized

capaciy-optimizedを選択することで中断されにくいAZでスポットインスタンスを起動してくれる。

注意点としては、スポットフリートもしくはEC2フリートでcapaciy-optimizedを有効にした場合、インスタンス群が1箇所のAZで起動する可能性がある。

しかし、EC2 Auto Scalingの場合、複数のAZで起動するようにしていればcapaciy-optimizedを有効にしていても各AZでスポットインスタンスが起動するようになっている。