amareloのブログ(仮)

IT系勉強会で感じた想いや知見をメインに書いていきます。

JAWS-UG朝会 #32 参加レポート

4/11 JAWS-UG朝会 #32 の参加レポートです。

目次

イベントページ

jawsug-asa.connpass.com

セッション

セッション① Aurora MySQL v1→v3の移行を準備する hmatsu47(まつ)さん

  • Aurora MySQL v1(5.6互換)のEoLが発表
  • 2023/2/28までにv2またはv3への移行が必要
  • せっかく移行するならばv3に

Aurora MySQL v1(5.6互換)のEoLまでの流れ

Aurora MySQL v2のEoLは?

  • 現時点の予定は2024/2/29(延長される可能性はある)
  • 本家のMySQL5.7のEoLは、2023/10/21

Aurora MySQL v3

  • ベースはMySQL8.0
  • 他のRDBMSと遜色ないレベルのSQL文をサポート
    • 複雑な処理は苦手だったが、バージョンを重ねるごとに改善
  • 並列処理性能が向上

v1からの移行の難しさ

  • v2以降に廃止された機能がある
    • クエリキャッシュは良し
    • 古い暗号化関数の廃止
    • MySQL独自文法の廃止
    • GIS機能リニューアルによる非互換
  • リリースモデルの変更
    • コミュニティ版MySQL8.0のリリースモデルを変更し、継続提供モデルを採用することになった。
      • マイナーバージョンもそれに追随することになる。
    • 予約後の追加
      • テーブル名やカラム名にバッティングすると不具合になる可能性がある。
    • 挙動が変更される機能・SQL文の存在
      • GROUP BY ~ ASC/DESC および暗黙ソート廃止
  • 移行パスや移行条件に制限がある
    • v1 からv3は直接アップグレードできない
      • クローンなどで一旦v2に
      • v2からv3へのアップグレードは、今のところスナップショットからの復元一択
      • 現状ではGlobal Databaseをv3に移行するのが困難
    • バックトラック使用中のクラスタはNG
  • コードが大きく書き換えられている
    • 同じSQLでもバージョンによって仕様に変更が入っている
      • 性能低下が発生する恐れがある。

結局のところ

  • 事前調査は大事
  • 設定やアプリケーション変更はほぼ発生すると思った方がよい
  • 動作検証は性能検証は必要
  • 必要な情報をZennの本にまとめてみた

資料

speakerdeck.com

zenn.dev

セッション② IT素人だった私がAWSを触り始めたきっかけとその後 近藤恭平さん

AWSを触ったきっかけ

  • 中高生向けにキャリア情報を発信するメディアを作りたかった
  • AWSをつかったらできるんじゃないのか?と思い、ストリーミングファイルに変換するフローを作った。
    • S3→Lambda→Elemental MedhiaConvert(動画変換したファイルをS3に格納)

Amplify でWebアプリをホスト

  • 素人でも簡単にWebアプリを開発したい
    • AmplifyとVueを採用
    • 数クリックで簡単に環境を整えることができる
    • アクセスエンドポイントも発行される
    • クイズアプリを作って公開

UI Library(Amplify Studio)がすごい

まとめ

  • AWSを利用してWebアプリ開発・発信ができた
  • Amplifyを使えば比較的簡単に環境を整えられる。
  • UI Library の出現で、UIデザインとフロントエンドの境界線があいまいにある未来になるのでは?

資料

※公開され次第追記

LT① AWS WAFを入れたあとのちょっとしたトラブル かなかさん

  • 年末年始のアラート対応を絶対にしたくない!
  • アラートの原因は海外のBotからのDoS的なアクセス
  • 今までは、アラート→サーバログを見る→攻撃者のIPを拒否するConfigを追加してたがキツイ
  • AWS WAFを知って導入
    • 検証環境に入れてもアクセスパターン違うので、本番環境に入れた。
    • 使えそうなAWSマネジメントルール等を有効にしたら爆発した。

アラートの嵐

  • WAFデプロイ後、外形監視(ホスティング)からのアラートが多数発生。

まさかの課金

  • デイリーコストが増えた。
  • S3にVPCフローログ等のログを送る時に発生するコストが増えた
    • ブロックログのみ送ることに変更

アスキーアートを投稿できない

WAFを入れてみて

  • 年末年始のアラートはほぼ0だった
  • WAFはいいものだけど導入は慎重に

資料

※公開され次第追記

LT② TerraformでAWS環境を構築する際のハマりどころ アイレット株式会社 黒野雄稀さん

IAM編

  • destroyの実行
    • Teraformで作ったポリシはデタッチされる(想定内)
    • コンソールで作ったRoleもデタッチされる(想定外)
  • どうすればよかったのか?
    • aws_iam_role_policy_attachmentを使う
      • iam_policy_attachmentでは他のメカニズムを介してアタッチされたポリシが取り消される恐れがある。
        • 既に使っている場合は
          • terraform state rmを実行してtfstateの対象から外す
          • aws_iam_role_policy_attachmentに修正して再デプロイ

まとめ

  • 公式ドキュメントをちゃんと読もう
  • Terraformを使用して本番環境を作成する場合は、知見のある人と一緒にやること
  • ハマりどころもあるが、便利で楽しいので使ってほしい!

資料

speakerdeck.com

LT③ Amazon SNS からのメールをFirehoseとLambdaでまとめる shimoさん

動機

  • SNSでエラー通知が大量に来すぎ
  • SNSがアップデートされていたのを知らなかったので使ってみたい

やってみた① SNSKinesis Firehose→S3 trigger→Lambda

  • SNSを集約できる。ただし間隔は最大15分(Firehoseの制限)
  • S3に置かれたらS3 triggerでLambdaを呼ぶ
  • LambdaがS3からオブジェクトを取り出してSNSデータを整理し、別のSNSで送る。
    • 15分間隔を改善したい。

やってみた② EventBridgeでLambdaをクーロントリガする

  • 時間単位で自由にスケジュールできる。
  • EventBridgeがLambdaをトリガする。
  • Lambdaが未処理のデータを取得してLambdaでまとめて送信。
    • JSONデータからPythonで抽出する。集約して別SNSで送信

資料

speakerdeck.com

LT④ CI/CDわかってる風を装ってたけど、Codeシリーズでちゃんと再入門してみる KDDI 御田 稔さん

背景

  • 最近はCI/CDで開発する前提で話が進みがちだけど、手間とコストをかけてCI/CDを導入する価値を知っておこう

CI/CDが分かりづらい理由

  • オンプレ時代のリリースって具体的にどんな作業やってたの?というのが、インフラエンジニアからはイメージしづらい。
    • こまったら手を動かせ!

Hands-on for Beginnersをやってみた

  • AWS CodeCommit
    • AWS版のGitHub
    • 権限は設定しやすそう
  • CodeBuild
    • 開発者に代わってビルドとテストをする
    • 実行内容はbuildspec.yml に書く。
  • CodeDeploy
  • CodePipeline

    • CI/CDの各段階をひとつながりのジョブとして管理。
  • 修正したHTMLファイルをgit push したら、自動検知されてWebコンテンツに反映されたことを体験できた。

まとめ

  • CI/CDで開発からリリースが楽になる。
  • イメージできない人はハンズオンをやって手を動かそう。
  • CodeシリーズはAWSとの親和性が高いと思う。

資料

speakerdeck.com

最後に

近藤さんのやりたいことを実現するためにAWSを使い始めた話を聞いて、行動力とアウトプットの早さに驚きでした。shimoさんのアップデートを試しながら困りごとを解決した話、御田さんの手を動かして学んだことのアウトプット、このような経験を積み重ねることはスキルアップのためには大事だと思います。勉強だけしても実践の場が足りずなかなか動けていない。自分もスキルアップのためには、四の五の言わずとにかくまずはやってみよう!

来月登壇が決まってますが、まだネタ決まってないからとにかく手を動かして学んだり作ったりして、その成果を発表できるように考えてみようと思います。去年は結構やれてたのに、ホント今年入ってからやれてない。質も大事だけど、まずは行動しよう。