先週のAWS関連ブログ 〜3/4(日)

セクションナイン吉田真吾@yoshidashingo)です。

今回のざっくりとした感想は、

  • 1ヶ月半でアップデートが追いきれない量になるのでこまめにチェック&検証していこう。
  • EC2起動テンプレートはレガシーなデプロイパイプラインで効果的なものがありそうに思える。
  • 機械学習系(DeepLearning AMIおよびSageMaker)のリリースが多い。
  • Bツリーで扱いやすいようにZ軸インデックスもたせるハックができたり、JSON列が使えるようになったり、Aurora MySQL (5.7版)が便利なのでどんどん使っていきたい。
  • リージョン間VPCはアプリケーション指定形式のリージョンまたぎバックアップや、複数リージョンの監視ソリューションなどに有効。
  • LexやComprehendの日本語対応が待ち遠しい。特にLex+ComprehendのNLUはどんな精度か気になる。使えるならAlexaのバックエンドに置きたい。
  • 「日本におけるプライバシーに関する考慮事項に照らした AWSの利用」ホワイトペーパーは一読しておきたい。
  • AWS GlueやRedshiftを利用した現実的なデータの前処理などを考慮した有益な情報も多かった。
  • LumberyardやGameLiftが知らない間に大幅に成長しているようだ。どこか使ってみられるプロジェクトはないものだろうか。

AWS公式

前回のまとめから1ヶ月ちょっとでまたアップデートが大量にあったので振りかえりまとめ。

NNPACK ライブラリを使用した Apache MXNet の高速化

  • NNPACKとMXNetをソースからビルドする方法の説明
  • CPUベースの推論がMXNet単体の場合に比べて画像認識で2倍〜4倍高速化した

aws.amazon.com

最新 EC2 Goodies – 起動テンプレートとスプレッドプレイスメント

  • EC2の起動時に指定する「AMI ID」や「インスタンスサイズ」「Security Group」などをあらかじめテンプレート化しておける「Launch Templates」機能が追加された。
  • Launch Templates機能で作ったテンプレートをベースにAuto ScalingグループやSpot Fleetが作成できるので、ゴールデンAMIを作成して、最新のゴールデンAMIのIDでテンプレートのバージョンを上げておけば、SpotInstが提供しているような機能が自分たちでも作成できそう。
  • プレイスメントグループはネットワーク的に極めて近い配置を保証してくれるインスタンス配置方法だが、このプレイスメントグループに逆バージョン、重要なインスタンス同士が同一H/Wに乗らないように保証できる指定方法「スプレッドプレイスメント」が追加された

aws.amazon.com

Amazon SageMaker BlazingText: 複数の CPU または GPU での Word2Vec の並列化

  • メニーコアのCPU環境においてHogBatchアプローチで効率良くCPUが使えるようにしたBlazingTextを使うことでモデルの作成を高速化した。これによりGPU環境でも同様にWord2Vec処理を高速化できる。

https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-blazingtext-parallelizing-word2vec-on-multiple-cpus-or-gpus/

AWS データセンターのセキュアな設計について

  • AWSのデータセンターに関する特設サイト。以下のような今まで公開されてなかった(あるいはSOCなどを読まないとわからなかった)情報に簡単にアクセスできるようになっている。

データセンターのセキュリティを検証するために、年間を通して、外部の監査人が2,600以上もの基準や要求事項に沿ったテストを行っています。

aws.amazon.com aws.amazon.com

Microsoft Azure SQL Database から Amazon Aurora への移行

  • Azure SQL Database側でDMSのIPアドレスを接続元として解放すれば簡単にAuroraに移行できるよという話

aws.amazon.com

Amazon RDS for PostgreSQL から Amazon Aurora PostgreSQL リードレプリカを作成可能になりました

  • これでPostgreSQLもMySQLと同じように、RDSからAuroraにダウンタイム少なく移行させることが可能になった。
  • また、暗号化されたRDS for PostgreSQLのスナップショットからAurora for PostgreSQLの起動が可能になった。

aws.amazon.com aws.amazon.com

Amazon Aurora under the hood: Z-order curvesを用いたgeospatial indexの作成

  • 空間分析においては一般的にインデックスはBツリーではなくRツリーが効果的だが、Rツリーインデックスはデータ挿入時のインデックス挿入が高コストでインデックス再構築が大変である場合がある。これをBツリーインデックスベースで、ただし多次元データを一次元にマップするトリック「space-filling z-order curves」を使ってX軸Y軸の範囲内のZ軸をインターリーブで計算できるように表現できる。これをAuroraでは指定するだけで使えるようになり、通常のMySQL 5.7に比べて読み取りで10倍、書き込みで20倍速い速度でクエリできるようになっている、という話

aws.amazon.com

新規 – リージョン間 VPC ピアリング

  • リージョン間のVPCピアリング(リージョン内同様、アカウントも跨げる)が可能になった。
  • CIDRの重複によるエラーもリージョン内でのピアリングと同様に発生するのでネットワーク設計はちゃんとやること。

aws.amazon.com

インターリージョンVPCピアリングにリージョン追加。新たに9つのリージョンで利用可能に

  • 2018/2/20に東京リージョンも対象に追加。

aws.amazon.com

東京リージョンに新たにアベイラビリティゾーンを追加

  • 東京リージョンに4つめのAZができ、実質だと3つAZが利用可能に。
  • 3AZないと配備できない色々なサービスがこれで問題なく来る可能性が高まっている気がする。
  • それ以外に、東京リージョンではざっくり10万アカウント以上が利用中というのもわかった。

aws.amazon.com

高い可用性を持つ IBM Db2 データベースをAWS上に構築する

  • DB2の冗長化のハンズオン説明。ここまで具体的なものは他でみたことない気がするので実際に必要になった場合はこれで試してみたい。

aws.amazon.com

AWS Glue がScala をサポートしました

  • AWS GlueのスクリプトをPython以外にScalaでも書けるようになった、これによりSparkのJVMとの間でデータ変換の必要がなくなるので、処理が高速になる。
  • ハンズオン説明で実際にノートブックでETL定義を作成する方法と、実際に走らせる方法がわかる。

aws.amazon.com

ユニシスメインフレームからAWSへの5ステップでの移行

  • ユニシスメインフレーム上のアプリケーションを安全にAWS上に移行する具体的な5つのプロセス(ディスカバー/デザイン/モダナイズ/テスト/実装)の説明
  • 何も替えずに簡単にリフトできるわけではなくきちんとした移行計画が必要という点で、重要なノウハウが共有されている。

aws.amazon.com

AWS DeepLens Lambda 関数と最新 Model Optimizer を深く知り尽くす

  • AWS DeepLens向けに最新Model Optimizerをリリースした。Model OptimizerはAWS DeepLens上でモデルを実行するためにPythonコード一行でモデルをCl-DNN形式に変換してくれるやつ。
  • Lambda関数はAWS Lambdaのコンソールから作成でき、パブリッシュすることでDeepLensコンソールから洗濯できるようになる。osやawscamといったライブラリをインポートすることでネイティブなAPIにアクセスできる。

aws.amazon.com

水門は開いた – EC2 インスタンスのネットワーク帯域幅が増大

  • ENA対応AMIにより作成されたインスタンスでは、EC2-S3間で25Gbps、EC2-EC2間でシングルフロー5 Gbps、マルチフローで最大25Gbps、クラスタープレイスメントグループのEC2-EC2間でシングルフロー10Gbps、マルチフローで最大25Gbpsが実現できるようになった。

aws.amazon.com

AWS Deep Learning AMI に TensorFlow 1.5 と新しい Model Serving 機能が追加されました

  • AWS Deep Learning AMIのTensorFlowを1.41から1.5にバージョンアップし、TensorFlow Servingもプリインストール。
  • TensorFlowを1.41と1.5で特定のトレーニングで1.8倍高速化している。

aws.amazon.com

AWS 深層学習 AMI は TensorFlow と Microsoft Cognitive ツールキット用の Volta GPU に対するより高速のトレーニングを提供します

  • 同上
  • Microsoft Cognitive ツールキット (CNTK)もバージョン2.4が含まれるようになった。

aws.amazon.com

AWS 深層学習 AMI は現在、Chainer と最新バージョンの PyTorch と Apache MXNet をサポートしています

  • 同上
  • Chainerも含まれるようになった。

aws.amazon.com

チャットボットにウェブ UI をデプロイする

  • チャットボットのUIやサイトに埋め込むUIの、S3から配信可能なコードを公開した。

aws.amazon.com github.com

Amazon Comprehend を使用したカスタマーレビューからのセンチメントの検知

  • Amazonのカスタマーレビューを使い、Comprehendでセンチメント分析を行うハンズオン説明
  • AzureのText Analytics APIがすでに日本語対応済み、WatsonのNatural Language Understandingがそろそろ日本語サポートされそうなので、Comprehendも早めに日本語来て欲しい。

aws.amazon.com

Model Server for Apache MXNet、ONNX サポートと Amazon CloudWatch の組み込みを開始

  • モデルをアーカイブしてエンドポイントにデプロイ、またエンドポイント構成可能なDockerイメージを提供するModel Server for Apache MXNet (MMS) のバージョン 0.2をリリースした。
  • MMSはCloudWatchと統合可能で、ホストのCPUやメモリのメトリクスが送信可能。

aws.amazon.com github.com

Amazon Aurora: MySQL 5.7互換をリリース

  • じゃんじゃん使っていこう

aws.amazon.com

ポート443でTLS認証を使ったMQTT: なぜ便利で、どのように動くのか

  • IANAが定めるMQTTのポート(8883)は閉じられていることがある
  • AWS IoT CoreはTLSの拡張ALPNのProtocolNameに“x-amzn-mqtt-ca”プロトコルを指定することでHTTPS(443)で通信を行うことができる

aws.amazon.com

ホワイトペーパー「日本におけるプライバシーに関する考慮事項に照らした AWSの利用」の公開

  • 2017/5/30施行された改正個人情報保護法に対する主な検討事項とAWSの責任共有モデルを比較しチェックできるホワイトペーパーを公開した。

aws.amazon.com

東京リージョンで Amazon Aurora with PostgreSQL Compatibility をご利用可能に

  • 特にAurora PostgreSQLのみPerformance InsightsがCloudWatchの詳細モニタリングの追加のみで利用が可能。
  • RDS for PostgreSQL 9.6.1 – 9.6.3を利用している場合はスナップショットからの移行、リードレプリカ作成→昇格による移行が可能。

aws.amazon.com

Amazon Redshiftを使用した高性能ETL処理のベストプラクティス Top 8

  • Redshiftの特徴を考慮して最適かつ一貫したETL処理のパフォーマンスを実現するための以下の8項目のベストプラクティスを紹介している。
    • 複数の均等なサイズのファイルからデータの COPY
    • Workload Management (WLM) を用いたETL実行時間の改善
    • 定期的なテーブルのメンテナンスの実施
    • 単一のトランザクションで複数ステップの実行
    • データの一括読み込み
    • UNLOADを利用した大きな結果セットの抽出
    • アドホックETL処理に Amazon Redshift Spectrumを使用
    • 診断クエリを使用して日常的なETLヘルスの監視

aws.amazon.com

ご利用の WordPress ブログに新しい Amazon Polly の声を

  • WordPressの管理画面からPollyのプラグインを有効化してIAMのクレデンシャルを指定することで、記事の編集画面でPollyの有効化をチェックするだけで記事の冒頭に読み上げ音声のタグが埋まっているようになる。
  • Pollyはローンチ時からすでに日本語に対応している。

aws.amazon.com

WordPress 向けの Amazon Polly プラグインが Bitnami の AMI にプレインストールされました

  • Bitnamiの提供するWordPressのAMIにPollyプラグインをプリインストール

aws.amazon.com

New – DynamoDB の保存時の暗号化

  • DynamoDBがKMSを使った透過的な暗号化に対応した。
  • 暗号化有無での性能影響は「全くない」とのこと。

aws.amazon.com

Amazon Lex 対話ボックスの対応を強化

  • カスタマイズ可能なレスポンスの事前定義ができるようになった。

aws.amazon.com

【 AWS 新リージョン】 AWS 大阪ローカルリージョンが本日より利用可能になりました

  • 東京リージョンと連動して利用される想定の大阪ローカルリージョンが一般利用可能(審査あり)になった。
  • データの国内バックアップ先など規制による対応が必要な場合に東京からテープアーカイブにしてワンビシなどで国内遠隔地に送っていたユースケースでバックアップが堅牢に自動化できるので有効。

aws.amazon.com

Amazon Relational Database Service – 2017 年を振り返って

  • 2017年のRDSのアップデートまとめ。全部で67個。

aws.amazon.com

AWS Cloudtrail Logs を AWS Glue と Amazon Quicksight 使って可視化する

  • CloudTrailのログ(S3)をLambdaを使ってGlueが処理できる形に整形し(S3)てカタログ作成をし、GlueでParquet形式に出力し(S3)てカタログ作成をしたら、QuickSightでAthenaを使ってクエリすることで可視化をする、というハンズオン説明。

aws.amazon.com

AWS Glue : ネストされた JSON を Relationalizeトランスフォーム

  • ネストされたJSONをGlueを使ってキーとバリューで表現でき、RDBに格納しやすいように変換するRelationalizeというのができる。
  • これを行うとS3に格納した状態でRedshift SpectrumやAthenaからクエリ可能にすることができる。

aws.amazon.com

AWS Glue and SneaQLを使ったAmazon Redshift へのUpsert

  • RedshiftへのUpsertを実現するために、S3に到着したJSONデータをParquet形式にGlueで変換して、SneaQLのECSタスクをトリガし、SneaQLのステートメントでUpsertを行う、という方式。

aws.amazon.com github.com

Amazon EC2 テストポリシー

  • EC2を利用して、他のEC2やAWSのサービスや外部エンドポイントにネットワークストレステストを行う場合、「持続的に 1分以上の間 1 Gbps(秒間 1億ビット)あるいは 1Gpps(秒間 1億パケット)を超えるトラフィック、悪用目的や悪意があるように見えるトラフィック、テスト対象以外(ルーティングや共有サービスのインフラストラクチャなど)へ潜在的に影響を及ぼしうるトラフィック」と判断されるトラフィックが発生しうる場合、事前にテスト内容の評価をしてもらわないと、機能制限を受ける可能性があるので、フォームで申請を行ったほうがよい。
  • 通常のプロダクションでこれ以上のトラフィックを持続的に利用するシステムであればこの制限を受けることはない。

aws.amazon.com

AWS SCT と AWS DMS を使ってMySQLから Amazon Aurora に移行する方法

  • RDS MySQLからAurora MySQLへの移行方法について。同種間移行なので、RDSスナップショットからAuroraを作成するか、Auroraレプリカを作成してマスター昇格させるかで実行可能。
  • オンプレやEC2上のMySQLの場合、Percona XtraBackup か mysqldump、またはbinlogレプリケーションでAuroraリードレプリカを作成してマスター昇格する方法がある。
  • それらで対応できない場合は、AWS SCTでスキーマの定義をエクスポートし、AWS DMSを使ってデータのレプリケーションを実施することもできる。ハンズオン説明つき。

aws.amazon.com

https://d0.awsstatic.com/whitepapers/Migration/amazon-aurora-migration-handbook.pdf

AWS Database Migration Service を使用した Amazon RDS for SQL Server の継続的なレプリケーションの紹介

  • SQL ServerのCDC「MS-CDC」を利用して継続レプリケーションをするためのSQL Server上での設定ガイダンス。

aws.amazon.com

Azure MFAサーバーを使用したAmazon WorkSpacesの多要素認証(Multi-Factor Authentication)

  • RADIUSサーバーを用いた認証を使って、WorkSpacesに多要素認証プロセスでログインする方法。

aws.amazon.com

MySQL5.7互換のAmazon AuroraでJSONを利用する

  • (1)各種便利JSONオブジェクト関数でJSONの記号をエスケープする地獄から解放されるし、(2)仮想列にインデックスも貼れるし、(3)JSON_SETでUpsertできるし、(4)JSON_ARRAY_APPENDでJSON項目の配列の中身だけ追加できるし、(5)JSON_REMOVEで条件に合うJSON項目だけ削除できて、完全にゆとり向きな便利機能。

aws.amazon.com

Lumberyard Beta 1.12 新たな年と新しいエンジン

  • ローンチ当初とはほとんど入れ替わっており、2017年は基礎部分にも大々的に手をいれていたとのこと。
  • The Cloud Gem フレームワークは、ゲーム内でのテキスト→音声合成やアンケート、音声認識などの基礎的だが便利な機能群。
  • SpeedTree 8という植生モデリングがLumberyardユーザーはライセンスが無償で利用可能。
  • 1.11でCryAnimationをEMotion FXに入れ替えブレンドツリー、ステートマシン、ブレンドスペース、モーションツリーなどを使ってモーションアニメーションが作成可能。
  • プレビューリリースのScript Canvasを使うと、EMotion FXなどで作成したアニメーションの挙動をER図のようなGUIで作成が可能
  • Lumberyardで作ることができるサンプルが収録されたStarter Gameや無料のアセットも多数収録されている。

aws.amazon.com

提供開始– AWS Serverless Application Repository

  • AWS Serverless Application Repositoryが一般公開された。
  • アプリケーションはSAMテンプレートとして配布される。
  • 自分のアプリケーションをSAMテンプレート化してpublicなGitHubなどのリポジトリに配置し、ライセンスを指定してパブリッシュすることで一般公開でき、他者に使ってもらうことができる。

aws.amazon.com

Amazon GameLift FleetIQとスポットインスタンスでコストを最大90%削減

  • ゲームサーバーをデプロイ、オペレーション、スケーリング管理するGameLiftが、新たにFleetIQとスポットインスタンス対応の2機能をリリースした。
  • FleetIQはゲームセッションの開始時にスポットインスタンスの中でも中断率の低いインスタンスを優先的に選択することができる機能。これはWebアプリケーションのように永続的にプロセスを常駐させるモデルとの違い。

aws.amazon.com

AWS Single Sign-On でコマンドラインを使った AWS アカウントへのアクセスが利用可能に

  • AWS SSOコンソールでおまとめしているアカウントに対するアクセスをAWS CLIで行う場合のクレデンシャル情報と一時セッショントークンが、ガイダンスに従えば実際にアクセスできる手順とともに表示される仕組み。

aws.amazon.com

【AWS Media Services】東京リージョンローンチのお知らせ

  • AMSの5サービスが東京リージョンにローンチした。
  • AWS Elemental MediaConvert(Elastic Transcoderの上位互換で4Kトランスコードにも対応した変換サービス)、AWS Elemental MediaLive(ライブ配信用サービス)、AWS Elemental MediaPackage(DRMをかけてセキュアに配信するためのパッケージサービス)、AWS Elemental MediaStore(MediaLiveとセットで使う、HLSに特化して安定したライブ配信を可能にしたストレージサービス)、AWS Elemental MediaTailor(パーソナライズや広告挿入を行えるサービス)を組み合わせて大規模な配信をスムーズに実現するサービス

aws.amazon.com

www.slideshare.net

AWS Certificate Manager (ACM) が Certificate Transparency (CT) をサポートするための準備

  • 不正な証明書を見つけたり、そもそも不正な証明書を発行する認証局を見つけるために、Certificate Transparency ログを2箇所以上に書き込むことで正当性を記録する仕組みにすることで、4/30以降、Chromeで不正な証明書扱いになることが避けられる。

aws.amazon.com www.certificate-transparency.org

AWS Batch および Amazon SageMaker を使用してオンラインの化合物溶解度予測ワークフローを構築する

  • AWS BatchとAmazon SageMakerでそれぞれ違う二段階のプロセスを用いて化合物溶解度の予測モデルを作成するハンズオン説明。
  • 1段目のAWS Batchでは候補の分子のlogSolubilityをDockerizeされたRDKitをAWS Batch上で稼働して2D 分子記述子を計算する。
  • 2段目はSageMakerをApache MXNet上で使用して、線形回帰予測モデルを作成する。

aws.amazon.com

Amazon SageMaker が TensorFlow 1.5、MXNet 1.0、CUDA 9 をサポート

  • SageMaker の事前構築済み深層学習フレームワークコンテナが TensorFlow 1.5 および Apache MXNet 1.0 のサポートを開始した。
  • ディープラーニングAMIと同等のセットアップをコンテナに行なっているということのようだ。

aws.amazon.com

DeNA TechCon 2018 – AWS IoTを用いたDeNAオートモーティブアーキテクチャ

  • DeNAオートモーティブでは「Anyca」「タクベル」「ロボネコヤマト」などで、車両情報の管理やサービス連携をAWS上で実現しているという話。

aws.amazon.com speakerdeck.com

Amazon AppStream 2.0 の ID フェデレーションを AD FS 3.0 で実現する

  • 既存の Active Directory や任意の SAML 2.0 準拠の認証サービスを使用してAppStream 2.0のアプリケーションにシングルサインオンできるようにAD FS 3.0、あるいは4.0をセットアップするハンズオン説明。

aws.amazon.com