Open6

JAWS-UG朝会 #29

しげるしげる

セッション② AWS Service Namespace を流行らせたい

クラスメソッド株式会社 千葉幸宏(チバユキ)さん

千葉さんが書かれた記事 → https://dev.classmethod.jp/author/chiba-yukihiro/

AWS サービスあるある

  1. 多い
    a. 223サービスあるらしい
    https://dev.classmethod.jp/articles/aws-summary-2021/
  2. 接頭辞 AWS or Amazon で迷いがち
    a. AWS → 連携する、 Amazon → 単体で使える
    b. 名前に関して迷いがち ex) EC2? Amazon EC2?
  3. 何をもってサービスなのか悩む
    a. マネジメントコンソール?製品?ドキュメント?

そこで、AWS Service Namespace

  • 基準が明確(リファレンスされている)

  • AWS / Amazon がつかない

  • ただ多い 331個もあるらしい

  • IAM JSON

    • action

      • ec2:CreateVpc
      • s3:GetObject
    • condition

      • iam:AWSServiceName
      • rds:DatabaseName
  • AWS Service Namespace <> AWS Service が 1対1になっていることが多い

  • コマンドを学ぶとよさそう

コマンドの例は↓にまとまっている
https://dev.classmethod.jp/articles/aws-service-namespace-2021/

AWS IAM にも service prefix で一覧でまとまっている
IAM と仲良くなるには、サービスではなく、Service Namespace と仲良くなる

問題

正引き

  • Amazon EC2 → ??
    • ec2
  • Amazon S3 → ??
    • s3
  • Amazon VPC → ??
    • ec2
    • vpc ではない。名前空間 ec2 が広い

逆引き

  • rds → Amazon RDS / ??
    • Amazon DocumentDB
  • mediaimport → Amazon RDS
    • Amazon RDS Custom for Oracle のインストールに対する権限を付与するための名前空間
  • tiros → Amazon VPC

https://aws.amazon.com/jp/security/provable-security/

しげるしげる

セッション① 数年間、レイクハウスを設計運用してみた

野口達也さん

データ分析基盤データレイクって何?

収集 蓄積 集計 活用 分析
DataSendTool データレイク データウェアハウス データマート 分析・学習/推論
too many S3, EMR,... Redshift, EMR, S3, ... RDS, Redshift, S3 ... Quick Sight, Sage Maker

レイクハウスアーキテクチャが出てきている

  • データレイク
    • S3 に入れる
  • レイクハウス
    • S3 から読み出していく

↓後で読む
https://aws.amazon.com/jp/builders-flash/202003/what-is-datalake/

データストアの種類

データレイク<>データウェハウス<>データマート
S3 <> EMR <> Redshift <> RDS
元データ→ 参照データ

せっかく構築したが使われない

  • AWS の使いやすいツールを駆使すると便利なので、使われやすいかな
  • Redshift の machielearning も出たので、便利になりつつある
    • Redshift Serverless が出た vs BigQuery

Redshift ML を使ってみました

  • SQL 実行により学習 / 推論も SQL like に実行できる
  • 説明変数 と 目的変数 を指定するだけで、MLが使える
しげるしげる

LT① Amazon Interactive Video Service(IVS)を触ってみた

クラスメソッド株式会社 あしさん

https://dev.classmethod.jp/author/ashizawa-hiroaki/

IVS(Amazon Interactive Video Service)

  • 数クリック で動画ストリーミングをライブ配信できる
  • 低遅延配信
  • SDK, API を使ったカスタマイズ

検証

OBS → IVS → codepen の環境を作る

  • IVS はチャンネルの設定だけ

  • OBS の設定は IVS の URL を設定するだけ

  • OBS → codepen の遅延は、3秒の遅延だった

  • JSON を送信するだけで、アンケート機能ができる

参考

Live Streaming with Amazon Interactive Video Service

しげるしげる

LT② AWSアカウントの共通設定をCDK ConstructHubで公開しました

小笠原寛明さん / 富松広太さん

Google Slide

まだ完成していないが、作成途中で詰まったところのシェア

ConstructHub とは
https://constructs.dev/

作ったCDKを簡単に公開できる

  • 公開しても良いライセンス(Apache, MIT)がついている
  • npm のタグに cdk がある
  • npm に公開されていること
  • jsii でコンパイルされていること

コミュニティが projen を用意しています

https://github.com/projen/projen

  1. 設定系のファイルを一括作成してくれる
  2. github action の設定ファイルも自動生成してくれる
    a. jsii のコンパイル
    b. npm への公開
    c. お作法 check

つまりポイント

  1. PRタイトルが特定文字列で開始しないとエラーになる
    • feat / fix / chore のどれかで始まれば OK
  2. 利用されない変数があるとエラーになる
  3. 複雑な型がjsiiで他言語にクロスコンパイルできずエラーになる
  4. cdk v2 の場合は node v14.15.0 以上を指定しないとエラーになる

参考

projen ではじめる快適 AWS CDK Construct Library 開発生活 - Qiita

しげるしげる

LT③ CloudFormationのテンプレートをdrawioファイルから作ってみた

文沢健人さん

draw.io
draw.io

デモ

  • VPC, Private Subnet の設定
  • EC2 の追加
  • 名前をつける
  • input ファイルに 設定したファイル が入っていることを確認
  • コマンドを実行すると json ファイルとして出力される
  • CloudFormation で 必須パラメーターだけ記述

ツールの解説

  • 非圧縮xml で出力
  • Id, value, parent を抽出
  • input 内に格納

↓コード
https://github.com/fumiken/drawio2cfn