omuronの備忘録

個人的な備忘録

「nakanoshima.dev #31 これでわかった!! 監視のやり方」 #nakanoshima_dev 受講メモ

nakanoshima-dev.connpass.com

Cloudwatch Synthetics を聞きたかったのでそこを中心にメモしました。

セッション

「これでわかった!! Cloudwatch 」

渡邊 良臣さん

  • CloudWatch Metrics
    • 時系列のデータポイントセット
      • CPU 使用率とか
    • 名前空間/ディメンションというかたちでグルーピング
      • AWS/RDS/DBInstanceIdentifer/CPUUtilization...
    • Metrics Insight : SQL
    • Metrics Math : 数式
    • Metrics explorer : タグ
    • Metrics Stream
      • Kinesis Data Firehose 経由で S3 に出力
  • CloudWatch Logs
    • Agent インストールして明示的に出力可能
    • AWS サービスからも出力可能
    • Metric Filters を利用して Metrics へ流すことができる
    • subscription Filters で別 AWS サービスへ
  • CloudWatch Alarm
    • Metrics でしきい値を超えたときにアクションできる
    • 複数の数値が条件を超えたときに発動できる複合アラーム可能
  • CloudWatch Dashboard
    • クロスアカウント、クロスリージョン可能
    • メールとパスワードで参照可能(IAM不要)

「これでわかった!! Cloudwatch synthetics 」

河井 信彦さん

  • Cloudwatch Synthetics
    • エンドポイントの監視、いわゆる外形監視
    • マネジメントコンソールから簡単に設定可能
    • カナリヤ用コードは1つの Lambda レイヤーとして登録される
    • BluePrint を使えばコーディング不要
      • 6種類のテンプレートが準備されている
  • Synthetics BluePrint
    • Canary Recoder : Chrome アドインとしてインストールしてブラウザ操作を記録してコピペでできる
    • GUI ワークフロービルダー : Workflow Builder を利用してブラウザの操作を定義
    • Visual Monitoring : スクリーンショットに基づく変化を検出可能、変化率のしきい値を設定して検出可能
  • カナリヤグループ
    • 複数のカナリヤをグループにまとめることができる
  • 料金 : $0.0019/回

所感

触るとわかりやすい機能なのでハンズオン有用ですね。
CloudWatch Synthetics って、マネジメントコンソールからしか設定できないのかしら?と検索したら CLI も CFn もちゃんと準備されてました。

synthetics — AWS CLI 2.8.5 Command Reference
AWS::Synthetics::Canary - AWS CloudFormation

「AWSの基礎を学ぼう 第百一回 Amazon Kendra」 #awsbasics 受講メモ

awsbasics.connpass.com

前回サボったこともあり、すごい久しぶりな気がします。
文書検索の Amazon Kendra です。

セッション

Amazon Kendra

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

Amazon Kendra 概要

  • 自然言語で文書検索
    • キーワード検索だけでは探しにくい場合に利用
    • 非構造化データを扱える
    • チューニング可能
    • FAQ マッチング
      • 手動で投入も可能
  • 業界特化型のモデルあり
    • 医療、ヘルスケア、教育、産業...など14種類のドメイン
    • 日本語にも対応しているがテストしたほうがいい
  • セキュア検索
    • ログインありなしで結果を変えれる
    • トークンベースのユーザーコントロール可能
  • ネイティヴ&パートナーコネクタ
    • GitHub, Slack, Jira など多数と接続できる
    • API たくさんコールされる可能性あるので注意
  • 継続的な改善
    • AI なので定期的にアルゴリズムが自動更新される
      • 「いいね」でフィードバックも可能
  • NLU&機械学習のコア

所感

日本語にも対応しているようです。
途中で話題にもなりましたが、日本語でこの手の自然言語のものは信頼がおけないと思ってる人が多そうな印象です。
自分もそういう印象を持ってるのですが、昨今の AI/ML の進化は凄まじいから、自然に使えるぐらい洗練されるのも時間の問題かな。

db.t4g.medium で 8.0.mysql_aurora.3.02.1 を選ぶと Performance Insights が設定できない

ドキュメント上では db.t4g と Aurora MySQL 3.x のバージョンで Performance Insights を利用できると記載されております。

docs.aws.amazon.com

db.t4g – 2.10.1 以降の 2 バージョン (MySQL 5.7 と互換) およびすべての 3 バージョン (MySQL 8.0 と互換) のみサポートされています。

しかしながら、db.t4g.medium で 8.0.mysql_aurora.3.02.1 を選択すると設定項目が消えてしまいます。

CloudFormation で設定してみてもエラーが発生します。

Resource handler returned message: “Performance Insights not supported for this configuration.

そのうち修正されると思うのですが 2022/10/15 時点では設定できません。
Aurora MySQL 3.01.x だと問題なく設定できるので、t4g インスタンスで Performance Insights が必要な人は、Aurora MySQL 3.02.x ではなく Aurora MySQL 3.01.x を使いましょう。

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 は医療には不要なので機能なし
    • 個人情報抜きでのカテゴライズ可能
    • 日本語非対応

所感

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