先週のAWSブログ〜3/18(日)

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

今週も行ってみましょう。

AWS公式 (日本語)

[AWS Black Belt Online Seminar] Amazon SageMaker 資料及びQA公開

  • SageMakerはマネージドなノートブックインスタンスでモデルの作成・訓練から、外部で作成したモデルもインポートできる推論用のエンドポイントを提供するサービス
  • 推論はAutoScalingを組み合わせて最小/最大/スケールイン時のクールダウン期間などにしたがって動作する
  • 学習ジョブの結果がCloudWatch Logsに出力されるので、これで評価ができる

www.slideshare.net

aws.amazon.com

新登場 – 使用量に応じた Amazon Chime 料金

  • 現在3種類あるプランのうち$2.5/月/人のPlusプランを廃止して同プランで提供している画面共有機能と企業ディレクトリ機能をピアチャットのホストとミーティングへの参加のみ可能だった無料のベーシックプランに追加される。
  • 複数ユーザーで行うミーティングのホストをする場合は1回$3〜上限$15 (Proと同等)でホストできるため、無料で使い始めてProプランまで完全に従量課金なプランを提供する
  • 新料金は4/1から。
  • (私見)この分野はZoomの利便性がはるか高いところまで行ってしまっているのでこのサービスはどこまで行けるかという感じ。定点観測系。

aws.amazon.com

【JAWS DAYS 2018】Technical Evangelist パネルセッション書き起こし

  • 先週のJAWS DAYSで亀田さんが海外の4人のエバンジェリストとおこなったパネルの書き起こし
  • 「エバンジェリストは、少しだけ未来に住んでいる。」という話がぐっときましたね。今できないから、今大変だから、だけでなく、どのような将来的なビジョンまで見据えて投資を計画していくかというのが大事で、事業から技術まで周辺状況を見据えて登りかたを計画できるものが強く生き残れるなと個人的にも感じています。
  • 私が発明したAWSカルタがさまざまな人の手によって世界的コンテンツになっているのは嬉しい限りです。

aws.amazon.com

作ったの5年前なんですね yoshidashingo.hatenablog.com

アプリケーションにおける遅延やエラー、失敗の増加を AWS X-Ray が検知した際に Amazon CloudWatch と Amazon SNS を利用して通知する

  • CWE→Lambda→X-RAY(GetServiceGraph API)を定期的に実行し、単位時間内にアプリで発生したエラーが閾値を超えるとSNS経由で通知がされるサンプルアプリ
  • 単純な活用方法だが、たくさんのホストでレジリエントなシステムを監視るる場合、単一のアラートごとに対応するのは意味がないため、こういった仕組みを活用するメリットが大きい。

f:id:yoshidashingo:20180319115313p:plain github.com

aws.amazon.com

Scikit Docker コンテナを構築して、Amazon SageMaker で Scikit-learnモデルのトレーニングとホストを行う

  • scikit-learnを学習・推論両方に使えるDockerコンテナをビルドして利用するための手順を公開している。
  • コンテナイメージのホストはECRと連携することができる。

github.com

aws.amazon.com

[AWS Black Belt Online Seminar] Amazon QuickSight 資料及びQA公開

  • AWS内のあらゆるデータストアと接続できるQuickSightのウェビナー資料
  • 分析時にデータを扱いやすいようにSPICEエンジン上にデータをストアできる。ただし型は限定されてしまうので注意。
  • 時期未定だがDynamoDBも対応予定。
  • データソースがパプリックなエンドポイントを持っていないといけないが、接続元のIPレンジは公開されているので絞ることができる。ちなみにEnterprise Editionで現在プライベートVPC接続がプレビュー中とのこと(未確認)
  • すごーく面倒そうだけど、Enterprise Editionだとデータセットに対して許可や拒否のルールセット(1つしか反映できない)を設定すれば行レベルのアクセス制限が実現できる。

docs.aws.amazon.com

docs.aws.amazon.com

www.slideshare.net

aws.amazon.com

AWS Managed Microsoft ADのディレクトリ管理を、オンプレミスのActive Directoryユーザーに委任する方法

  • AWSがManaged MSAD上にグローバルスコープでAWS delegatedグループを作成していたために、オンプレ側のユーザー管理と別にManaged MSADにユーザーを作らなければいけなかったが、ドメインローカルスコープに対応したため、オンプレADのユーザーそのままマネージドMSADへユーザー追加できるようになった。ちなみに今後はこちらがデフォルトになる。

aws.amazon.com

AWS公式 (本家)

Message Filtering Operators for Numeric Matching, Prefix Matching, and Blacklisting in Amazon SNS

  • SNSがトピックに受信したメッセージのフィルタリングに対応した。
  • これによりメッセージの内容で通知先のキューやLambdaなどを条件に応じて実行させることができるようになった。

aws.amazon.com

Deploy Gluon models to AWS DeepLens using a simple Python API

  • 「シンプルで理解しやすいコード」「柔軟性の高い構造」「動的グラフ」「高性能」という特徴を備えたMXNetのインタフェースとして使えるGluonのモデルをDeepLensにデプロイする方法
  • 参考に画像認識で顔の角度を判別するモデルで、使い方を示している。

aws.amazon.com

New Amazon EC2 Spot pricing model: Simplified purchasing without bidding and fewer interruptions

  • スポットインスタンスは入札という制度をやめてシンプルで価格変動の小さいモデルに移行するとのこと。
  • 個人的にはそもそも入札じゃなかったじゃないとも思うが、新しい指定方法はオンデマンドの10倍まで最高価格が指定できる。
  • コツは複数のAZにまたがって冗長化しておき、アプリを起動したらすぐに稼働できる状態にしておく(VM、コンテナなど実行方法により準備の仕方は異なるが)ことで単一AZでの価格高騰の影響を受けずに高いスポット比率で運用が可能。

aws.amazon.com

How we reduce complexity and rapidly iterate on Amazon GuardDuty: twelve new detections added

  • GuardDutyはとにかく「ON」にするだけでAWS CloudTrail, VPC Flow Logs, DNS logsを元に異常検出を行ってくれるサービス。
  • あらたにCloudTrailログをベースに不審な挙動を発見するアノマリー検出の12の異常検出項目が追加された。

aws.amazon.com

Use Amazon CloudWatch custom metrics for real-time monitoring of Amazon Sagemaker model performance

  • SageMakerでのモデルの学習が過学習にならないように、リアルタイムでトレーニング中のモデルの精度が確認できるようにCloudWatchにカスタムメトリクスを送る方法の解説。

aws.amazon.com

Using AWS Cloud9, AWS CodeCommit, and Troposphere to author AWS CloudFormation templates

  • TroposphereというBoto3からCFnテンプレートを生成できるOSSプロジェクトを利用して、Cloud9上にboto3とTroposphereを入れて、生成するテンプレをCodeCommitにデプロイさせるという便利な使い方の解説。
  • その他Cloud9をホストしているEC2のEBSを拡張してストレージ領域を増やす方法についても解説。

aws.amazon.com

Android GraphQL subscriptions and support for complex objects in AWS AppSync

  • AWS AppSync Android SDKでGraphQL subscriptionsと複合オブジェクト機能でS3のイメージやビデオなどのコンテンツをクライアント間で同期できる機能をサポートした。

aws.amazon.com

Predict March Madness using Amazon SageMaker

  • 3月半ばにNCAA(全米大学体育協会)が主催するバスケットトーナメント、通称「March Madness」で開催されるので、SageMakerを使ってトーナメントの予想を行う方法を解説。
  • S3上のCSVデータを元にSageMakerで分析し、トータルで77.7%の精度であった。

aws.amazon.com

Customize your Amazon SageMaker notebook instances with lifecycle configurations and the option to disable internet access

  • SageMakerは、Notebookインスタンスのライフサイクル設定と、インターネット接続の無効化オプションをサポートした。
  • ライフサイクルフックができるので、インスタンス作成時に必要なパッケージをインストールすることなどができる。特に細かいバージョンのカスタマイズなどがあらかじめ共通的に統一されていると嬉しい場合などに強力だ。
  • インターネット接続の無効化はVPC指定してVPCの中に配置したうえでNotebookインスタンス固有の設定としてDisableにすることが選べる。

aws.amazon.com

Learn about ReadToMe – The first place winner of the AWS DeepLens Challenge Hackathon

  • AWS DeepLens Challenge Hackathonの優勝者が発表された。Alexaさん、子だくさんだぜ楽しそう。
  • ReadToMeはDeepLensに読んで欲しい本のページを掲げると、読み上げてくれる。
  • 掲げられた本のページを画像認識してOCR処理してPollyで読み上げるという仕組み。
  • 将来的にMXNetでその読み取り精度を上げたいと考えているそう。とても素晴らしい。

aws.amazon.com

AWS公式 (最新情報)

AWS Serverless Application Model (AWS SAM) Supports Additional Amazon API Gateway Features

  • SAMがAPI GatewayのロギングやCORSやリージョナルエンドポイントの設定をサポートした。

github.com

Amazon Route 53 Auto Naming Releases API for Managing Health Status of Service Instances

  • Amazon Route 53 Auto Naming APIは手動でヘルス状態を正常/異常と切り替えられるようになり、トラフィックのルーティングを自由に制御できるようになった。

Text to Speech のカスタマイズ性、クラウド Gem のクロスコミュニケーション、PhysX サポートを追加する Amazon Lumberyard ベータ 1.13

  • クラウドGem間での相互にAPIを呼び出せるようAPIを公開したことで、クラウドgemの併用が可能に。
  • クラウド Gem ポータルでSSMLを指定してテキストや音声をカスタマイズできるようにした。
  • PhysX Gemを使うとNvidiaのPhysXコンポーネントをゲームに組み込めるように。
  • その他改善多数(220項目)

Three New Amazon Connect Integrations Offer Contact Center Solutions from Qualtrak Solutions, VoiceBase, and Perficient

  • Amazon Connectはあらたに「Qualtrak Evaluate」「VoiceBase」「Microsoft Dynamics 365 Data Dip by Perficient」との統合をサポートした。

CloudFront が オリジンに対する HTTPS 接続のための ECDSA 証明書をサポートするようになりました

  • CloudFrontとオリジン間のHTTPS接続でオリジンでElliptic Curve Digital Signature Algorithm (ECDSA)証明書を使用または優先するように設定するだけでサポートされる。

AWS AppSync による Android GraphQL サブスクリプションのサポートが可能になり、AWS Amplify を統合するサンプルフォトアプリケーションをリリースしました

  • 上記「Android GraphQL subscriptions and support for complex objects in AWS AppSync」で紹介したとおり。

Amazon Athena を使用した AWS CloudTrail ログ検索

  • AthenaでCloudTrailログにクエリしたい場合、今まではバケットを特定して外部テーブルを作成してから利用できる流れだったが、これからはイベント履歴にCloudTrailのバケット名を入力するだけですぐにクエリを投げられるようになる。

AWS コストエクスプローラーのリザーブドインスタンス (RI) カバレッジレポートで、Amazon RDS、Redshift、ElastiCache Reservations を管理

  • 掲題のとおり、AWS コストエクスプローラーにおいて、Amazon EC2 RI に加え、Amazon RDS、Amazon Redshift、および Amazon ElastiCache の適用状況がリザーブドインスタンス (RI) カバレッジレポートで見られるようになった。

Deploy a Cloud Video Editing Environment on the AWS Cloud with New Quick Start

  • AWS Quick Startsに、クラウド上でビデオ編集を行う環境のクイックスタートガイドおよびテンプレートの提供が開始した。

aws.amazon.com

Announcing Gluon Support for AWS DeepLens

aws.amazon.com - 上記「Deploy Gluon models to AWS DeepLens using a simple Python API」で紹介したとおり

Amazon Inspector Now Supports Amazon Linux 2

  • オンデマンドでセキュリティのアセスメントができる「Amazon Inspector」がAmazon Linux 2をサポートした。

Thinkbox Deadline Now Supports Cinema4D for Linux

  • Thinkbox DeadlineはWindows OSに加えてCinema4DのLinuxやOSX対応をリリースした。
  • このニュースここに要る?

Amazon SNS Introduces New Message Filtering Operators

  • 上記「Message Filtering Operators for Numeric Matching, Prefix Matching, and Blacklisting in Amazon SNS」のとおり

Amazon Elasticsearch Service で Elasticsearch 6.2 が利用可能になりました

  • Amazon Elasticsearch Service で Elasticsearch 6.2 が利用可能になり、Kibanaも6.2がバンドルされるようになった。

書籍「AWSによるサーバーレスアーキテクチャ」を監修しました

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

昨年のServerlessconf Tokyo 2017 において、 Peter Sbarski が司会進行をした動画サイトをサーバーレスで構築するワークショップが非常に好評でした。

togetter.com

そのワークショップ資料を元ネタとして書籍になった「Serverless Architectures on AWS」がこのたび日本語に翻訳されて翔泳社さんから出版されるということで監修を担当しました。

www.shoeisha.co.jp

原書と同じくすべてのソースコードはこちらにあるものを利用してください。

github.com

おすすめポイント

  • オンラインでAWS資格の勉強ができるA Cloud Guruの基礎となっている仕組みを自分で作れるようになります。題材が面白いです。
  • ワークショップのときよりも解説が盛りだくさんになっています。AWSやAuth0、Firebaseはたまたま用事がなくて触ったことがないような人でもこの本を読みながらであれば使い始めることができます。

気をつけるべきポイント

  • 付録B(Appendix.B)は付録というより「セットアップ編」なのですが、今回教材となっている動画シェアサイトのアプリケーションの一部のセットアップも含むため、読み飛ばさずにちゃんとやりましょう。
  • Auth0のDelegation Tokensは現在非推奨になっていますが、OpenID Connectによる再実装は原著と大幅にずれてしまうために断念しました。今後どこかのタイミングで出版社側のウェブサイトなどでOIDCで再実装する解説を掲載するかもしれません。
  • GUI画面は変わってしまう可能性がありますが、慌てずに
    • AWS LambdaやFirebaseが特になんですが、ほぼすべて日本語版コンソールを撮り直したのですが、その監修途中でも画面がアップデートされたので、何度か撮り直しました。なので、皆さんが手元で触ってみるときにコンソールが少しずつ良くなっていく可能性がありますが、慌てずに、本で説明している操作の流れと同様の操作方法を新しい画面のガイダンスに沿って実践しましょう。

サーバーレスアーキテクチャを構成するたくさんのクラウド事業者やコンポーネントとなるSaaSサービスは日々進化しているので、より便利でリッチな機能が、より簡単に組み込めるようになってくると思います。

ひととおりやってみると、サーバーレスアーキテクチャでシステムを組むことによる便利さや今までとの違い、自分のシステムで採用する場合の注意点などの新しい発見ができると思います。楽しんでみてください。

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

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

今週も間隙突きながらアップデートを確認してました。

行ってみましょう。

AWS公式

Auto Scaling が Amazon SageMaker で使用できます

  • SageMakerの「推論」がワークロードに応じてAuto Scaling可能になった。

aws.amazon.com

Amazon CloudFront & Lambda@Edge で画像をリサイズする

  • CloudFrontのエッジでLambdaを実行可能なLambda@Edgeを使い、URLパラメータで指定した画像をキャッシュから返すか、未キャッシュなら生成してからレスポンスする設定方法の解説。

aws.amazon.com

【AWS Samurai 2017 の発表】

  • 波多野さん、小林さん、岡本さん、森さん、伊藤さん おめでとうございます。

aws.amazon.com

AWS OpsWorks for Chef Automate が Chef Automate 1.8.3 をサポート

  • Chefコンプライアンススキャンがエージェントの入ってないノードまで含めてスキャン対象になった。

Amazon Connect が SOC に準拠しました

  • Amazon Connect が SOC (System & Organization Control) 基準を満たすようになった。

Improve the Operational Efficiency of Amazon Elasticsearch Service Domains with Automated Alarms Using Amazon CloudWatch

  • Amazon ES向けにAWS推奨のメトリクスがチェックできるPythonスクリプトを2つ提示しており、これらは手元から実行したりLambdaでCWEから定期的に実行することができる。
  • 1つはリージョン内のすべてのESドメインに対して、設定済みのCloudWatchアラームをチェックする
  • 2つめは指定したESドメインに対してCloudWatchアラームを設定する

aws.amazon.com

AWS Amplify adds support for custom attributes in Amazon Cognito user pools

  • Webアプリを雛形から作成してデプロイすることで、関連の複数サービスの構成を一貫して開発できる「AWS Amplify」で、Cognito User Poolsのカスタム属性を保存、取得できるようになった。

https://aws.github.io/aws-amplify/aws.github.io

aws.amazon.com

AWS Amplify adds support for push notifications in React Native and provides new features for user authentication

  • Webアプリを雛形から作成してデプロイすることで、関連の複数サービスの構成を一貫して開発できる「AWS Amplify」のReact Nativeアプリの雛形に、モバイルプッシュ機能を追加し、ユーザーはAmazon Pinpointコンソールからセグメントした特定のユーザー群にプッシュ通知を送信することができる。

aws.amazon.com

Building a serverless real-time chat application with AWS AppSync

  • モバイルアプリからAppSync(GraphQLインタフェース)やDynamoDBを組み合わせたリアルタイムチャットアプリケーション(ChatQL)の作り方の解説。
  • AWS Amplifyを使うことで、モバイルアプリ、AppSync、Cognito、PinPointなどを組み合わせたアプリケーション&システム構成が一貫して構築できる。

aws.amazon.com

Serverless Dynamic Web Pages in AWS: Provisioned with CloudFormation

  • API Gateway+Lambdaで動的にページ生成する仕組みをCloudFormationでデプロイする話。リッチなUIでなくても良い場合ならアリなんじゃないかと。

aws.amazon.com

How to develop custom AWS Config rules using the Rule Development Kit

  • AWS ConfigのSDKとして公開されている「Rule Development Kit (RDK)」を使うと、Rulesと、そのカスタムルールから呼ばれるLambda関数を一箇所で管理でき、デプロイも簡単になるので、CIから実施するなども可能になる、という話。
  • 私も作ったことあるが正直この方法は良いが、そもそもConfig RulesとひもづくLambdaは結構作るのが大変だ。なので、さらにガイダンスやサンプルをどんどん公開して行ってもらいたい。少なくともこの領域はかなり共通課題が多いと思うので。

aws.amazon.com

How to create custom AWS Config rules with AWS CodeStar

  • そんなConfig Rulesや関数をCIではなくAWS CodeStarを使って開発→デプロイまで統合管理する方法

aws.amazon.com

How to Use Bucket Policies and Apply Defense-in-Depth to Help Secure Your Amazon S3 Data

  • 厳格なアクセスポリシーを実現するバケットポリシーの書き方
  • パブリックアクセス可能なバケットに重要データを扱うIAM Userではオブジェクトが書き込めないようにするとか、CF経由のみ配信するとか、ストレージ(KMS/CSEなど)も経路も暗号化するとか、IPアドレスレンジでアクセス制限するとか、経路は認証されているドメインのTLSを使ってドメインでアクセスさせるとか。

aws.amazon.com

AWS Systems Manager Adds Support for InSpec by Chef

  • AWS OpsWorks for Chef Automate で使える InSpec by Chef の自動実行と同じように、Systems Managerのコマンド実行やステート機能を使って自動化する方法を解説。

AWS Service Catalog がプロビジョニングしたリソースの自動タグ付け用 AutoTags を発表

  • Service Catalog によってプロビジョニングされたリソースにポートフォリオ、製品、ユーザーの個別の識別子など自動的にタグが追加されるようになった。これはユーザー側のタグの上限50とは別カウント。

Amazon Elasticsearch Service でインスタントアクセスポリシーアップデートのサポートを開始

  • ESのアクセスポリシー(IAMやIPアドレス制限)を瞬時にアップデートする機能が追加された。

Amazon RDS で MySQL マイナーバージョン 5.5.59、5.6.39 および 5.7.21 をサポート開始

  • 掲題のとおり

Amazon RDS for SQL Server で新しいマイナーバージョンのサポートを開始

  • Amazon RDS for SQL ServerがMicrosoft SQL Server 2017、2016、2014 2012、および 2008 R2 for Express、Web、Standard、 Enterprise Editionsのバージョンアップしたマイナーバージョンをそれぞれサポートした。

AWS Storage Gateway が新しい CloudWatch イベントでのオートメーション、「リクエスタ支払い」バケットのサポートを拡大

  • AWS Storage GatewayのFile Gatewayアプライアンスが「リクエスタ支払い」バケットへのアクセスをサポートした。アカウントまたぎでのアクセスも可能。

AWS マネージド Microsoft AD の管理強化

  • AWS Directory Service for Microsoft Active Directoryがマネージドディレクトリで「ユーザーの追加」「きめ細やかなパスワードポリシーの作成」「Microsoft エンタープライズ証明機関の有効化」などの管理タスクを実行できるようになった。
  • 新しい AWS delegated AD のセキュリティグループを追加する必要がある

Video on Demand on AWS が AWS Elemental MediaConvert でも利用可能に

  • CFnベースで誰でも同様なソリューションが入手できるAWSソリューションテンプレートがAWS Elemental MediaConvertにも対応し、これを使うと4Kベースの出力が可能なビデオオンデマンドワークフローが簡単に構築できる。
  • CFnベースでデプロイするので、AWS Lambda、Amazon S3、AWS Step Functions、AWS Elemental MediaConvert、Amazon DynamoDB、Amazon CloudWatch、Amazon SNS、および Amazon CloudFront  がデプロイされる。

AWS Service Catalog でカスタマイズ可能なユーザーエクスペリエンスを提供するために、Brand Your Console をローンチ

  • AWS Service Catalogのコンソールを社内ポータルと連携する際にルックアンドフィールの違和感をなくす目的で、ロゴや配色を変更可能にした。

Amazon Redshift Spectrum でスカラー JSON と Ion データタイプのサポートを開始

  • S3上に外部テーブルとして保存しているスカラーJSONとIon形式のデータに対してRedshift Spectrumでクエリを行うことができるようになった。
  • Amazon IonはAmazonが10年前にデータの長期保存のための明確な構文構造を独自開発した、JSONのスーパーセットであるデータ形式。JSON⊂Ion。

Taking Advantage of Amazon EC2 Spot Instance Interruption Notices

  • EC2 Spotインスタンスの中断通知でCloudWatch Eventsをトリガできるようになったので、Lambdaを呼んで何かしたり、SNSに通知を送ってその後のワークフローを実行することができるようになった。

aws.amazon.com

Amazon ECS Supports Container Health Checks and Task Health Management

  • 今までELB経由のヘルスチェックでしかコンテナのヘルスチェックができなかったECSで、healthCheckコマンドでコンテナのヘルスチェックができるようになった。

docs.aws.amazon.com

Amazon Chime で従量制のフラストレーションフリー料金表の導入を開始

  • プランを削減(3->2)し、Plusを値下げし、使用料を1日3ドル(15USDが上限)とした。

その他

Unlocking Enterprise systems using voice

  • AmazonのCTO、Wernerのブログから
  • 機械学習をベースに発話のインテントを汲み取る技術の進歩によって、音声による直感的で自然な対話方法がユーザーインタフェースの新たなゲームチェンジャーになり、生活のあらゆる場所で使われるようになるという話。
  • 例としてWeWorkで利用されているa4bの事例を挙げている。

www.allthingsdistributed.com

Amazon Simple Queue ServiceとエンタープライズWebサービス

  • 2004年にSQSがβリリースされた時の江島さんの記事

japan.cnet.com