omuronの備忘録

個人的な備忘録

「DevelopersIO 2024 OSAKA」 #devio2024 に参加しました

【7/31(水)】DevelopersIO 2024 OSAKA #devio2024

classmethod.connpass.com

大阪でのリアル開催ありがたい!

セッション

レビューに向けて一工夫しませんか、というお話

高崎さん

  • LineミニアプリはWebアプリなので脆弱性対策やライブラリのアップデートなど対応が必要
    • ドキュメントとソースだけなので要件や背景を残すことを考えた
    • レビューでADRを残すことにした
  • ADR確認内容
    • 整理内容のチェック
    • 方針や検討の是非
    • 調査内容の是非
    • コストの確認
    • 実装漏れの確認
  • レビューはレビューアーの振り返り
    • KPTのKはどうすべきか?->褒めましょう

「褒めましょう」コレ大事。
コードの向こうには人がいる。

はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜

貞松さん

speakerdeck.com

  • レコメンデーション導入にはハードルが高い
  • レコメンデーションの特徴
    • 検索と近い、暗黙的な過去の履歴から検索して提案する
    • 利用者メリット:目的のものに素早くアクセスしたり、ユーザーが意図しない気づきを与える
    • 事業側メリット:サービス利用の継続、売上向上、新規アイテムを適切にユーザーに届ける
  • Personalizeの構成要素
    • データセット(必須):Interaction
      • USER_ID, ITEM_ID, TIMESTAMP が必須
      • 誰が何をいつ買ったか?というデータが有ればレコメンドできる
      • 最低1,000件あればレコメンド可能
    • データセット(任意):
      • USER:属性(年齢、性別)など
      • ITEM
    • ソリューションの作成
      • ソリューション:レシピやハイパーパラメータでモデルを学習する枠組み
      • ソリューションバージョン:学習の各バージョン
    • レコメンド作成
      • キャンペーン(リアルタイムレコメンド)
        • APIエンドポイントにUSER_IDとITEM_IDなどなげてレコメンド結果を取得
      • バッチレコメンデーション
        • JSONで必要データを準備してバッチでまとめて作ってS3に保存
    • 利用可能なレシピ
      • ユーザーベース:あなたへのオススメ
      • アイテムベース:この商品を買った人へのオススメ

学習データの数の準備は必要ですが、「誰が何をいつ」のデータだけあれば推論できるので、試すハードルは低いですね。
もともとにーのさんのプレゼン予定が体調不良により貞松さんに変わったのに、同じ内容でプレゼン準備したのすごい。

AWS IAM Identity Center を使わないマルチアカウント環境の IAM ユーザー管理

yhanaさん

speakerdeck.com

IAMユーザーのパスとCondition使ったワイルドカード方式はしらんかった。
IDプロバイダー経由でもスイッチロールできるのも知りませんでした。 これの設定はちょっとややこしそう。

AWS CLIシェルスクリプト、いつ使う?活用できる場面とTips紹介

川原さん

speakerdeck.com

シェルスクリプトで処理するならシェル芸のお勉強しておくと非常に役に立つ。
昔と違ってLLMに質問すると簡単にシェル芸できるようになったのもいいところ。

IoTデータのデータレイクにTimestreamとS3を比べてみた

与那嶺さん

speakerdeck.com

データレイクにAthenaとTimestream使った場合の1分単位のクエリコストが500倍ぐらいTimestreamがたかった。
TimestreamはIoTで使いやすいとはいえ、かなりコストかかるんですね。

詳解 AWS Lambdaコールドスタート(ダイジェスト版)

岩田さん

dev.classmethod.jp

  • 一つの仮想マシン(Fireclacker micro vm)のうえにLambdaのサンドボックスも一つ
    • フルコールドスタート(vmから起動)とパーシャルコードスタートがあるがユーザーからはわからない
  • Lambdaのベストプラクティス
    • 遅延実行なしにするならhandlerの外でboto3クライントを生成
    • 遅延実行ありにするならhandlerの中でboto3クライントが生成されてなければ生成
      • InitフェーズをInvokeフェーズへ移動する
      • boost host CPU機能:InitフェーズではCPU割当が最大10秒間までブーストする
        • Invokeが重くなるので、遅延実行なしのほうがInitフェーズで重い処理するため早いケースも起きる
  • Node.jsの場合
    • v20以降であれば、Root CAを全部読まないので必要な証明書だけ読み込ませると早くなる
  • Pythonの場合
    • botocoreから不要なライブラリを消す

すごい知見の資料でした。
botocoreから不要なライブラリを消すなどの黒魔術はすごいけどやりたくないやつだ。

そのデータ、すぐに復旧できますか? 〜 FSx for ONTAP で実現するランサムウェア対策

藤原さん

  • NetApp:ネットワーク越しにNASを使えるところからスタート
    • 地球上で最もセキュアなストレージ
  • ランサムウェア
    • サービスとしてビジネス化されていることもあり増えている
    • 46%は調査復旧に1,000万円以上かかっている
    • 81.1%はバックアップから復旧ができていない
  • Ceyber Security:防御力
    • IDENTITY/識別, PROTECT/防御
  • Ceyber Resilience:復元力
    • DETECT/検知, RESPOND/対応, RECOVER/復旧
  • on tap = (ビールとかの樽についてる)注ぎ口
    • すぐに出せるようになっている
    • ここから ONTAP という名前を取ってるためプロダクト名はビールの銘柄

メモってはないのですが、ストレージ上でマネージドなONTAPならではの機能がたくさんあるんですね。
ランサムウェア対策を楽にちゃんとするなら使う選択肢になりそう。

edrockの宇宙最速アウトプットしまくってたら書籍出版できた話

みのるんさん、森田さん

speakerdeck.com

裏話めっちゃ面白かった。
みんなほぼ休み無しで書きながら、Qiitaランキングも維持して、担当の人すら休んでるのに続けて校了まで続けるパワーがすごすぎる。 一昨日Cloud9が急に使えなくなる事件も面白いし、徹夜とかで代替案だして対応しているのも素晴らしい。

データ品質管理の第一歩

鈴木那由他さん

  • データ品質とは
    • データが目的を満たすために備えるべき特性を定義したもので、データの状態(質)を表したもの
    • 正確性、完全性、一貫性、信頼性、再申請、アクセスビリティ...など15項目
    • 大きく2つに分けれる
      • 基礎的品質特性(正確性、完全性、一貫性)
      • 付加的品質特性(基礎意外)
    • データ提供者が品質管理をする
  • データ品質ルールの設計
    • 組織全体を念頭にいれる
      • 守らないとデータがもらえなかったりバラバラになったり
  • データ品質チェック
    • Glue Data Qualityで対応できる

良いデータ分析をするためには良いデータ品質から!
ISOでデータ品質の項目が定義されてたんだ。

TerraformでAWSのIaCを始める・始めたばかりの人へ

かずえさん

Terraformの発音は"テ"の部分があがるらしい。
Terraform便利なのはわかるのですが、CloudFormationよりCDKが流行っているように、TerraformもCDKTF使ったほうがよかったりしないのかな?

今時のCookie事情

西田さん

  • Cookieの属性
    • Path属性:Cookieの送信するパスを指定できる、そのパス配下しか送れないようにできる
    • Domain属性:Cookieが送信されるドメインを指定、何も指定しない場合そのドメインしか送られない
    • httponly属性:JSからアクセスできないようにする
    • Secure属性:httpsのみで送信される
  • CSRF(シーサーフ):Cookieが自動で送信される仕組みを利用した攻撃
    • CSRFを防ぐには
      • CSRFトークン:正規サイトでランダムなトークンを発行してformに保持
      • Same Origin Policy:異なるオリジンからのリクエストを拒否する
        • これをゆるめるのが CORS という仕組み
          • アクセスできるオリジンを指定
      • Same Site:同一サイト外へのCookie送信を制限、サブドメインのみ異なるのが samesite
        • Lax:GETリクエスト以外のクロスサイトリクエスト(3rd Party Cookie)を拒否
        • Strict:全てのクロスサイトリクエストを拒否
        • None:全てのクロスサイトリクエストを許可
    • API側でCSRFを防ぐには
      • 副作用のあるGetAPIを作らない
      • HostとOriginヘッダが同じかチェック
  • 3rd Party Cookie:サイトをまたいで送られるCookie

Webエンジニアやってるとある程度当たり前に覚えておくことが求められる部分。
基本的な内容だけどちゃんと理解できてない部分もあったのでいい勉強になりました。

Amazon Q in QuickSightで実現する次世代のデータ分析 - 生成AIがもたらすBIの革新

溝渕さん

  • Amazon Q in QuickSight
    • Generative BI 機能
    • ビジネスユーザー向け
      • エグゼクティブ・サマリー
        • ダッシュボードの内容のサマリーを作ってくれる
      • Data Q&A
      • データストーリー

Amazon Q in QuickSightには夢がある。
BIツール使いこなすのは学習コスト高いから、はやく日本語化して欲しい。

MWAA を使用したGlue JOBのオーケストレーション

久保さん

  • MWAA:Managed Workflow for Apache Airflow
    • Apache Airflow のマネージドサービス
    • Pythonで複雑なワークフロー書ける
    • いつでもどこからでも再実行
    • AWS以外から連携できる
      • Google CloudやSnwoflakeと連携とか
    • Glue Jobを呼び出すモジュールがあるので、PythonGlueJobOperator をimportすれば使える

SFn使うのがしんどいからGlue Workflow使って簡易的なワークフロー作ったりもするけど、MWAAのほうがよかったりするんだろうか?
Pythonがかければワークフローが作れるというのが大きなメリットか?

エッジコンピューティングだけで何処までの処理ができるのか?パブリッククラウドは不要になるのか?〜Cloudflareのエッジコンピューティングの今〜

亀田さん

  • マイクロサービスアーキテクチャはあうあわないがある
    • スタートアップなどではリソースが限られてるからモノリシックなほうがあってたり
  • CDは2種類ある
    • 継続的デリバリー:最後本番は手動、赤信号を入れておく
    • 継続的デプロイメント:全自動
  • Cloudflare global SASE network
    • L1-7まですべてのレイヤーでセキュリティを提供
    • Cloudflareの特徴として復路もWAFを通す
  • 最大60秒の結果整合性
    • すべてのデータセンター500個にコピーされるのに最大60秒かかる
    • この特性を理解してパブリッククラウドと使い分けが必要
  • Workers と Lambdaとの違い
    • コールドスタートが無い
    • Region / VPC 存在しない
    • Node.js のサポートが限定的
    • Cloudflare Workers は Service Worker + Web Worker で動作
      • CDNの中で動くので専用のエンドポイントがない

パブリッククラウドを置き換えるものではないけど、とても尖っているサービスなので使いこなせるようになりたい。