omuronの備忘録

個人的な備忘録

Aurora Serverless v2 が CloudFormation 対応されました

Aurora Serverless v2 が GA されて結構な時間が立ちますが、やっと CloudFormation 対応されました!
CloudFormation のドキュメントがまだ追いついてなさそうなので、GitHub Issue を参照しながら試しました。

CloudFormation 設定

CloudFormation での設定は、既存の Aurora クラスターのプロビジョニングノードに対して、以下の設定を入れるだけです。

Aurora クラスタ

クラスター設定は ServerlessV2ScalingConfiguration を追加して、キャパシティの最大値と最小値を設定します。

  DBCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      ServerlessV2ScalingConfiguration:
        MaxCapacity: 128
        MinCapacity: 0.5

Aurora インスタンス

Aurora インスタンスは、インスタンスクラスに db.serverless を設定します。

    DBInstance:
      Type: AWS::RDS::DBInstance
      Properties:
        DBInstanceClass: db.serverless

さいごに

動きを確認してたのですが、インスタンスノードがプロビジョニングから Serverless に置き換わるだけのようで、自動でスケールアップ・ダウンはしますが、スケールイン・アウトはしないようです。
そのため、本番環境であれば Multi-AZ 構成を考える必要がありそうです。

あと、意外と費用はかかります。

dev.classmethod.jp

東京での最小構成の場合、Serverless 版の Aurora は、インスタンス1台でも $72/月 かかります。
メモリ最適化ノードの最安値の db.r6g.largeリザーブして月割するほうが安いので、節約のために Serverless 版を使うメリットはなさそうでした。

MySQL デーモンプロセスの再起動なしにスケールアップ・ダウンが自動で素早くしてくれるというのが大きなメリットですね。

「JAWS DAYS 2022 -Satellites」本編の受講メモ #jawsug #jawsdays #jawsdays2022

jawsdays2022.jaws-ug.jp

JAWS DAYS です!
お祭りです!!
大阪 Satellite で参加して来ました。

大阪会場まで向かう

久しぶりの電車です。
未だに読み終わってない「システム運用アンチパターン」を読みながら小一時間電車で梅田に向かいます。

梅田に朝から行くのでモーニングできる店を調べてスープモーニングを食べました。

約3年振りの AWSJ 中之島オフィスに到着。
写真撮影は禁止だったので、これ以降は懇親会まで写真は取れてません。
久しぶりの人たちに挨拶しながらセッションを待ちます。

セッション

AWS under the hoodAWSを中で支えるサービス群について語る〜

亀田 治伸さん

  • Lambda は AWS 専用の VPC で起動される
  • 学びの方程式
    • 興味、義務、情熱
      • 1ヶ月後に LT 宣言して義務化
      • コミュニティなどで一緒に学んで情熱をもらう

メモってる途中で Mac 落ちたのでメモが中途半端になってしまいました。
バッテリー残量あるのに、まったく当てにならん状態なので、そろそろ買い替え検討しないと。

IaCツール徹底比較 ~Slack botの開発に最も適したIaCツール選手権~

前田 和樹さん (Lv200)

  • CDK: 公式、早い
  • Terraform: HashiCorp製
  • SAM: 公式、サーバーレスに特化
  • Serverless Framework: AWS 以外も対応
  • Chatbot 作るには?
    • Terraform 対応してない
    • SAM/SLS は、サーバーレス以外は CFN を書く必要がある
  • 俊敏性:Lambda のビジネスロジック部分
    • SAM/sls はサーバーレスならローカルの Docker でテストできるが Chatbot はできない
    • CDK は、cdk watch コマンドで hotswap ローカルでのログ確認で楽できる
    • Terraform は terraform apply コマンドで AWS にデプロイして確認するのですぐに Lambda の確認ができない
  • 運用製
    • Terraform Cloud が便利
    • Serverless CI/CD は Terraform Cloud ほどじゃないけど便利
    • CDK/SAM は、Code 系を使って CI/CD 作る必要あり
  • 順位としては、CDK が便利
  • IaCツールに正解はなく、作ろうとしているシステムの特性、運用方法、チームメンバーの学習コストなど考慮して選定する

CDK は公式だけあってとてもいいですよね。
CFn のほうが手軽だけど、凝ったことをみんなでやるには CDK のほうがとても良いと思ってます。

AWSクイズ大会

亀田 治伸さん

ノストラダムス(今どきの子は知ってるの?)の詩に合わせたようなネタクイズ。
大阪会場「全然わからん」と盛り上がってました。
面白いけど難しい。

An Introduction to Amazon’s Culture of Innovation

Jeff Barrさん

同時通訳付きで Aamzon カルチャーのお話。
都度都度カルチャーを発信する文化自体が素晴らしいです。
ちょうど7年前に re:Invent で直接聞かせていただいたことを思い出しました。

Leadership Principles はこちら
https://www.aboutamazon.com/about-us/leadership-principles

AWSを理解するということ

トレノケート株式会社 伊藤 博美さん、三浦 美緒さん、髙山 裕司さん、山下 光洋さん

  • 理解すること・記憶すること
    • Can の積み重ね
    • 理解するには触って使って話すこと

昔の JAWS DAYS のTシャツには全部のサービスが書かれてたけど30個程度。
現在はその10倍にはなってるので積み重ねて勉強が大事と。

Serviceで構築するTVerの次世代検索基盤

株式会社TVer 黒瀬 祐平さん

  • 従来はコンテンツの情報を直接 DynamoDB で見ていた
    • 内製化で自社システム刷新
    • OpenSearch Service 導入へ
  • MySQL に大元のコンテンツをおいて、OSS へ定期的にコピー
    • Index ごと作り変え
    • 検索 API には Aliase だけ見せる

OpenSearch Service は次に使ってみたいサービスですね。
検索を早くするならこのサービスでしょうけど、値段がそこそこ高いイメージがあります。

AWS認定Database Specialty合格への道

フェンリル株式会社 木村 奈美さん

手書きのメモが素晴らしい!!
登壇申し込んだときにはまだ試験前で合格しているかどうかわからない状況だったと。
試験受けるのはめっちゃプレッシャーだったでしょうね。
私も登壇決まったときにはリリースできてるかわからない時期でしたので、ちょっと気持ちはわかりました。

インフラチームがAWS Step Functionsを活用してクリエイティブに課題解決したお話

二出川 弘さん (Lv300)

  • StepFunctions のワークフロースタジオ発表
    • ローコードサービス
      • いい感じで使えそうだけど Lambda たくさん入りそう?
      • SF の対応サービスが200以上サポートされた
  • SFn
    • パブリック S3 の自動修正
    • APIG に WAF アタッチ
    • 利用してない IAM User ロック
  • 日付計算したいときは Lambda 必要
  • クロスアカウント/リージョンのアクション実行は不可

SFn のローコードサービスは試しただけで結局ちゃんと使えてないです。
あまり凝ったことを SFn でしてないのと、CDK とか CFn に書き直すのに手間もあるというのも理由です。

これまでのコンテナ支部・これからのコンテナ支部

新井 雅也さん、北浦 智也さん、原 トリさん

トリさん相変わらずサイコーでした。

AWS SA/エキスパート怒濤のLTチャレンジ

本当に怒涛の LT らしい LT でした。
荒木さんの LT にて以下の告知が。

すでにツイートしてたのに見逃してた!
急いでリプして本ゲットです!!
初版も持っているので、見比べたいと思います。

CloudTrailの利用料でx0万円の請求が来た話

濱田 一成さん

  • 他事業部の AWS で中身を把握してない環境に CloudTrail を導入
    • 2アカウントでx0万円の請求がきた...
  • すでに証跡が1つ存在していた
    • 1つは無料だが2つ目から有料
  • S3,Lambda,DynamoDB のイベント有効化していた
  • DynamoDB のグローバルテーブルが有効化されていた
    • データイベント15億回 = $1540
    • 管理イベント 15億回 = $315
  • データイベントは「高度なイベントセレクター」を活用すべき

CloudTrail や Config って設定必要だけど、費用的に高くなることあるので要注意ですね。
最後の締めにあったように値段通知は必須です。

AWSのマネージドサービスとSaaSの良い関係 - Stripeを使った決済システムは、どこまでAWSでリッチにできるか?

岡本 秀高さん

  • SaaS とシステムを連携させるには API か イベントが必要
  • イベント駆動は、その場で完了させたい場合
    • 銀行振込、コンビニなど決済が完了したイベントを待って動かす
    • EventBridge で処理
      • EventBridge から、SES,DynamoDB,SFn などにつなぐ
      • EventBridgeであれば別の決済手段も同じ処理で動かせる
  • Frontend は Amplify SDK で処理
    • AppSync(GraphQL) で同期処理
  • SFn をワークフロー使ってつくればローコードで実装できる
  • 決済システムからはじめる DX

Stripe は開発者体験素晴らしいですね。
このサービスができるまで、決済処理作るのは本当に憂鬱でした。

さいごに

とりあえず本編聞きながらメモしてた内容です。
後ほど公開されている資料も探してこないと。
15時に登壇しましたが登壇前後はセッション聞けなかったのでそのあたりは飛んでます。
登壇と懇親会はまた別ブログにて。

「JAWS-UG朝会 #38」 #jawsug_asa 受講メモ

JAWS-UG朝会 #38

jawsug-asa.connpass.com

最近早起きなので普通に起きてました。

セッション

セッション① Well-Architectedを再度学習して内容をまとめてみる

久保田亨さん

  • Well-Architected 6つの柱
    • 運用上の柱
      • 組織の優先順位を決める
    • セキュリティの柱

Well-Architected、困ったときの指針ですが読むのが大変でつまみ食い状態です。
聞くだけでメモれなかったので、後ほど纏めてくれていた資料が公開されるので必要に応じて参照しないと。

セッション② Redshift Serverless とは?

emiさん

  • 従来の Redshift
    • RA3 インスタンス -> クラスター構成で、以下の3つの要素で構成
      • リーダーノード
      • コンピュートノード
      • マネージドストレージ
  • Redshift Serverless
    • ノードのキャパシティプランニング不要
    • 自動でプロビジョニングスケール
      • RPU という単位、1RPU = 16GiB メモリ
        • 8刻みの 32-512RPU、デフォルト128
        • 制限到達時にアラートやクエリ無効などのアクション設定可能
    • クラスターの概念がない
    • 請求
      • コンピュート請求はアイドル時間は無料
    • 注意点
      • 3つの AZ 必要
      • 自動アップデートされ、メンテナンスウィンドウは使用できない
      • Advanced Query Accelerator がサポートされない
      • 小さいサブネットで大きい RPU を作成しようとすると IP が足りなくてエラー
        • /24 あれば大丈夫

Redshift は手が出てなかったのですが、Serverless 版がでたので触ってみたいと思ってましたので、基本情報助かります。

LT① 個人開発・ベンチャー・エンプラと渡り歩いて感心したAWS活用術の紹介

KDDI株式会社 牧野佑城雄さん

  • 個人開発:Hugo で静的 Web サイト作成
    • Amplify Console 利用
      • Hugo など特定の静的サイトジェネレータは個別のビルド設定ほぼ不要
      • 必要最低限の機能がある
  • ベンチャー:ELB+EC2、Chef 利用
  • エンプラ:セキュアなセキュリティ構成

Amplify Console 使ったこと無いのですが、Hugo そのままビルドして Web サイトが作れるんだ。

LT② マネジメントコンソールでS3フォルダを作成するときは気をつけよう

Iret株式会社 GOさん

  • S3 バケット配下には1つのオブジェクトのみ
    • test/xxx.txt
    • s3 ls すると2つのファイル
      • test/ 0byte
      • test/xxx.txt 10byte
    • CLI から作ると1つのオブジェクト
    • マネジメントコンソールから S3 にフォルダを作るとフォルダが 0byte オブジェクトとして作成される

S3 配下のファイル数を利用して、動作させるスクリプト作ると罠にハマりそう。

LT③ WindowsAWS CLIのタブ補完をしようとしたら、色々引っかかった話

畠山大治さん

speakerdeck.com

  • Windows + AWS CLI の記事が少ない
    • インストーラーで CLI のセットアップは完了
    • 設定ファイルのパスは C:¥Users¥ローカルユーザー名¥.aws のユーザー配下
    • PowerShell プロファイル開く
      • プロファイルにタブ補完設定が必要
    • PowerShell はデフォルトでスクリプトファイルを実行できない
      • ポリシーの変更が必要
    • WSL2 使うのが早い

Windows 全然わからん。

所感

Redshift 使うハードルが高かったのですが、Redshift Serverless がでたおかげで少しハードルが下がりましたね。
やるやる詐欺してないでやらないと...

「AWSの基礎を学ぼう 第九十九回 Amazon Comprehend」 #awsbasics 受講メモ

awsbasics.connpass.com

文章を AI/ML で分析する Amazon Comprehend です。

セッション

Amazon Comprehend

講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏

Amazon Comprehend 概要

  • テキストを理解する上で重要な、エンティティ、キーフレーズ、感情などを検出
    • 生放送で Twitter を拾うときに特定のキーワードを出さないとか
  • エンティティ:存在する場所、日付など具体的ななにか
  • キーフレーズ:その文章が何について書かれているか
    • 例)好奇心、当時

Amazon Comprehend のゲームでの活用例

  • シナリオからエンティティやキーワードを抽出
  • チャット分析
  • 問い合わせカテゴリ分け
  • SNS 分析

Amazon Comprehend マネジメントコンソール

  • Real-time analysis
    • テキストを貼り付けるだけで解析可能
    • PII(個人情報)とか一部の機能は日本語非対応(英語のみ対応)
    • Sentiment はニュースとかであればニュートラルに出がち
  • リージョン毎に違う結果が出る場合がある
    • エンジンのモデルバージョンが時差とかで違う可能性あり

Amazon Comprehend Medical 概要

  • 医療向けの機能
    • 文章から医療情報をカテゴライズ
    • 投薬と投薬量を矢印で紐付けたり視覚化する
    • Sentiment は医療には不要なので機能なし
    • 個人情報抜きでのカテゴライズ可能
    • 日本語非対応

所感

メディカルの機能が結構すごいですね。
健康には力をいれている感じでしょうか。
言語処理系は日本語が弱いのは痛いところです。

「AWSの基礎を学ぼう 第九十八回 Amazon DevOps Guru」 #awsbasics 受講メモ

awsbasics.connpass.com

ML がクラウドの問題を自動検知する Amazon DevOps Guru です。

セッション

Amazon DevOps Guru

講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏

Amazon DevOps Guru

  • ML を活用したクラウド運用サービス
    • ML の経験不要、問題を自動検出し、アウリケーションの可用性を向上
    • Aramのしきい値の設定作業を軽減、大量アラーム防止
  • CloudWatch のメトリクス監視
    • ML を使った異常の検出
    • イベントとの関連付け
      • 影響を受けているスタック
    • レコメンデーションの構築
      • 実行可能なアクションの提案、システム状態の迅速な改善
    • インサイトの生成
    • CFn や CloudTrail から設定変更イベントの検知

DevOps Guru for RDS

  • データベース関連の問題の検出、診断、修正
    • ワークロードに合わせて異常検知を微調整
    • DB メトリクスに基づき DB 異常の理由を提示

利用時の注意点

  • 起動直後はベースラインの学習を行うため、数十分は対象リソースを通常稼働させておく
  • RDS は自動でオプトインされる

所感

お金的に高くないのであれば、起動しておいて損はない感じですかね。
対象リソースを多くしなければ、そこまで費用はかからなさそうです。

「JAWS-UG朝会 #37」 #jawsug_asa 受講メモ

JAWS-UG朝会 #37

jawsug-asa.connpass.com

最近寝不足でギリギリ起きて急いで参加。

セッション

セッション① Aurora PostgresのParameter Group(監査・ログ系)を調べてみた

富松 広太さん

speakerdeck.com

  • 要件
  • アクセスログ
    • パラメータグループ log_connections=1 log_disconnections=1
  • SQL 実行履歴
    • パラメータグループ pgaudit.role=1 pgaudit.log=all -misc pgaudit.log_statement_once=1 pgaudit.log_relation=1 pgaudit.log_parameter=1 shared_preload_libraries=pgAudit

パラメータグループの詳しいお話。
アプリ屋さんと相談しながら設定するのであまり深く考えずに設定しがちです。

セッション② AWS認定とAWS_CLI

伊藤真司さん

  • AWS マネジメントコンソールのデメリット
    • 画面仕様に依存、属人化でのオペミス、手順変更の重労働
  • AWS CLI
    • v2 は Python 組み込み済み、Docker あり
    • v1 でも困ることはない
    • CloudShell は v2、Cloud9 は v1
  • コマンドオプション
  • VPC エンドポイントでよりセキュアに
    • Cloud9 から実行する場合 VPC エンドポイント経由で実行できる

手順書には CLI 必須ですね。
私は CloudShell で実行することが多いです。

LT① もうLambdaだけではだめ、Stap Functionで疎結合にしよう

Iret株式会社 GOさん

  • Step Functions
    • アップデートで Lambda つかわなくても SDK 呼べるようになった
    • Lambda を使うと Lambda の中で複数処理がされて可読性が落ち、エラーの調査コストも大きい

Step Functions 使うと可視化はできるけど、作るのは単体 Lambda と比べて大変かも?

LT② 35世代保持する設定のRDSスナップショットが60個あった件

Iret株式会社 松田 啓佑さん

  • PosgreSQL でシングルAZで、夜間10時間停止していた
  • 自動バックアップを35日間=35個設定していたが、62個スナップショットができていた
    • 自動バックアップだと1-2日分は余分に発生する仕様
    • RDS のバックアップ保存時間の計算時に停止時は含まれない仕様
      • 保持期間の設定は、24時間単位での計算になる
        • 35 x 14/24 = 60 で計算があいそう

自動バックアップ期間に停止時間が含まれないのは知らなかった。
本番だと停止しないのでこの罠に陥らなさそうだし、本番以外はバックアップを取らないから気がつくことがありませんでした。

LT③ DirectConnect上でAWS Site to Site VPNでのプライベート接続に乗り換えてみた

NTTデータ 山本 泰士さん

speakerdeck.com

  • DirectConnect でも WAN 区間の暗号化要件が根強い
    • 仮想アプライアンス製品でオンプレルータ間で暗号化していた
    • TGW とオンプレルータ間の AWS だけで暗号化できるようになった

VPN 使ったことありません...

所感

RDSスナップショットの話がとても面白かった。
これ発見して原因に気がついて腑に落ちる瞬間気持ちよさそう。

「AWSの基礎を学ぼう 第九十七回 Amazon CodeGuru 」 #awsbasics 受講メモ

awsbasics.connpass.com

AI がコードレビューしてくれる Amazon CodeGuru です。

セッション

Amazon CodeGuru

講師:アマゾン ウェブ サービス ジャパン、シニアエバンジェリスト 亀田氏

Amazon CodeGuru

  • CodeGuru Reviewer
    • コードレビューサービス
      • (動いているけど)改善をしたほうが良い箇所の指摘
      • 開発を手伝ったりバグを指摘するものではない
      • クリティカルな問題や発見が困難なバグを特定
        • null を操作しようとしたりするケース
      • Java / Python に対応
      • 90日間ログ保存
    • カテゴリとしては AI サービス
    • 対応リポジトリ
      • CodeCommit, GitHub, BitBucket
  • CodeGuru Profiler
    • アプリのパフォーマンスを可視化
      • 実行コストの高いコード業を特定
    • 改善を提示することでインフラ費用の削減につながる
    • JVM ベースの言語(Java, Scala, Kotlin)に対応
      • JVM のエージェントで動作
        • エージェント使いたくない場合はコードに Profile を組み込みでも可能
      • Lambda は環境変数に設定を追加し、Profile の設定も必要
    • Python はプレビュー

所感

CodeGuru が出たときは、料金がすごく高く感じて使うのがなかなか難しいなーと思った記憶があります。
一度値下げされて、随分使いやすい料金になりましたね。

dev.classmethod.jp

私は Java はほとんど使ってないし、Python もちょっとしたツールとかしか使ってないから、対応言語が増えないとお世話になることはまだなさそうかな。