re:Invent 2018 Second Day

明日はセミナー本番

受講予定のセミナーについて少し調べてみる。

ANT322-R – [REPEAT] High Performance Data Streaming with Amazon Kinesis: Best Practices

Amazon Kinesis makes it easy to collect, process, and analyze real-time, streaming data so you can get timely insights and react quickly to new information. In this session, we dive deep into best practices for Kinesis Data Streams and Kinesis Data Firehose to get the most performance out of your data streaming applications. Our customer NICE inContact joins us to discuss how they utilize Amazon Kinesis Data Streams to make real-time decisions on customer contact routing and agent assignments for its Call Center as a Service (CCaaS) Platform. NICE inContact walks through their architecture and requirements for low-latency, accurate processing to be as responsive as possible to changes.

終わり次第、
IOT314-R – [REPEAT] IoT Analytics Workshop
を見てみようかな。

In this workshop, you learn about the different components of AWS IoT Analytics. You have the opportunity to configure AWS IoT Analytics to ingest data from AWS IoT Core, enrich the data using AWS Lambda, visualize the data using Amazon QuickSight, and perform machine learning using Jupyter Notebooks. Join us, and build a solution that helps you perform analytics on appliance energy usage in a smart building and forecast energy utilization to optimize consumption.

DVC304 – Red Team vs. Blue Team on AWS

Red teamers, penetration testers, and attackers can leverage the same tools used by developers to attack AWS accounts. In this session, two technical security experts demonstrate how an attacker can perform reconnaissance and pivoting on AWS, leverage network, AWS Lambda functions, and implementation weaknesses to steal credentials and data. They then show you how to defend your environment from these threats.

This session is part of re:Invent Developer Community Day, a series led by AWS enthusiasts who share first-hand, technical insights on trending topics.

IOT322-R – [REPEAT] Machine Learning Inference at the Edge

Training ML models requires massive computing resources, so it is a natural fit for the cloud. But, inference typically takes a lot less computing power and is often done in real time when new data is available. So, getting inference results with very low latency is important to making sure your IoT applications can respond quickly to local events. AWS Greengrass ML Inference gives you the best of both worlds. You use ML models that are built and trained in the cloud and you deploy and run ML inference locally on connected devices. For example, you can build a predictive model in Amazon SageMaker for scene detection analysis and then run it locally on an AWS Greengrass enabled security camera device where there is no cloud connectivity to predict and send an alert when an incoming visitor is detected. We show you some examples of image recognition models running on edge devices.

場所がAriaで移動時間がかなり厳しいので、
CMP368-R – [REPEAT] Scalable Multi-Node Deep Learning Training in the Cloud

Developing and optimizing machine learning (ML) models is an iterative process. It involves frequently training and retraining models with new data and optimizing model and training parameters to increase prediction accuracy. At the same time, to drive higher prediction accuracy, models are getting larger and more complex, thus increasing the demand for compute resources. In this chalk talk, AWS and Fast.ai will share best practices on how to optimize AWS infrastructure to minimize deep learning training times by using distributed/multi-node training.

このセッションを聞くことにした。
CON308-R – [REPEAT] Building Microservices with Containers

Microservices are minimal function services that are deployed separately, but can interact together to function as a broader application. Microservices can be built, changed, and deployed quickly with a relatively small impact, empowering developers to speed up the rate of innovation. In this session, we show how containers help enable microservices-based application architectures, discuss best practices for building new microservices, and cover the AWS services that allow you to build performant microservices applications.

GENM201 – Monday Night Live

Want to enjoy live entertainment while learning about Amazon’s infrastructure updates? Be sure to attend Monday Night Live with Peter DeSantis, Vice President, AWS Global Infrastructure and Customer Support, on Nov. 26, at 7:30 PM at The Venetian, Level 2, Hall A.

AWS 機械学習 勉強会 in 福井に参加してきた

Amazon SageMakerを利用した機械学習のハンズオン。
内容は、AWSの亀田さんが講師をされ、オンラインで公開されているハンズオンの57スライド目からを利用して実際にハンズオンをやるというもの。

スライドの資料を利用すると大まかな内容が理解できる。

ハンズオンでは実際にzipファイルをダウンロードして展開されたJupyter Notebookよりここで進められるようになっているのだが、最初は進め方がよくわからず困惑した。[ ]をクリックすると[*]になってしばらくする(実際にデプロイしているので時間がかかるものがある)と[1]となるのだが、この部分を理解せずにやっていると途中で進められなくなったりして本質の理解(どのような原理で動いているか)を進めるのに時間を要してしまった。

受講した感想としては、zipファイルを実際に見てみないことには分かったような気にしかならないので、ここから理解をしていこうと思う。

機械学習のセミナー出ていたキーワード

男子の身長と体重のデータより女子の身長と体重の相関は導けない
→重要なことは目的に対応した学習用データの準備が必要

線形回帰
転移学習

実際に体験したアルゴリズム
XGBoost

RandomCutForest
波があるところに異常値をみつける

AWS ビジネス活用事例セミナーに参加してきた

AWSの亀田さんがAWSのサービスについて説明。
エンジニアの方もいたが、経営者の方も参加されていて、改めてAWSのサービスを理解するためには分かりやすいセミナーだった。

(備忘録)

AZとは、1~6のデータセンターで構成されている。東京リージョンは4つのAZがあるので、最小4、最大24のデータセンターで構成されている。東京と言ってもデータセンターの1つが東京にあるので、代表して東京リージョンとしている。
(実際の構成数やデータセンターの場所は非開示)
データセンター間のレイテンシーは0.25ms

複数のリージョン間通信はダークファイバーで接続されており、レイテンシーは2ms未満(ほぼ1ms未満)。

ローカルリージョンは1つのデータセンターで構成されている。世界で唯一大阪に存在ており、日本国内のニーズにある東西でDR対応したいユーザ要求にこたえている。但し、IXが東京に集中しており、関東が被災した場合に大阪リージョンが動いていたとしても通信がひっ迫してサービス提供ができない可能性がある点に留意が必要。

クラウドのメリット
・費用対効果が出しにくいサービスに適用しやすい
・撤退コストを最小化できる

クラウド移行によって、業務において手を付けられない業務:付帯業務の割合=30%:70%の場合に、70%:(クラウド管理)30%にすることが出来るが、40%増える余剰時間に対して、やってほしいことを伝えなければならない(IT部門が抵抗勢力になりうる)。

利用しなくなったログなどの過去データをLTO(テープ)などにオフラインバックアップすることが今までよくやられていたが、機械学習においては過去データを利用することになるので、機械学習においては適さない→ログデータもS3などにアップロードする必要が出てくる

コンテンツグラビティ
データと処理がクラウドに集まる

クラウドの利用のメリットには、財務効果+非財務効果(生産性向上、新機能リリース数、ダウンタイム低減)があるが、最大のメリットは、ビジネスニーズに迅速に対応できることである。

AWSのサービスはAmazonで実現しているサービスをパーツとして利用できるようにしたものである。例えば、セルフコンビニであるAmazon Goを基に
Amazon Kinesis Video Streams
Amazon Recognition
が提供されている。
(Recoginitonは画像だけだと思っていたが、動画もインプットにできることを知らなかった。。。)

その他のキーワード
・クラウドエコノミクス
・マネージドサービス(例:ロードバランサー)
・サーバレスコンピューティング
・プログラム実行基盤の実提供
NoSQL(DynamoDB)

Amazon EC2 Instance scheduled for retirement.

AWSのインスタンスリタイアお知らせが来た時の対処を参考にしてみた。

ルートデバイス: ebs
「ebs」の場合は、インスタンスの停止、そしてその後起動、でOKです。

のハズだったのだが、今後同様のお知らせが来た時に自動的に対応し、対応されたことを通知するためにAutoScaling Groupにアタッチすることを検討して実施してみたところ即時インスタンスの再起動が再作成された。。。

が、インスタンスの状態がテンプレートの状態に戻ってしまった。

おそらく設定が正しくなく?、インスタンスの削除→再作成になっていて、インスタンスが削除されたときにebsボリュームまで削除された可能性が高い。。。。

幸いアカウントの登録までしかしていなかったインスタンスだったので軽傷だったが、マネジメントコンソールでインスタンスに関係する設定変更をするときにはスナップショットを取るなど注意するようにしたい。

インターネットゲートウェイとNATゲートウェイの違い

AWSのVPC設定にはインターネットゲートウェイとNATゲートウェイがあるが、よくわからない。

パブリックIPを設定しているインスタンスは、インターネットゲートウェイだけ設定していればよいが、パブリックIPを設定していないインスタンスは、インターネットゲートウェイになぜか到達できない。

例えば、
VPC A(172.31.0.0/16)に対して、subnet X(172.31.0.0/20), subnet Y(172.31.16.0/20)を設定したうえで、subet Xに所属するインスタンス 1は、パブリックIPを保持しており、同じsubnet Xに所属するインスタンス 2とsubnet Yに所属するインスタンス 3は、パブリックIPを保持していないとする。

この時、VPC Aに対して、インターネットゲートウェイだけが設定されている場合、
インスタンス 1はインターネット(VPCの外)へ接続できるが、インスタンス 2, インスタンス 3はインターネット(VPCの外)へ接続できない。
次に、subnet Z(172.31.32.0/20)を作成し、subet Zに所属するインスタンス 4を作成し、subnet Y, subnet Zに対して、作成したNATゲートウェイをデフォルトゲートウェイに設定したルートテーブルを紐づけるとインターネット(VPCの外)へ接続できるようになる。

ここで、subet XについてもNATゲートウェイと紐づける(デフォルトゲートウェイをインターネットゲートウェイからNATゲートウェイに変更する)とそもそもインスタンス1に接続できなくなる。(パブリックIPを持っているにも関わらず接続できないということは、パブリックIPへのルートテーブルがなくなっているということになるのだろうか??)

理解に苦しむ点は次の通り
1.インターネットゲートウェイをデフォルトゲートウェイに設定しているにもかかわらず、パブリックIPがインターネットと接続できない点
(インスタンスで設定されているゲートウェイはサブネット内に設定されているホスト(ネットワークアドレスの最初のアドレス/例:上述のsubnet Xは172.31.0.1)になっていて、対象ホストとはICMPで接続できない。同一サブネットなのにもかかわらず接続できないということは、ICMP Echoが無効になっているだけなのだろうか? 次に外部(VPCの外のドメイン)にtracerouteしても名前解決はされるのに、到達できない)

2.インターネットゲートウェイの代わりにNATゲートウェイをデフォルトゲートウェイに入れ替えるとパブリックIPアドレスに接続できなくなる点
(パブリックIPアドレスへのルートテーブルがなくなってしまうということなのだろうか?)

NATゲートウェイは、サブネットをElasticIPに紐づける機能を持っており、
インターネットゲートウェイは、VPCとルートテーブル機能を使って紐づけることが出来る。
Egree Onlyインターネットゲートウェイというものもあり、ネットワーク設計を行う上で違いと仕組みを整理しておく必要がある。

Elastic IPの運用上の注意

Elastic IPは、固定のグローバルIPアドレスを意味する(Elastic IPを割り当てない場合には、インスタンスを再起動するたびにIPアドレスが変わる)が、インスタンスにアタッチされていないか、アタッチされたインスタンスが稼働中でない場合には、0.005USD/時間 課金されてしまう。
無料枠の中で(=課金されないように)試そうとすると、必ずインスタンスにアタッチした上で、該当インスタンスを停止させないようにしなければならない。
なお、インスタンスはオンデマンドインスタンスの場合、無料枠対象のt2.microを選択することとなるが、オハイオリージョンの場合で Amazon Linuxで0.0116USD/時間、Windows Serverで0.0162USD/時間課金されるので、無料枠を使い切った場合には、インスタンスにアタッチしない状態が一番安く済むことになる。

Amazon EC2 料金 オンデマンド料金より抜粋
Elastic IP アドレス
実行中のインスタンスに関連付けられた Elastic IP(EIP)アドレスを無料で 1 つ取得できます。追加の EIP をそのインスタンスに関連付ける場合は、追加の EIP 毎に時間当たり(プロラタベース)の料金が請求されます。追加の EIP は Amazon VPC でのみ利用可能です。

Elastic IP アドレスを効率的に使用するため、これらの IP アドレスが実行中のインスタンスに関連付けられていない場合や、停止しているインスタンスやアタッチされていないネットワークインターフェイスに関連付けられている場合は、時間毎に小額の料金をご請求します

AWS Workspaces

Workspacesは仮想デスクトップを簡単に構築できるサービス。
非力なマシンであっても、仮想デスクトップなので最新のコンピュータ環境を利用できる。
昔のシンクライアントのようなものである。
例えば有期雇用で短期間人を雇うようなケースにおいて、一時的にOfficeが利用できるマシンを必要とするような場合に有用である。

WorkSpacesを削除しても、ディレクトリは削除されない。
ディレクトリが残っているとWindowsのライセンスが課金されてしまう。
自分の場合には半月気づかず、14ドル課金されてしまった。

FortigateVM

FortigateVMは、Fortigate製品の仮想アプライアンスになっているのだが、ちょっと構成が分かりにくい。

技術仕様によれば、モデルによって性能差異が記述されており、製品機能一覧の4ページ目によれば、ハイパバイザーによって利用できる機能は制限されるが、原則的には、FortiOSの機能をすべて利用でき、期待しているスループットが出るかどうかは別として、割と何でもできる万能型のUTMとして使えるように見える。

ところが、下記のようにライセンス形態が構成されており、オプションになっているものがあり、本体(ベース)ライセンスでは、利用できる機能が制限されている。

  • 本体
  • アンチウィルス(オプション)
  • UTMバンドル(オプション)
  • Enterpriseバンドル(オプション)
  • NGFW(オプション)
  • Webフィルタリング(オプション)

本体ライセンスで使用できる範囲がよくわからないので、FortiVMを採用する場合には、よく気をつけた方がよさそうだ。Amazon EC2でも15日間お試しできる(ただし、仮想マシン費用は掛かり、無料枠の対象にはならない)ので、ちょっと調査をしてみようと思う。

参考)株式会社データコントロール社での販売価格表