omuronの備忘録

個人的な備忘録

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

awsbasics.connpass.com

Proton が発表されたときに期待を持って少し調べて触ったあとそれっきり忘れてました。

セッション

AWS Proton

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

マイクロサービスについて

  • マイクロサービスの活用 --> スピードと俊敏性
    • マイクロサービスは一つのビジネスドメイン単位で考える
      • AWS は1つずつのサービスが収益をあげているので、サービス単位がマイクロサービスになる
    • コンポーネントが独立して動くのでモノリシックより中身は複雑化する

AWS Proton とは

  • PaaS と IaaS の長所を併せ持つ基盤スタックを提供
  • 中身は CloudFormation
    • Terraform も利用できる(CDK は使えない)
  • コンテナ or サーバーレスのアプリケーションが対象
  • インフラ担当者と開発者の双方を結びつける機能を提供
  • 「環境テンプレート」と「サービステンプレート」の2つでインフラをテンプレート化して扱う
    • 「環境に DynamoDB」、「サービスに Lambda」など
  • 「管理アカウント」と「環境アカウント」の概念を持ちマルチアカウント構成に対応
    • スタートアップよりも大きな企業を想定したサービス
  • メリットは3つ
    • IaC, CI/CD パイプライン、可観測性/メトリクスの実現
  • ダッシュボード
    • 何がいつどのバージョンで起動されたかを管理
    • ヘルスチェック表示機能あり
    • 廃止された古いテンプレートを利用している場合は検知される

所感

Proton は複数チームでマイクロサービスを開発する際に、インフラとアプリの基盤を分けて管理するためのサービスとのこと。
1人インフラエンジニアの環境とか、小規模だと導入のオーバーヘッドのほうが大きそうな感触です。

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

JAWS-UG朝会 #36

jawsug-asa.connpass.com

いつも起きてる時間ですが二度寝してて目覚ましに起こされました。
ちゃんと目覚まししててよかった。

セッション

セッション① AWSのコンテナイメージスキャン手法をまとめてみた

クラスメソッド株式会社 たかくにさん

speakerdeck.com

  • シフトレフトとは?
    • 前倒しで工程を実施すること、「運用でカバー」を減らす動き
    • 脆弱性スキャンなども
  • ECR イメージスキャン
    • ベーシックスキャン
      • Clair DB利用、1日1回無料、自動/手動スキャン可能
    • 拡張スキャン
      • 複数(Snyk, GitHub Advisory DBなど)データベース利用、有料、自動スキャンのみ
      • OS だけではなくプログラミング言語パッケージもスキャン可能
    • docker scan コマンド
      • Snyk DB利用
    • Docker Hub
  • Snyk とは
    • 開発者が利用するために作られたセキュリティプラットフォーム
    • snyk container コマンドで実行

セッション② インフラのテストにVPC Reachability Analyzer は外せないという話

株式会社ヌーラボ 中野雅之さん

speakerdeck.com

  • インフラのテスト
    • Serverspec : ssh ログイン前提でネットワーク疎通テスト
    • awspec : AWS リソースの設定テスト
    • VPC Reachability Analyzer : VPC 内の接続テスト
      • EC2 だけではなく Fargate も確認可能
        • Fargate はデプロイごとに ENI が変わる
        • ENI を指定してテストするが編集はできない
        • ENI はタグ名が表示されないからどのリソースの ENI か判断が難しい
          • CLI がおすすめ

シェルスクリプトAWSをいい感じに使いたい

shimoさん

docs.google.com

LT② サーバレス開発が地味にキツイ、特にDynamoDB

NTT東日本 長久保聡さん

  • 仕様追加で DynamoDB で PK で引けない状況になると辛い
    • GSI を安易に付与するとテーブル設計が崩壊する
      • 引き継ぎ辛くなる
    • RDB っぽい構造になっていく
  • マイクロサービスがうまく構築できてないのが原因

LT③ 年700万円損するサーバレスの認可システムをご紹介します!!

生活協同組合コープさっぽろ 樋口修也さん

speakerdeck.com

  • 認証認可をざっくり
  • Auth0 利用
    • Auth0 の ID とレガシーなシステムの ID が違うケース
      • 認可のたびにレガシーな ID も検証して返すようにした場合...年700万かかりそう
      • Auth0 の metadata にレガシーな ID も持たせて解決

所感

今日はどれも興味のある内容でした。

ECR のイメージスキャンは無料でできるのがいいですよね。 言語パッケージが利用できないからそこは考える必要あるけど。

VPC Reachability Analyzer は知ってるだけで使ったことはありません。 ENI に対して実行できるので、Fargate でも利用できるのか。

シェルを使わないと再現性が無いからよく使うけど、複雑になりがちですよね。 再利用するために README などに説明とともに保存するようにしてます。

DynamoDB は、外部サービス連携したり要望が出たりして PK 増やす必要がでたときに悩んでしまう。

認可は呼び出し回数が多いので最適化しましょう。

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

awsbasics.connpass.com

EC2 とか Lambda の最適化提案機能の AWS Compute Optimizer の回です。

セッション

AWS Compute Optimizer

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

AWS Compute Optimizer とは

  • EC2/EBS/Lambda/AutoScalingグループ が対象で、コストの最適化を支援するサービス
  • アカウントか組織単位でオプトインで利用する
  • 無償で利用できる範囲は CloudWatch の無料期間と同じ14日間が対象
    • 有償で3ヶ月に拡張可能、精緻な値で推奨してもらえる
  • Compute Optimizer ダッシュボードはグローバルリソース
  • EC2 のメモリは CloudWatch では取れないのでデフォルトでは対象外
    • 仮想化基盤からゲスト OS に引き渡した情報なので見えない
    • CloudWatch Agent を入れて対応する必要がある
  • EBS は gb3 がまだ対象外なので注意
  • Lambda は50回以上起動されている必要がある
  • Trusted Advisor や Cost Explorer の最適化提案とあわせて利用するといい
    • Trusted Advisor : コスト最適化
    • Cost Explorer : 推奨事項

所感

Compute Optimizer は、無償で使えるならオプトインしない手は無いですね。
とりあえず、オンにして表示されるのを確認してみてみたいと思います。
Trusted Advisor は、サポートプラン入らないと利用できないので、こちらは諦めて...
Compute Optimizer で最適した内容にて Cost Explorer の推奨事項を見て、リザーブを取るのがいい感じかな。

「JAWS-UG 初心者支部#49 夏の大LT大会 ~Summer of WonderfuLT~」 #jawsug_bgnr 受講メモ&登壇

jawsug-bgnr.connpass.com

昨年末の初心者支部でやりたかったことと言った内容の発表がやっとできました!

セッション

LT01 初めてのLambdaによる運用自動化~ 不要リソース削除大作戦 ~

鈴木健斗 様

speakerdeck.com

  • EBS、EIP 放置してた
    • Event Bridge + Lambda で不要なリソース削除を作ってみた
    • 削除して Slack 通知
      • 紐付いてないリソースは容赦なく削除する
    • Cloud9 で開発環境依存を無くす

「お前はもう死んでいる」という Slack 通知がめっちゃ面白い。

LT02 LTやろうぜ。ちょっしたことでPPTが格好良くなるコツ

亀田治伸 様

  • LT やる理由は「勉強会は共同でつくるもの」
    • 自分のため、知識のまとめ
  • ページオーバーしたとき
    • 短縮・圧縮は NG
      • 慣れてないと伝わらない
      • 伝わらないと後半パートも伝わらない
    • ブロック単位でカット
      • 次の LT で供養
  • 場の空気にのまれないため
    • 自分の時間をとる、最大5秒沈黙を作って注目を集める
    • 声が高い人は前日カラオケで声を枯らす
    • 導入部分はアイコンを中心、文字を少なめ
    • 画像の上の文字を重ねる、光彩を使う
    • 自分の丈にそぐわないエモーショナルな話は...
  • 数字は大きく単位は小さく
  • パワポの変形機能を使う
  • 練習は「仕事じゃないしいらんでしょ!」

亀田さんのスライドのみやすさの秘密の裏話でした。

LT03 新資格『SAP on AWS - Specialty 認定』ってどんな資格?

emi 様

speakerdeck.com

  • SAP(社)とは?
    • ERP システム、会社の基幹業務を担うシステム
  • SAP on AWS
    • ASCS : ABAP SAP Central Services
    • ABAP : SAP 製品で使われる言語
    • PAS : プライマリアプリサーバー
    • AAS : 追加アプリサーバー
  • Skill Builder、AWS のブログを読んで勉強

SAP 全然知らない...ドイツの会社だったのか。
サップじゃなくてエスエーピーなんですね。

LT04 リソース消し忘れて高額請求。。懺悔したいお話

上地航平 様

speakerdeck.com

  • 検証用 RDS を1ヶ月放置した
    • コンソールの UI/UX 調べたかっただけ
  • ハンズオンごとにアカウント作成して複数のアカウントを持っていた
    • 1ヶ月ログインせず放置
    • Budgets を設定してないアカウントだった
  • $766 = 10万円超えの請求が発生
  • RDS を作成して10分後に停止していた
    • 停止では料金発生する
    • 7日間しか停止できない --- > 7日以降自動起動される
    • マネージドサービスなのでメンテのために自動起動がされてしまう
  • AWS への減額のお願い
    • 非を認める
    • 調査結果を共有、CloudTrail ログを提出
    • Budgets で対策したことを提示
  • 9割返ってきた

個人アカウントで10万円は辛い!
9割返ってきてもやっぱり辛い!

LT05 テクニカルサポートってどんなお仕事?

初心者支部 上地申吾さん

  • AWS で利用できるサービスや機能の問い合わせ対応などをしている
  • カスタマーペイン=お客様が困っている、求めていることを考えて調査

40超えから AWS 学んで5ヶ月で7冠!

LT06 WAF Bot Controlを本番環境に導入してみた

山本竜司 様

  • WAF BotControl とは
    • WAF マネージドルールの1つ
    • WAF で Bot からのアクセスの可視化、制御できる
    • WAF で Bot 対策ができる
    • $10/月 + 100万ごとに$1
  • 見れる情報
  • 注意点
    • Bot からのアクセスをすべてブロック
    • GitHub の児童デプロイ用 Webhook も弾かれた
    • Count モードで様子見すべき
    • ブラウザ外の UA を拒否すると curlwget を弾く

Bot 対策には簡単に行えるけどちゃんとルールのチューニングは必要そうです。

LT07 AWS CLIエイリアス機能はいいぞ

伊藤嘉洋 様

speakerdeck.com

資料にも記載されている便利なエイリアスは早速使ってみよう。

LT08 QuickSight 触ってみた

speakerdeck.com

QuickSight をもっと使いこなせるようになりたい!

所感

去年やり残して今年やりたいことの一つがやっとできました。
あと残り2つの「X-Ray でのメトリクス分析」と「機械学習」はできる気がしない...
X-Ray はなんとかやってみたいところです。

「AWSの基礎を学ぼう 第九十一回 AWS Well Architected Framework 」 #awsbasics 受講メモ

awsbasics.connpass.com

今回は AWS のサービスではなく Well Architected Framework の会です。
一応、AWS サービスの1つではあるのかな。
だいぶ他とは違う気がするけど。

セッション

AWS Well Architected Framework

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

AWS Well Architected Framework とは?

  • システム設計と運用の大局的な考え方とベストプラクティス集
    • AWS の SA とお客さまの知見
    • since re:Invent 2015
  • W-A 設計原則
    • キャパシティを勘にたよらない
    • 本番でスケールをテスト
    • CFn や CI/CD での自動化
    • 発展するアーキテクチャを受け入れる
    • データに基づいてアーキテクチャを決定
    • 本番で想定されるトラブルやテスト対策
  • W-A 6つの柱
    • パフォーマンス、セキュリティ、信頼性、コスト効率、運用上の優秀性、持続可能性
  • W-A 3つのツール
    • ホワイトペーパー、AWS W-A Tool、SA or Partner

AWS W-A Tool

  • AWS 管理コンソールに組み込まれたセルフサービス型ツール
    • ワークロードの定義
    • レビューの実施
    • マイルストーンの保存
    • 改善計画の設定と確認、対応
  • AWS の設定を管理するわけではない
    • AWS の運用状態をチェックする

所感

W-A はベストプラクティス集だけど思ってましたが、W-A Tool としてマネジメントコンソールに組み込まれてるんですね。
AWS 使うときは、作って終わりではく運用からが本番なので、チェックツールで状態を確認してみたいと思いました。

「JAWS-UG CDK支部 #2 」 #jawsug_cdk 受講メモ

jawsug-cdk.connpass.com

ちょうどタイミングよく業務でも調べていた CDK です!

セッション

AWS CDKでLambda Function URLsを設定してみた話

speakerdeck.com

  • Lambda に API エンドポイントを生やせる
    • VPC Lambda にも設定可能!
  • L2 コンスタントは v2.21.0 以降
  • 権限周りが自動で作られるので楽
  • エンドポイントを知るために CfnOutput は必須

Reference はこれですね。

docs.aws.amazon.com

わたくし、やっぱりCDKを使いたいのですわ〜CDK import編〜

www.slideshare.net

  • Terraform
    • terraform import コマンド使う
  • CFn
    • Resource Importing機能 を使う
  • CDK
    • Resource Importing機能 を使う
      • CDK コードを取り込みように変更して CFn テンプレートを出力
      • 他より大変...
    • V2.22.0 で cdk import 増えた
      • コードにインポートしたいリソースを書く
      • cdk import コマンドで取り込むことができる

import 使わずに手っ取り早く destroy して deploy しちゃいそうです。

GAになったGolangでCDKを触ってみよう

  • CDK Day 2022 (2022/5/22) で GA 発表
  • pkg.go.dev (従来の GoDoc に変わる)でドキュメントが公開されている
  • jsii は単なるポインタ
    • jsii.Number -> func Number(v float64) *float64 { return &v}
    • Optinal な引数として指定するためにポインタとして渡す必要がある
  • Golang らしくないエラーハンドリング
    • Go だと戻り値に err (と実行結果)があるのが一般的
    • CDK だと実行結果のみ受け取り、エラーを受け取らない
    • cdk deploy でエラーがあれば panic 発生する

Go のほうが好きで書きやすいけど、ドキュメントのみやすさとサンプルの多さで TypeScript で書くほうが CDK は楽ですね。

所感

Lambda Functions 試したいと思ってたので、とてもいいタイミングでした。
後ほど早速試したいと思います。

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

awsbasics.connpass.com

いろんなところに出てくるので、大事と思うけどよくわからないシリーズと言われる AWS Service Catalog の回です。

セッション

AWS Service Catalog

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

AWS Service Catalog 概要

  • AWS Service Catalog の実態は CloudFormation
  • 開発者が必要な環境を許可された範囲内で冪等性を確保してオンデマンドに構築できるサービス
    • CloudFormation のテンプレートを管理するサービスとも言える
  • 権限管理とリソース管理を解決する
    • 権限管理は IAM Permission Boundary の活用
    • リソース管理は CloudFormation
  • Control Tower と Organizations と連携して使うと、Service Catalog 内の CloudFormation テンプレートしか起動できなくできる
    • Service Catalog 単体でも使えるがその場合 Service Catalog 経由でしか CFn を実行させないための設定が困難

AWS Service Catalog

  • 「入門ライブラリ」に基本テンプレートが公開されている
  • 「製品リスト」で作成済みの独自 CFn を追加できる
    • バージョニング機能あり
  • ポートフォリオ」で複数の製品をまとめて組むことができる
  • 制約として、IAM を利用して Catalog へのアクセス制限をすると良い
  • イベントで通知可能
    • Lambda を呼べるので色々カスタマイズできる

Account Factory

  • アカウント払い出しの標準化を行うテンプレート
  • 昔は Service Catalog の1機能だった
  • 今は Control Tower にありこちらの機能

所感

Service Catalog に作った CFn を製品リストとして登録してポートフォリオでまとめてしまえば、自身のサービス一式をまとめた CFn として管理できるということかな。
テンプレートをたくさん作ると管理やデプロイが複雑になったりするので、Service Catalog 使えばある程度解決できそうな気がしました。