omuronの備忘録

個人的な備忘録

「AWSの基礎を学ぼう 第六十八回 Amazon EC2 Image Builder」 #awsbasics 受講メモ

awsbasics.connpass.com

自分で好きな AMI を作って共有もできるサービスの Amazon EC2 Image Builder です。

セッション

Amazon EC2 Image Builder

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

EC2

  • インスタンスタイプ(スペック選択)と AMI (OSイメージ)と その他の設定(AZやサブネットとか)を設定して起動する
  • EC2 Image Builder はこれを作るサービス
    • インスタンスの構成情報を含んで、自由にカスタマイズしたゴールデンイメージを作成できる

「EC2 Iamge Builder」 vs 「EBS Backup / Snapshot」

  • EBS Backup / EBS Shanpshot は有料
    • 技術的には同じこともできる
    • スタートアップ向け
  • EC2 Iamge Builder は無料
    • ゴールデンイメージを作る
      • 作る過程で起動テストがあり EC2 が起動するためその料金はかかる
    • AMI に YAML で指定した内容を自動で適用していく
    • セキュリティパッチを当てる場合など、構成が変わる場合は再作成が必要
    • イメージの作成直後にテストなどを自動化できる
    • 頻繁に更新するならコンテナが楽
    • KMS で鍵をかけている場合は共有に注意
    • 大企業向け

EC2 Iamge Builder

  • パイプラインで自動化で作成
  • コンポーネント
    • YAML で指定されたドキュメント
      • Phases と Steps で構成
    • ビルドとテストの2種類あり
  • イメージレシピ
    • イメージレシピで CI/CD 全体の構成を管理
  • イメージパイプライン
    • イメージレシピと連携して作業を行う実作業工程

EC2 Iamge Builder Docker Support

  • コンテナイメージも作れるようになった
    • Code シリーズのほうが便利?
    • EC2 Image Builder を使い慣れてる人向け
      • Public なイメージを取得して YAML でカスタマイズできる

所感

久しぶりの開催&今年初の「AWSの基礎を学ぼう」でした。
この勉強会がお昼にあると月曜がきたという感じですね。今年もよろしくお願いいたします。

最近はコンテナしか使わなくなっているので、 EC2 Image Builder を使うことはしばらくなさそうかなーと思いました。
機械学習とか GPU 使いたい場合に、他の方の AMI を共有してもらうとかのユースケースがあれば活用しそうかな。

「JAWS-UG 初心者支部#42 千葉支部コラボ!! 新年LTスペシャル会」 #jawsug_bgnr 受講メモ

jawsug-bgnr.connpass.com

今年のスタートも初心者支部

セッション

LT1 M1 Macが来たことだし、Gravtion2のLambdaをためしてみた

和田 健一郎様

zenn.dev

  • Lambda : サーバーのことを考えずにコードを実行する
  • Graviton2 : Arm が開発した AWS 独自のプロセッサ
    • ランタイムのうち Go とか古いモノなどは対応してない
  • x64_86 と arm64 で速度比較
    • 概ね arm64 が早い、安い

x64_86 が想定外に早いところもあったりしたのが面白い。

LT2 期限ギリギリ!AWS認定ソリューションアーキテクト - プロフェッショナル更新の年末年始!

北原 雅人様

www.slideshare.net

  • 1/8 に認定が切れるので 1/4 の期限ギリギリに申し込んだ
    • 12月の平日はもう埋まっていた
  • ソリューションアーキテクト PRO
  • トレノケート山下さんの本で勉強
  • Web 問題集、いわゆる黒本
  • 3時間マスクして試験なので良いマスクを装備
    • 1問2分ペースで解く必要あり
  • Organization,SCP,コスト,移行,DR あたりの勉強がオススメ

60時間勉強で足りないぐらいの感覚なのか。
やっぱり SAP は大変だ。
模擬試験が無料化したので活用しないと。

dev.classmethod.jp

LT3 AWS amplify studioが変えるフロントエンド開発の未来とは

小板橋 由誉様

www.slideshare.net

  • Amplify Studio : フロントエンド開発者に最小限のCodingでフロント開発ができる
    • Amplify admin ui が拡張されて統合された感じ
  • Figma デザインを React UI コンポーネントに変換
  • バックエンド意識せずにデータ連携可能
  • Figma で作って Amplify Studio で sync して爆速開発できる!

Amplify Studio は話を聞くだけで触ったこと無いけど便利そうという愛が伝わってくる話でした。
フロントエンド開発してないけど、Figma でデザインして Amplify で変換するのは楽そうですね。

LT4 AWS 公式ドキュメントを読むときに気を付けていること

大石 一騎様

  • サポートから「以下の公式ドキュメントに記載がございます」と返事
    • 公式ドキュメントをしっかり読む必要がある
    • 正しく最新の細かい情報が書いてある
      • どこにあるかわからない
      • 英語からの翻訳のためわかりにくいことがある
  • ドキュメント検索を使う
  • 表現が分かり難い時は英語に切り替える
    • DeepL の Chrome 拡張がオススメ
    • 日本語では書かれてない情報があったりする

「日本語では書かれてない情報がある」というのは注意点ですね。
なぜ翻訳対象にしてくれてないんだろう。

LT5 既存インフラリソースをコード化する際の気を付けること

ユータ様

speakerdeck.com

  • インフラエンジニア数の遷移
    • 2020 2人 : GUI 操作改善対応できず
    • 2021 4人 : Ansible / CFn を使った部分的な IaC
      • 構築時間 50% へ
    • 2022 インフラエンジニア 5人 : IaC 推進本格化
  • Terraform を選定
    • インポートしやすく YAML より読みやすい
    • CI/CD へ発展しやすそう
  • ハマった点
    • import されない AWS リソースやパニック発生
    • EBS がインポートされないので手動で記載

既存コードを IaC に置き換えるのは大変ですね。
CFn だとスタックのインポートを使えばなんとかなるのかもだけどやってられん。

LT6 年始なので心機一転AWSアカウントを作成してみた

べこみん様

JAWS-UG 初心者支部#42 年始なので心機一転AWSアカウントを作成してみた

  • AWS アカウント作成難しい?
    • クレカ、メアド、SMS 受信用の携帯電話あれば OK
  • セキュリティ、契約・コスト、ログ・モニタリングを無料枠で設定
  • セキュリティ
    • IAM root の MFA, IAM ユーザー作成、 IAM Access Analyzer の有効化
  • 契約・コスト
    • アカウント設定:通貨、秘密の質問、請求情報へのアクセス設定
    • AWS Budgetsの予算アラート、Cost Exploer, Cumpute Optimize 有効化
  • ログ・モニタリング
    • CloudTrail, S3 Storage Lens 有効化

請求情報への設定は root で必要だけど、たまにしかしないから毎回忘れてしまいます。
通知設定のメールの見逃し事故多いのでちゃんと見ましょうとのこと。

LT7 育児休業と家事と、仕事とコミュニティの両立の話

榎本 ジョン 航介様

  • 妻とスクラム
    • Slack とぴよログ活用
  • 仕事より家事優先へ
  • アウトプットをどこかで公開

赤ちゃんいるときは本当に大変。
今は男性も育児休暇取れる時代になったのは良いことです。

所感

去年最後の勉強会が JAWS-UG 初心者支部でしたが、今年の最初の勉強会も初心者支部でした。
初心者支部は、幅広い内容で初心者にももちろん優しいので聞きやすいので、年末年始の錆びついた頭を起こすのには丁度いい感じでした。
「2022年は何する宣言」で書いたとおり、今年もコンスタントにアウトプットできるように頑張りたいです。

(小ネタ)PartiQL で DynamoDB から空文字列を除外して取得

DynamoDB に クエリがかける PartiQL 便利ですね。

空文字列の Attribute を除外して取得したくて、SQL のように WHERE カラム名 <> "" と書いたけど、思った結果にならんかったので調べました。

docs.aws.amazon.com

Awards が含まれない場合だとこうなる。

SELECT * FROM Music WHERE "Awards" is not MISSING

Attribute が失われている状態になるので is not MISSING を使う必要がありました。

「JAWS-UG 初心者支部#40 年忘れLT大会!!」 #jawsug_bgnr 受講メモ&登壇

jawsug-bgnr.connpass.com

今年は初心者支部から登壇が始まったので、締めも初心者支部です!

セッション

新プロダクト開発でやったこととやり残したこと

小室 貴史

speakerdeck.com

内製化で一人インフラエンジニアとして頑張りました。
できたこととできなかったことを発表しました。

新プロダクト開発でやったこととやり残したこと

emi様

speakerdeck.com

  • CLI を学ぶと API のすべてを操作できる
  • API を理解すると AWS を新に理解することになる
  • CLI は変化がない
  • 反復、再現性が高い

re:Invent 2021個人的に気になったアップデート

山口 正徳様

speakerdeck.com

  • Well-Architected Framework
    • 5つの柱から6つの柱へ
  • サステナビリティ、持続性の追加
    • 本当にその規模のリソースを必要としているか?
    • 本当にその性能を求めているか?

ラスベガスで感じたこと

AWSJ Kameda様

アメリカはコロナ禍前とおなじ日常になっていたと。
あと、現地の物価がめっちゃがってるらしい。

ビギナーが、CloudFormationを使ってハマったお話

上地 航平様

speakerdeck.com

  • Ref 関数と ImportValue 関数
    • Ref 関数:同一テンプレート内での参照
    • ImportValue 関数:違うテンプレート内での参照

AWSちょっと興味ある」人が技術コミュニティでエンジョイするには!?

御田 稔様

speakerdeck.com

  • まずは触ってみろ
    • Hands-on for Beginners
  • アウトプットしろ
    • いいねとかのリアクションだけでもいい
    • できないのは心理的安全性が低いので良くない状況
    • 恥ずかしがらない、死なないから

MFAデバイスを無くした時の対応方法

amarelo(アマレロ)様

speakerdeck.com

機械学習を教えてもらった事がない初心者がAmazon SageMaker Studio Labを触ってみた

長田 英幸様

SageMaker 触ると課金がこわいんですが、無料で遊べるのがでたので試していきたいですね。

機械学習民主化が加速する!re:Invent 2021で発表されたノーコードで機械学習のモデルが作れるサービス、『Sagemaker Canvas』について

Takashi Kawamoto様

speakerdeck.com

2021年のJAWS-UGの活動振り返り

沼口 繁様

www.slideshare.net

  • connpass, Doorkeeper から API で取得
  • 2020年、コロナで勉強会が減ったけど参加人数が増えた

所感

今年も一年お疲れさまでした。
今年は、登壇7回、ブログ83回で終了です。
ブログの数は去年より減りましたが、登壇は大きく増やせました。
今日の発表でもあった通り
「 恥ずかしがらない、死なないから」
という気持ちで続けております。
来年もより一層アウトプットできるように、引き続きがんばりたいと思います。

「AWS CDK 実践勉強会」 #devaxconnect 受講メモ

DevAx::connect 番外編 AWS CDK 実践勉強会

pages.awscloud.com

CDK とは

  • AWS の環境を一般のプログラミング言語で記述できるツールキット
    • いわゆる IaC にあたり CloudFormation テンプレートを生成
    • 対応言語:TypeScript, Python, Java, .NET
      • エディターの恩恵(補完など)も受けれる
  • Construct でベストプラクティスを簡潔に
  • IaC 利用率
    • CDK 66%, SAM 10%, CloudFormation 7%...

必要ツール

  • AWS CLI
    • aws コマンドが使えることが前提
    • aws configure 認証情報設定必要
  • node
    • node v14 以上
  • aws-cdk
    • npm install -g aws-cdk
    • 現在は v2.1.0
    • v1 のサポートは再来年までなので移行したほうがいい
  • cdk bootstrap
    • CDK を初めて使うリージョンで最初に実行が必要

Live Coding

github.com

  • CDK v1 は個々のパッケージを入れる必要があったが v2 は含まてる
    • alpha とついているα版のみ個別で npm i する必要あり
  • Lambda を NodejsFunction で作ると TypeScript が使える
  • Lambda 外部ライブラリ uuid 追加
    • npm i uuid @types/uuid
  • Lambda だけを更新するなら hotswap オプション
    • cdk deploy --hotswap
    • CDK のオーバーヘッドがないからすぐに Lambda を変更できる

CDK でもテストを書こう

  • CDK v2 aws-cdk-lib/assertions
    • 全言語対応

Snapshot Testiong

  • 生成された CFn の差分を以前のものと比較
  • expect(template.toJSON()).toMatchSnapshot()
  • jest
    • 意図した変更なら jest --updatesnapshot

Fine-grained Assertions

  • 生成された CFn のリソースやアウトプットが期待通りか?
  • いわゆる一般的なテスト
  • Assertions ライブラリを利用する
    • e.g.)
      • Function が2つ作成されているか確認する
      • DynamoDB のプロパティがただし以下確認する
      • IAM Role をコンソール出力して眺める

所感

CloudFormation 好きだけど、CDK の便利さは素晴らしいと思います。 新しいリソースなど、資産がないものは CDK で楽々構築が早いので、CDK も徐々に使い始めてます。

「JAWS-UG CLI専門支部 #239R Route53基礎 (ホストゾーン)」受講&登壇 #jawsug_cli

jawsug-cli.connpass.com

先日、JAWS イベントの懇親会で波田野さんと話すことがあり、その時の勢いで登壇することを決めました。

Route53 ハンズオンのための基礎知識

波田野さん

hosts

  • 昔は hosts ファイルを1つの団体が1箇所で管理していた

ドメイン

レジストリレジストラ

  • レジストリ:各ドメイン情報を持つデータベースを管理している機関
    • 質は玉石混交
    • com,net,org,jp など古くからあるのは安定
    • それ以外は期待しないほうがいい?
  • レジストラ名前空間を階層化し、下位ドメインを委任
    • 同じく質は玉石混交
    • JPRS,IIJ,さくらなどは安定
    • お名前ドットコム...

ハンズオン資料

prototype-handson-cli.s3-website-ap-northeast-1.amazonaws.com

LT1 CloudFormationとCLIとRoute53

私の発表です。

speakerdeck.com

LT2 AWSアカウント間のドメイン移管で詰まった点

積田 優生さん

speakerdeck.com

所感

Route53 も好きなサービスの一つではあります。
なんといっても SLA 100% という自身たっぷりなところが良いですね。
DNS の構築は、私の中では Route53 一択になってます。

ということで、今回は自分的 Tips を話してみました。
マネジメントコンソールで Route53 を直接編集することはありませんが、慣れてない人でも GUI なら簡単に編集できるので練習にはいいとは思います。
慣れた後は、CLI や CFn で管理するのがいいでしょう。

「JAWS-UG朝会 #28」 #jawsug_asa 登壇&受講メモ

JAWS-UG朝会 #28

jawsug-asa.connpass.com

前々回の 朝会 に登壇したときに、まだ募集してたのでその場で申し込んで登壇することにしました。

セッション

セッション① Fargateの運用 ~デプロイ自動化や監視等~

株式会社ビックツリーテクノロジーコンサルティング 熊谷 有輝子さん

speakerdeck.com

資格すごい。
強強エンジニアです。

ECS on Fargate or ECS on EC2

  • Fargate は EC2 より高い
  • Fargate は EC2 より運用コストが安い
    • パッチ適用など不要
      • EC2 も Systems Manager 利用すれば少しは楽だがエラーも出たりする
    • ウィルス対策のセキュリティソフト不要
  • EC2 は、CPU とメモリの容量が固定
    • Fargate なら CPU とメモリそれぞれ選択可能
  • EC2 は、コンテナだけではなく EC2 のオートスケールを考える必要あり
  • Fargate に入れるようになった
    • ECS exec できるようになったので EC2 でなくてもコンテナに入れるようになった

ログ

  • S3 間の別アカウントへのログ転送
    • SRR 設定で行う
  • CloudWatch Container Insights でコンテナのログを出力できるようにしておく

セッション② SageMakerとIoT GreengrassとAmplifyで作るノーコードエッジAIプラットフォーム

株式会社TechSword 宮本 大輝さん

speakerdeck.com

学生起業すごい。
一般的にあまり馴染みのない AWS リソースを使いこなしてます。

  • AI は日本では導入が遅れている
    • ノーコードで AI プラットフォームを提供
    • AI 専門家以外にもわかりやすい平易な言葉で作成
  • Amplify でフロントを簡単に構築
  • SageMaker Traing Job, YOLOv4 利用
  • IoT Greengrass でデプロイ
  • SORACOM Air で通信、Funnel でデバイスからのデータを AWS
  • エンジニア4人で約4ヶ月でβ版開発できた

LambdaをGoに移行したお話

speakerdeck.com

私の LT です。
Go はじめました。

LT② [初心者] GitHub Actions と App Runner でコンテナデプロイやってみた

渡辺 隼人さん

speakerdeck.com

  • IAM 作成して GitHub へ認証情報登録
  • ECR と App Runner 紐付け

LT③ EC2 インスタンスの Backup ってどうするんだっけ?

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

speakerdeck.com

  • EC2 のバックアップって?
    • スナップショット:EBSボリュームの中のデータをS3に保存
    • AMI:EBS+インスタンスのメタ情報も含む起動テンプレート
  • AWS Backup
    • AWS サービス全体のバックアップの集中管理を自動化
    • サーバ停止による静止点がとれない
  • Amazon Data Lifecycle Manager
    • Snapshot や AMI の取得自動化
    • サーバ停止、再起動走る
  • Snapshot と AMI の違いを理解してバックアップ方法を検討

所感

今回は、技術的な内容というよりも、運用を見据えたお話をしました。
ビジネスのコアコンピタンスに少しでも集中できるように、できるだけ運用負荷を考えて構築しないと、保守でいっぱいいっぱいになりますもんね。