Slide 1

Slide 1 text

AWS re:Invent 2018 レポート 2018/12/06 森岡周平

Slide 2

Slide 2 text

今回の発表の趣旨 ・re:Invent 2018 のupdateを広く浅くざっくり説明 ・深掘りしたお話については別途機会を設けてお話します ・AWSについてちょっと知ってるという人に向けて話します ・森岡が特に気になったセッション (Appliying Principles of Chaos Engineerings to Serverless) については、12/10 の Yappliさんとの勉強会でお話するので良かったら 来てもらえると〜

Slide 3

Slide 3 text

Agenda ・re:Invent 2018 のアップデート全体所感 ・re:Invent 2018 で発表された新サービスやアップデートのpickup ・森岡の個人的な所感

Slide 4

Slide 4 text

re:Invent 2018のアップデート全体所感 ・Serverlessの適用範囲がさらに広がり、迅速なサービスの立ち上げをServerlessで する選択が現実的になってきた (AWS Amplify Console とか) ・専門家がいなくても機械学習の一部機能をサービスに適用できるようになった他、 強化学習に対してもSageMakerがサポートするようになった ( Amazon Personalize、AWS marketplace for MLなど ) ・( 主にセキュリティ周りで ) 複数のサービスやアカウントをまたがって、管理・操作す るサービスが増えた ( AWS Control Tower, AWS Security Hubなど )

Slide 5

Slide 5 text

Agenda ・re:Invent 2018 のアップデート全体所感 ・re:Invent 2018で発表された新サービスやアップデートのpickup ・森岡の個人的な所感

Slide 6

Slide 6 text

https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-aws-reinvent-2018-124555030

Slide 7

Slide 7 text

AWS re:Invent 2018 アップデート pickup ・コスト削減系アップデート ・Serverless 関連 ・森岡の個人的 pickup

Slide 8

Slide 8 text

コスト削減系アップデート ・Amazon EC2 A1インスタンス ・Amazon S3 Intelligent Tiering ・Amazon DynamoDB On-Demand

Slide 9

Slide 9 text

A1 インスタンスについて ・Amazonによって設計されたARMベースのプロセッサーである AWS Gravitonを搭載 したEC2インスタンス ・値段が安く、デフォルトでEBS最適化オプションがついている ・コンテナ化されたマイクロサービス、ウェブサーバーを想定 ・SmugMugという企業で利用し、コストを40%削減することができたらしい ・”Workloads that can scale-out across multiple cores and supported by the extensive Arm ecosystem” ・日本にはまだ来ていない https://www.slideshare.net/AmazonWebServices/new-launch-introducing-amazon-ec2-a1-instances-based-on-the-arm-ar chitecture-cmp391-aws-reinvent-2018

Slide 10

Slide 10 text

Amazon EC2 インスタンス 価格比較表 ( m5, m5a, t3 ) 価格は US East 参照 ( ついでにAMD製の新しいインスタンスタイプ m5aも比較 ) プロセッサが違うので、正直なところ使い所はベンチマークしてから判断するしかない

Slide 11

Slide 11 text

Amazon S3 Intelligent Tiering ・コストを最適化しつつS3に格納する際は、ストレージクラスを適切に選ぶ必要がある ・Standard (標準) – よくアクセスされるデータ ・Standard-IA (標準-低頻度アクセス) – 長期保管で、あまりアクセスされないデータ ・One Zone-IA – 長期保管で、あまりアクセスされず、クリティカルではないデータ ・Glacier – 長期保管で、あまりアクセスされず、アーカイブするクリティカルなデータ ・ストレージのアクセスパターンを想定し、適切に設定するのはまぁまぁ大変 ・S3 Intelligent-Tiering というストレージクラスは下記の機能を持つ ・連続30日間アクセスがないものを低頻度のアクセス階層に移す ・一度でもアクセスされれば、高頻度アクセス階層に遷移する

Slide 12

Slide 12 text

Amazon S3 ストレージクラス価格比較表 https://www.slideshare.net/AmazonWebServices/deep-dive-on-amazon-s3-storage-classes-creating-cost-efficiencies-across-your-s3-resource s-stg398r1-aws-reinvent-2018/13

Slide 13

Slide 13 text

Amazon DynamoDB On-Demand ・read/writeリクエストについて使った分だけ支払う ・ユースケースは下記2点  ・スパイク的にアクセスが見込まれるケース  ・DynamoDBの利用があまり頻繁でないケース ・設定するときの注意ポイント  ・最初に最大のRCU/WCUでprovisioned mode作って、後でオンデマンドに切り  替え るとスロットリングでひっかかりにくい  ・小さいRCU/WCUでつくるとトラフィックが増えたときにスケールするまでパ  フォーマ ンスが落ちる

Slide 14

Slide 14 text

Serverless関連 ・AWS Amplify Console ・AWS LambdaのRuby対応及びCustom Runtime ・AWS LambdaのALB対応 ・DynamoDB Transaction

Slide 15

Slide 15 text

・サーバレスなWebアプリケーションを簡単に作れるようになるツール ・Webアプリケーションを簡単にホスティングしたり ・amplify cli を使って認証や、GraphQLのAPIを追加したり ・ブランチ毎に確認環境を立ち上げたりすることができる  ・Firebaseで出来てたことを、AWSでも出来るようにした印象かも サンプル: https://github.com/aws-samples/aws-appsync-chat-starter-react AWS Amplify Console

Slide 16

Slide 16 text

・AWS Lambda が Ruby 2.5 に対応 ・AWS Lambda Runtime API が発表された  ・任意の言語でLambdaを動かすことができる  ・AWSからはC++, RustのCustom Runtimeが提供されている ・Tim Brayが言うには、Goが Lambdaの中で一番早いらしい ・Lambda Layers が導入され、処理を簡単に共有できるようになった  ・Layersにすると軽くなるとかあるのかな  ・Node.jsのサンプルをみるとmoduleをlayerにしていたりした  ・将来は初期化コストが低くなる可能性があるかも? AWS LambdaのRuby対応及び Custom Runtime そして Lambda Layers

Slide 17

Slide 17 text

・ALBがAWS Lambda をターゲットとして選択可能になった ・既存サービスを徐々にサーバレスに移行するときとかに便利そう ・その他思いついたユースケース ・API Gatewayのタイムアウトが29秒 ・ALBのタイムアウトが60秒 (Health Checkが失敗になる時間)   ・29秒以上60秒未満の処理ができるようになる.... ・ヘルスチェックによって常にLambdaが温まった状態になるのでは ・ヘルスチェックは外すこともできるよ ・API GatewayでQueryキャッシュするより安い (by pataiji) AWS LambdaのALB対応

Slide 18

Slide 18 text

DynamoDB Transactions ・DynamoDBで複数のテーブルに対するトランザクションが可能に ・10個のItem、最大4MBのデータ、条件付き書き込みがサポートされる ・複数のリージョンにまたがる同時書き込みは保証されていない ・すべてのリージョンで利用可能

Slide 19

Slide 19 text

・Amazon Personalize ・Amazon Managed Blockchain ・AWS Well-Architected Tool ・Amazon Athena Workgroups 森岡の個人的 Pickup

Slide 20

Slide 20 text

Amazon Personalize ・ECサイトにおけるレコメンデーション機能などを、機械学習の専門家がいなくとも提供で きるようになる機能 ・Amazonのレコメンデーションシステムで得られた知見を活かしている ・下記のステップで利用可能 ・Personalize用のデータセットを作る ・データセットをPersonalizeにインポートしモデルを作成する  ・このとき、複数のアルゴリズム・パラメータで最適なものを探す ・モデルをdeployする ・Amplify 等を利用して、モデルにアクセスしレコメンドしてもらう https://aws.amazon.com/jp/blogs/news/amazon-personalize-real-time-personalization-and-recommendation-for-everyone/

Slide 21

Slide 21 text

Amazon Managed Blockchain ・フルマネージドなブロックチェーンのネットワークを数クリックで構築可能 ・現在プレビュー実施中

Slide 22

Slide 22 text

Amazon Well-Architected Tool ・自身のAWSの設計に関してセルフチェックできるサービス AWS のBest Practiceに則っているか確認するためのチェックリストがあって、そのチェックリストに答えていくと改 善点を教えてくれるらしい。サービス設計時に一通りやって、眺めてみると良さそう。

Slide 23

Slide 23 text

・Amazon Athenaでグループを作成しグループごとに管理できる機能 ・グループごとに設定項目は下記 ・Queryの結果の出力先 ・1度のQueryのスキャン量 ・しきい値を超えたらSQLがキャンセルされる ・キャンセルされた場合も、読み込んだ分は(しきい値かな?) 課金対象 ・アラート設定 ( 1日に一定量のスキャンをしたらアラートなど ) Amazon Athena Workgroups

Slide 24

Slide 24 text

Agenda ・re:Invent 2018 のアップデート全体所感 ・re:Invent 2018で発表された新サービスやアップデートのpickup ・森岡の個人的な所感

Slide 25

Slide 25 text

Inside AWS: Technology Choices for Modern Applications

Slide 26

Slide 26 text

森岡の個人的な所感 ・ALB=>EC2=>RDS があるサービスはAWSの認識ではトラディショナル ・Modern Applicationは、サーバレスとマイクロサービスで構築されている ・1つのプロダクトでも、用途 (Staging, Production, データ分析など)に応じてAWS Accountを分けるよね。みたいな話が多かった ・Serverlessを強く推進している感ある。サーバレスのワークショップであったり、 DynamoDBの知見共有するセッションが非常に多かった。

Slide 27

Slide 27 text

個人的によかったセッション ・Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate Innovation (SRV325) - AWS re:Invent 2018 URL: https://www.youtube.com/watch?v=eXl6Bumksnk Amazonが考える Modern Applicationと、 ServerlessやMicroserviceの新しいサービスについて説明され ているセッション。 ・Applying Principles of Chaos Engineering to Serverless (DVC305) - AWS re:Invent 2018 URL: https://www.youtube.com/watch?v=tYJDfsTklH0 ServerlessなサービスでChaos Engineeringをするという話。Chaos Engineeringというと遠い世界の話のよ うに感じていたけれども、このセッションで準備段階から聞いてみると SREからの地続きであるように感じ た。12/10 のセッションで色々お話します!