AWS初心者がAWS Summitに行ってきた

##スケジュール
10:00 ~ 11:30　基調講演
12:00 ~ 12:40　AWSでの Operational Excellence ～クラウドで回す監視と運用PDCA
12:40 ~ 13:00　展示ブース見る
13:00 ~ 13:40　[パネルセッション] 中小製造による『次世代ものづくり』のフレームワーク構築！
13:40 ~ 14:00　ランチ
14:00 ~ 14:40　VPC最新機能から紐解くクラウドネットワークデザイン
14:40 ~ 15:30　展示ブース見る
15:30 ~ 17:30　DeepRacerワークショップ
18:00 ~ 18:40　AWSの利用時におさえておきたい１０のこと
18:41 　　　　　アイスクリーム食べた


電車走ってた
![IMG_3099.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286794/7698e752-85af-ee2f-fd88-d91cebba7a3c.jpeg)


##基調講演
AWS Japan CEO自ら講演。

- ギガバイトの時代は終わり、ペタバイトの時代。
ユーザー数が1億人を超える人気ゲーム「フォートナイト」にはAWSが使われていた。
その記事　https://aws.amazon.com/jp/blogs/news/epic-fortnite-all-in-on-aws-cloud/
１ペタバイトは100万ギガバイト

- 全ての開発者に機械学習を
このミッションを持ち、AWSが紹介したDeepRacer。
自動運転するラジコン。強化学習を楽しく学ぶことが出来るキット。たしか４万円くらい（日本からは注文できないっぽい。）

##AWSでの Operational Excellence ～クラウドで回す監視と運用PDCA
####Operational Excellenceとは
ビジネス価値にフォーカスして継続的に改善を行うこと。

- 振り返りで次の準備に反映していくことが重要

####クラウドにおける監視と運用のポイント
#####リソースからシステム全体へのシフト
- オンプレミスではリソースの正常・異常 ≒ システムの正常・異常
- クラウドでシステムの俊敏性を向上させる。
 - システム不可に応じてリソースを増減させると使用状況が変化する。
 - 異常も自動的に修復される。
- 特定のリソースに依存しない指標へのシフトが重要

#####ビジネスと連動した基準値の設定
- どのようにシステムの状態を把握しているか
- どのように運用の状態を理解しているか
- デプロイ時のリスクを低減できる方法を導入しているか

AWSならこんなサービスで監視、運用できる

- CloudWatch　・・・いろんなサービスを監視してくれる。異常を検知、CPUやメモリなど複数項目をグラフ化、リソースの状況に応じてアクションできる。
- Elasticsearch　＋　Kibana
  - Elasticsearch　・・・全文検索エンジン。いろんなサービスで自由に横断して検索・分析が可能。
  - Kibana　・・・Elasticsearchの結果を出力するための可視化ツール。ヒストグラム、線グラフ、円グラフなど
- CloudWatch + Elasticsearch　＋　kibana ・・・CloudWatchからElasticsearchにログを送ってKibanaで見る。

#####変化の繰り返しに対応
- 自動化の効果
  - 自動化によって俊敏性を高める。
  - ヒューマンエラーを低減する
- 自動化のレイヤを上げていくことによる効果
  - 実験的な操作を可能にする
  - 小さい単位でデプロイ
  - 以前の状態に素早く戻せる
  - 万一失敗した場合に備える ≒ 実験的な変更を可能にする

AWSならこんなサービスで自動化できる

- CloudFormation　・・・リソース構築自動化
- ElasticBeanstal　・・・簡単なリソース構築自動化。
- CodePipeline　・・・アプリケーション配備の自動化制御。ソフトウェアの変更を継続的にリリースするために必要なステップを自動化。
- CodeDeploy　・・・デプロイ、リリースを自動化。作業ミスを削減。



####きっかけづくりに最適なセルフチェックツール
- Well-Architected Tool　・・・システム構成のベストプラクティスに基づいたセルフチェックツール
 - コスト最適
 - パフォーマンス
 - セキュリティ
 - 運用の優秀性
 - 信頼性
 
- Trusted Advisor　・・・システム構成のベストプラクティスに基づいた自動チェックツール
 - コスト最適化
 - パフォーマンス
 - セキュリティ
 - フォールトトレランス（耐障害性）
 - サービス制限

##[パネルセッション] 中小製造による『次世代ものづくり』のフレームワーク構築
- 自分のビジョンを見える化できる人が少ない
- 挑戦できる人間
- 育て役は重大
- 成功者の講演に影響を受ける
- どういったスキルがほしいか見極める
- 新しい価値の想像、お客さんお信頼が価値
- スピードは大事、自社だけでなく他社リソースも視野に
- 国で出来ることは限られている
- 補助金あるが、細かいところまで金回らないし、出来る人材いない

#####まとめ
中小企業の人間は自身を持って見える化して、新しい価値が生む。価値を生んでからスピーディに変化するのも大事。

##VPC最新機能から紐解くクラウドネットワークデザイン
#####VPCの新機能
- Shared VPC
 - 異なるAWSアカウントで１つのVPCを共有できる。
 - サブネット単位で設定ができる。
 - AWS Organizationの利用が前提
 
- Transit Gateway
 - オンプレミスを含むネットワークを単一のゲートウェイに接続し、接続先のIPに従い自由にルーティングできる。
 - DirectConnectおよびVPN経由の利用が可能
 - 拡張性の高さが強み

#####事例からみたVPC・ネットワークの設計事例

1. ネットワーク設計の前にアカウントから考える
 - 闇雲に作るのではなく、システム配置、コストおよび権限管理の観点からアカウント構成を検討する
- VPC新機能の活用を踏まえた設計をする 
 - VPCに持たせる機能、利用の目的を決める
 - VPCにどのような役割を持たせるか？
 - どのような局面でVPCを増やすのか？
 

ポイント

- 環境別にアカウントを準備
- 1アカウント1VPCで構成
- オンプレ/VPC間アクセスを制限
- サブネットとルーティングを考える
- 配置するシステムが持つ情報の重要度を設定し、配置要件を満たしたサブネットを検討する

#####まとめ
- VPCの新機能を使うことでAWSのネットワークをより柔軟に利用することができる
- 高くなった柔軟性に対する対策を考えることが大切、ルールを決めるなど

##DeepRacerワークショップ

#####AWS Deepracerの概要
- 1/18スケールの自律走行カー
- 学習と評価のためのシミュレータ
- 世界中でのレースリーグ
- 入力は画像、出力は行動

車からのカメラ画像のあらゆる見え方に対して、自動運転カーがとるべき運転行動を登録できれば、コースを走らせることが可能。

#####シミュレーションで使うサービス
- sagemaker
- robomaker
- S3
- KinesissVideo
- CloudWatch

#####強化学習の導入
- カメラ画像から行動を決定するモデルを学習により作成
- 環境（コース）に対して、エージェントが様々な行動（運転）を試し、ゴールに到達できるように学習

#####強化学習の全体像
- 教師あり学習(ラベルが必要)
- 教師なし学習（ラベルが不要）
- 強化学習（特定の環境下で一覧の行動から学習）

#####強化学習のイメージ
- 良い行動には報酬を与える
- 悪い行動には報酬なし

#####報酬学習のイメージ
- 良い行動にポイントをつける（とても良い行動３点、良い行動２点、そこそこ良い行動１点、悪い行動０点）
- 最大のポイントを取るルートを走る


|  パターン | とても良い行動 | 良い行動 | そこそこ良い行動 | 悪い行動 |
| --- | --- | --- | --- | --- |
|  点数 | 3 | 2 | 1 | 0 |
|  報酬例 | コースの真ん中を走る | コースの右か左を走る | コースの端を走る | コースの外を走る |

#####コース座標
- コースを取り込みx点とy点で自己位置を判定
- コースのラインにもx点とy点でコース読み取る

#####ハイパーパラメータ
- 学習率
- バッチサイズ
- エポック数
- 割引率
- エピソード数

#####行動空間の設定
- スピードとステアリングの組み合わせで定義
- 細かい調整を行うために粒度を設定可能

#####最後に
実環境とシミュレーション環境を完全位置させるのは難しい
環境にランダムな要素を追加（様々な環境）して応用力をつけることでタイムを縮める
要らなくなったモデルは削除しないと課金され続けるのでS3から削除する


![IMG_3107.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286794/50cfa47a-ae18-20e8-955d-ec400a1d6411.jpeg)


##AWSの利用時におさえておきたい１０のこと

1. AWSルートアカウントは最小限の利用に留める
  - ルートアカウントではなくIAMを利用する
2. ユーザには最小限の権限を付与する
  -  IAMユーザとIAMグループを利用する
  -  各個人にIAMユーザを払い出す(共有アカウントにしない) 
  -  最小限のアクセス権限から開始し、必要に応じて追加のアクセス権限を付与する
3. 認証情報をコードに埋め込まない
 - EC2 やAWS Lambda には IAM ロール利用
 - 認証情報の漏えいリスクを低減
4. セキュリティ関連ログの取得と監視
 - AWS CloudTrailによる操作ログの取得を設定する
 - Amazon GuardDutyの活用。
 　　Amazon GuardDuty　・・・悪意のある操作や不正な動作を継続的にモニタリングする脅威検出サービスで、AWS アカウントとワークロードを保護
5. 各レイヤでのセキュリティ対策
 - アクセス設定を必要最低限に設定
 - AWS WAF
 - AWS Shield
6. データのバックアップ
 - Amazon EC2のAMI
 - Amazon EBSのスナップショット
 - RDSの自動バックアップ機能
7. 障害や不具合への対策
 - 単一障害点の排除
 - RDSのMultiAZデプロイメント(オプション)
 - マネージドサービスの活用
 　　　マネージドサービス　・・・顧客に代わり AWS を操作することで、AWS Landing Zone のセキュリティとコンプライアンス、実証済みのエンタープライズ運営モデル、継続的なコストの最適化、毎日のインフラストラクチャ管理を提供
8. 使用料金の把握
 - IAMユーザの請求情報へアクセス有効化
 - コストエクスプローラーの有効化
 - 請求情報とコスト管理ダッシュボード、請求書
 - AWS Budgetsの活用
 　　　AWS Budgets　・・・予算のしきい値を超えたときにアラートを発信するカスタム予算を設定
9. メトリクスに基づいたサイジング
 - AWS CloudWatchでリソース利用状況を把握する
 - 利用状況に応じた適切なインスタンスタイプなどを選択
 - インスタンスタイプの見直しを検討する
 - 最新インスタンスファミリーを活用する
10. まずリージョン毎の価格差を考慮
 - より安価なリージョンを選択出来るようになる場合もある
 - 購入オプションの活用
 - 検討すべき購入オプション① -時間課金系サービス-
 - リザーブドインスタンスの適用箇所を検討
 - 検討すべき購入オプション②-その他 Amazon Cloudfront と Amazon DynamoDB のリザーブドキャパシティ


いっぱいもらった
![IMG_3114.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286794/f5ed8663-5d75-49b9-b1e0-aa060c44b230.jpeg)

半年前までは公式サイトのS3レクチャー動画でイレブンナインを聞いた時は、PCバグったと驚きました。それが電車の中でちょこちょこ参考書を読んでググれば「へ〜」くらいにはなりました。これから実際にポチポチして勉強しながら、クラウドプラクティショナー合格がんばります！


##おまけ
AWSの各セッションの資料、動画（一部セッションを除く）は随時WEBサイトにアップされるらしいです。
2019まだみたいなのでAWSSummit2018の資料、動画貼っときます
https://aws.amazon.com/jp/summit2018-report/