AWS Premier Night #1 参加レポート #awspremier

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

丹内です。 本日行われたAWS Premier Night #1に参加したのでレポートします。

このイベントについて

AWSプレミアムコンサルティングパートナーのうち、クラウドパック、クラスメソッド、サーバーワークス(※五十音順です)の3社が合同で行ったAWSの勉強会です。 テーマについては特に決まっておらず各々好きなことを話すという勉強会ですが、プレミアムコンサルティングパートナーからの登壇者によるディープな内容になりました。

レポート

AWS Well-Architected Framework

発表者はアマゾンウェブサービスジャパン様の小梁川 貴史氏です。

  • AWS Well-Architected Frameworkとは、アプリケーションがより良い設計になっているかを確認し、改善するためのフレームワーク
    • AWSも常に進化しているので、良い設計の定義は変わり続ける
  • 公開されているホワイトペーパーを参照してチェックを行い、不足している箇所を把握し対処方法を発見することができる
  • Well-Architected Frameworkによって、評価以外にも、ユーザとしてAWSを学習して理解度を深めることもできる
  • 信頼性、セキュリティ、パフォーマンス、コスト最適化の4つのアーキテクチャの柱を提唱している
  • 期待値に対して、どれくらいうまくできているかという観点から評価する
    • 理想は無限大だが、現実には予算や時間の制約がある
    • その現実の制約の中で目的を達成することについて「良い設計」になっているか?
  • 4つの柱のバランスを取ることが大事
    • それぞれの柱がトレードオフの関係になっている
  • 4つの柱に加えて、オンプレとの考え方の違いを理解してアーキテクチャを評価する必要がある
  • 新しい技術に挑戦しやすいアーキテクチャにできるとベター
  • Well-Architectedホワイトペーパー以外にも、AWS公式ブログやBlack Belt Techオンラインセミナーも参考文献になる

関連ブログ -> https://dev.classmethod.jp/cloud/security-aws-well-architected-framework/

AWS Lambdaによる流体画像処理の並列化

発表者はサーバーワークス様の白鳥貴久氏です。

同様のトピックがサーバーワークス様のブログに掲載されています。

  • 大学院時代の研究(流体力学)のシステムをAWS上に実装したという内容
  • 流体力学の実験方法として、粒子画像流速測定法というものがある
    • 粒子を流してカメラで撮影し、動画を解析することで実験データを得る
    • 動画のうち、2枚の画像の差分を相互相関係数という式を使って、似てるか似ていないかを評価する
    • この計算は時間がかかる
  • 時間がかかるという問題を、Lambdaで並列化することで解決することを目指す
  • Lambdaへの実装
    • 予め画像をS3に保存しておく
    • 出力用CSVファイルへの保存をイベントソースにしてFunction実行
  • Lambdaでのアーキテクチャでも、期待した成果を得ることができる
  • Lambdaはメモリと実行時間に制限がある
    • 今回の計算はメモリ20M程度、実行時間200秒程度なので範囲内

基礎からのEBS

発表者は弊社の大栗宗です。

  • 基礎とは入門ではなく土台である
    • EBSの土台はネットワーク構成と性能について話す
  • 2008年に提供を開始してから様々な機能が提供されている
    • 2012年あたりからの発展が著しい
  • EC2とEBSの接続方法は、通常以外に最適化インスタンスがある
    • 一部のインスタンスが最適化対象
    • そのうちC3/G2/R3/I2の最上位タイプはEBS最適化に未対応
  • EBS最適化とネットワークで物理NICを専用/共通にしている違いがある
    • AWSドキュメントが物理レイヤに言及することはほとんど無いが、EBSについては説明が載っている
  • 最近でたx1インスタンスだと10GなのでEBSの最大性能を出すことができる
    • 実はこれまでのインスタンスはEBSの最大性能を発揮できていなかった
  • X1ならElastic Network Adapterで20Gでの通信ができる

cloudpackを支える認証技術

発表者はクラウドパック様の磯辺和彦氏です。

  • 顧客数が多く、管理するAWSアカウント数も多い
    • 社内エンジニア数も多く、使っているWebサービスも多いので、アカウント管理が大変
  • アカウント管理用の社内ツールがある
    • AWSアカウントに、個々のパスワードを入力せず、フェデレーションログインができる
    • IAMのIdPを登録している
  • ADFSなどIdP側でSAMLを使えるように設定する
  • 作り方
    • CreateSAMLProviderでMetadata XMLを受け取る(ここが一番難しい)
    • IAMロールを作る
    • IAM Roleに任意の権限を設定する
  • 社内ツールを使うcloudpackのフロー
    • AWSアカウントに登録する
    • 管理ツールにAWSアカウントを登録すると、自動的にSAML ProvidorとIAM Roleを作成する
    • 以後、管理ツールを使ってログインする
  • 組織が複雑な場合も、大抵のユースケースは対応できる  - MFAを使う場合は、AWSではなくIdP側での対応となる
  • SAMLは初期設定が大変だが、後が楽になるので、たくさんのAWSアカウントがある場合はSAMLによる管理がおすすめ
  • VPCにWindows Serverが動いており、そこにDX経由で繋いでいる
    • ↑7月1日にご指摘を頂き、修正しました。ありがとうございます。

真似したい!世界をもっとはたらきやすくするために、クラウドインテグレーターが実践しているちょっと未来なワークスタイル(仮)

発表者はサーバーワークス様の松本幸祐氏です。

  • サーバーワークスは、クラウドを活用して「働きやすい」ための活動を続けている
    • 出社したらまずoneloginでログイン
    • Slackでコミュニケーション
    • ファイル共有はbox
    • 工数や稼働時間はsalesforceとPower BI
    • ネットワーク機器の管理はネットワーク上で行う
  • 社外製サービスを活用することで、会社に依存しないアビリティを得られる 
    • サービス断が少ない
    • 転職者がスキルを習得済み
  • リモートワークを「クラウドワークスタイル」という制度で運用している
    • 効率が上がるならどこでも仕事ができる
    • 普段直接あわなくても、仕事上対面することもある。それ以外に社員旅行などでも
    • もちろん、日々ツール越しに顔をあわせたり、リモート飲み会をしたり
  • 傍(はた)を楽(らく)にするにする、という言葉遊びから、サーバーワークスでは「働く」ではなく「はたらく」と掲げている

タイムスタンプ on AWS

発表者は弊社の大瀧隆太です。

  • タイムスタンプとは、イベント発生時刻を示すメタデータのこと
  • タイムスタンプの形式は、UNIX時間とISO 8601がある
  • タイムスタンプがずれてしまうと、アプリケーションの動作や運用業務以外でも、そもそも通信できない可能性もある
    • AWS APIでは署名のタイムスタンプが5分以上ずれていると拒否される
  • タイムスタンプはシステムクロックから取得する
  • AWSでOSのタイムゾーンをUTCにするかJSTに変えるか
    • EC2やRDSは変更可能 -> エンジニアの作法によっても変わる
    • RedshiftはUTCのみ
  • タイムゾーンを3つ以上またぐシステムの場合は設計が難しい
  • 時刻の取得に関する設計方法
    • NTPの取得元サイト
  • タイムゾーンはMVCで考える
    • 保存時のタイムゾーンはどこでも良い
    • アプリケーションからインプット/アウトプットするときに適切な変換を行えば良い
    • ISO8601はタイムゾーンオフセットが含まれているので扱いやすいが、Unix Timeはインプット時にタイムゾーンをあわせる必要がある
  • IoT分野では、ハードウェア側にハードウェア時計がない場合があるので、クラウド側で付与する必要がある

AWSをフル活用した LIVE & VOD 動画配信アーキテクチャ

発表者はクラウドパック様の田中祐介氏です。

  • これまでの動画配信アーキテクチャは、サーバ経由でストレージに保存した画像をFFmpegでトランスコードしてプレイヤーに配信
  • このアーキテクチャではディスク/メモリの不足や帯域不足、トランスコーディングの失敗、Flashプレイヤーなど様々な問題がある
  • 現代では新たな技術を活用して、これらの問題を解決することができる
    • Elastic Transcoderでフルマネージドなトランスコーディング
    • S3 Direct Upload Support(CORS)によるサーバを介さないアップロード
    • HTML5ビデオプレイヤーで多様なデバイスに配信
  • これらを活かして、cloudpackのVODは実現されている
    • 動画アップロード: S3 Direct Upload
    • サムネイル画像: Elastic Transcoder
    • トランスコーディング: Elastic Transcoding
    • 配信: CloudFront
    • プレーヤー: videojs
  • ライブ配信もできる
    • AWS Summit、box、この勉強会などの配信実績がある
  • ライブ配信Tips
    • 回線状況をチェックし、安定のため有線を使用
    • chunkファイルを小さくするなどのチューニングを行う

まとめ

どの発表も非常に内容が濃いものでした。あまりに濃いため、資料だけ後から見返したらわからないことが結構あるかもしれません。
「#1」付いているあたりから、おそらく第二回もあると思うので、またぜひ参加したいです!