kakakakakku blog

Weekly Tech Blog: Keep on Learning!

2023-01-01から1年間の記事一覧

リモートスキーマ・アクション・イベントを体験できる!Hasura のチュートリアル「Backend Tutorial (Python)」

Hasura のチュートリアルはとても充実していて,今まで GraphQL を学ぶ「GraphQL Tutorial」と Hasura を学ぶ「Hasura GraphQL Tutorial」を実施した \( 'ω')/ どちらもおすすめ kakakakakku.hatenablog.com kakakakakku.hatenablog.com 今回は Hasura と…

AWS CDK のアルファモジュールで Amazon EventBridge Scheduler を設定する

AWS CDK で Amazon EventBridge Scheduler を設定する場合,現状では L2 Construct がなく AWS CloudFormation に沿った L1 Construct の CfnSchedule を使う必要がある.以下のドキュメントにも There are no official hand-written (L2) constructs for th…

AWS CDK で NLB にセキュリティグループを設定する

2023年8月にリリースされた NLB (Network Load Balancer) に対するセキュリティグループ設定のサポートは,今まで NLB のデメリットとして話題に上がることも多かったので,非常に期待されていたアップデートだと思う.アクセス制御を細かく行えるようになり…

AWS CDK で AWS Lambda 関数の高度なログ制御機能(フォーマット・ログレベル・ログ集約)を設定する

2023年11月にリリースされた AWS Lambda 関数の「高度なログ制御機能 (advanced logging controls)」によって,大きく3種類の追加設定ができるようになったどれも AWS Lambda 関数を多く運用しているチームになどに嬉しいアップデートではあるけど,個人的に…

AWS CDK で ログクラス(低頻度アクセス)の Amazon CloudWatch Logs ロググループを追加する

2023年11月にリリースされた Amazon CloudWatch Logs ロググループのログクラス(低頻度アクセス: Infrequent Access)を使うとログの取り込みコストを 50% 削減できる❗️アカウントのコスト削減をするときに必ずと言っても良いほどに話題に上がる Amazon Clo…

2023年のプルリクエストを振り返る

2016年から毎年送ったプルリクエストを振り返る記事を書いている 2023年は「計21件」だった❗️2024年も機会があれば積極的にプルリクエストを送っていくぞー \( 'ω')/ 2016年のプルリクエストを振り返る - kakakakakku blog 2017年のプルリクエストを振り返…

Hasura に入門するならまずこれ!Hasura のチュートリアル「Hasura GraphQL Tutorial」

Hasura に入門するために Hasura チュートリアル「Hasura GraphQL Tutorial」を実施した.Hasura の機能・便利さ・PostgreSQL との連携など,抑えておくべきポイントをしっかりと学べるまた Hasura でリソースの CRUD (Create/Read/Update/Delete) 以上のビ…

GraphQL 未経験者におすすめ!Hasura のチュートリアル 「GraphQL Tutorial」

最近 Hasura に入門していて,その前に GraphQL 自体を学べる Hasura のチュートリアル「GraphQL Tutorial」を実施してみた❗️ Hasura の話はほとんど出てこなくて,GraphQL と REST / gRPC の比較・GraphQL オペレーションの解説などを基礎から学べる.また…

AWS Certified Security - Specialty (SCS-C02) に合格した

AWS セキュリティ専門の認定資格 AWS Certified Security - Specialty (SCS-C02) を2023年12月10日に受験して合格した❗️試験問題に関係する内容はガイドラインを厳守するため書かず,今回は個人的な振り返りも兼ねて勉強方法などをまとめておこうと思う aws.…

Terraform で default セキュリティグループのルールを削除する

AWS Security Hub を導入して AWS Foundational Security Best Practices (FSBP) などを有効化すると VPC default security groups should not allow inbound or outbound traffic という警告が検出されることがある [EC2.2] VPC default security groups sh…

AWS WAF Managed Rule Group の更新通知を受け取る

AWS WAF (Web Application Firewall) を運用していると Managed Rule Group の更新を把握したいという場面があるManaged Rule Group ごとに存在する Amazon SNS トピックをサブスクライブしておくと AWS WAF Managed Rule Group の更新通知を受け取れて便利 …

CI/CD Litmus Test: CI/CD レベルを測定しよう!

AWS が公開しているサイト「CI/CD Litmus Test」を使うと簡単に「CI/CD スコア」と「CI/CD レベル」を測定できる❗️開発チームで実施しながらレベルを上げるにはどうしたら良いかをディスカッションすると効果的に使えそう \( 'ω')/ litmus.devops.aws.dev …

Terraform Cloud のワークフローを拡張できる Run Tasks 機能

Terraform Cloud の「Run Tasks 機能」を使うと Terraform Cloud のワークフローと外部サービスと統合できて,プラン取得前・プラン取得後などのタイミングにセキュリティスキャンなど「任意の処理」を実行できる 例えば取得したプラン結果を外部サービスに…

Amazon CodeGuru Reviewer と Amazon CodeGuru Profiler に入門しよう!「Code Quality Workshop」を試した

AWS のワークショップ「Code Quality Workshop」を試した❗️ AWS CodePipeline / AWS CodeCommit / AWS CodeBuild / AWS CodeDeploy を組み合わせた CI/CD パイプラインの中で JUnit / JaCoCo (Java Code Coverage Library) を実行したり,Amazon CodeGuru Re…

Terraform の基本的な仕組みから実践まで深く学べる一冊「詳解 Terraform 第3版」を読んだ

2023年11月21日(明日)に出版される新著「詳解 Terraform 第3版」を読んだ 本書では Terraform の基本的な仕組みを学べるだけではなく,Terraform を実践的に使うときに必要になるステート管理・モジュール・シークレット管理・テストなど幅広いトピックま…

Terraform で実装した IAM ポリシーを IAM Access Analyzer で検証できる tf-policy-validator コマンド

Terraform で AWS IAM ポリシーや Amazon S3 バケットポリシーを実装するときに terraform plan は通るのに terraform apply で失敗したり,terraform apply は通るのにポリシー自体に誤りがあって期待通りに動かなかったり,無駄にハマってしまった経験って…

Terraform Plugin Framework を使ったカスタムプロバイダの実装に入門できる Terraform チュートリアル「Custom Framework Providers」

Terraform チュートリアル「Custom Framework Providers」を試した❗️ Terraform から RESTful API を操作するカスタムプロバイダを実装しながら Terraform Plugin Framework の仕組みを学べて非常に良かったチュートリアルは計11種類から構成されていて一歩…

AWS x セキュリティに入門するならまずこの一冊 /「AWS ではじめるクラウドセキュリティ」を読んだ

「AWS ではじめるクラウドセキュリティ」を読んだ❗️とても良かった \( 'ω')/ 本書ではもちろん AWS のセキュリティサービスの機能など「サービスカットな観点」も学べるけど,それ以上に「セキュリティポリシーとは何か」や「どんなリスク分析フレームワー…

"何かうまくいってない" 開発組織でよく見る光景と打開策がまとまった「システム運用アンチパターン」を読んだ

「システム運用アンチパターン」を読んだ❗️ サブタイトルに「エンジニアが DevOps で解決する組織・自動化・コミュニケーション」と書いてある通り,迅速に改善を積み重ねつつサービスの価値をユーザーに提供するときに,どういう組織の振る舞いが「悪くて」…

FireLens の init プロセスで [MULTILINE_PARSER] を使う

AWS Fargate と Amazon ECS で FireLens (Fluent Bit) を使うときに「init プロセス」を活用すれば設定ファイルを Amazon S3 から自動的に読み取れるようになるよ❗️という便利機能は以下の記事にまとめてある kakakakakku.hatenablog.com しかし init プロセ…

ALB の固定レスポンスで実現するメンテナンス画面の仕組みを Terraform で構築する

Application Load Balancer (ALB) のリスナー設定で「固定レスポンス」を使うと ALB から直接 HTML を返せる❗️ docs.aws.amazon.com 「固定レスポンス」は2018年7月頃にリリースされていて,さらに2019年3月頃にリリースされた「高度なリクエストルーティン…

LLM を組み込んだチャットアプリケーションを写経しながら実装できる「ChatGPT/LangChain によるチャットシステム構築[実践]入門」を読んだ

2023年10月18日に出版される新著「ChatGPT/LangChain によるチャットシステム構築[実践]入門」を読んだ & 写経した 読者層的には「ChatGPT って最近よく聞くしたまーに使うこともあるけど LangChain って何なのー?」という人や「LLM (Large Language Mode…

Terraform の AWS Cloud Control Provider (awscc) で AWS Chatbot を構築しよう

Terraform で AWS Chatbot を構築したくても AWS SDK for Go との関係によって AWS Provider でサポートされていないという課題がある以下のような関連する issue もある github.com github.com ちなみに AWS CloudFormation では AWS::Chatbot::SlackChanne…

Trivy の VM image scanning で AMI / EBS スナップショットのセキュリティスキャンをしよう

Trivy の「VM image scanning」を使うと AWS の Amazon Machine Image (AMI) や Amazon Elastic Block Store (Amazon EBS) スナップショットに対してセキュリティスキャンを実行できる❗️サーバーにエージェントをセットアップする必要がなく(エージェントレ…

Trivy の Misconfiguration Scanning で Dockerfile の設定ミスを検出しよう

Trivy の「Misconfiguration Scanning」を使うと Dockerfile の設定ミス(セキュリティ課題やベストプラクティス乖離など)を検出できる❗️今回は Trivy を活用した Dockerfile のスキャンを試した作業ログをまとめる aquasecurity.github.io ちなみに Trivy …

新しく公開された Distributed Load Testing on AWS (DLT) ワークショップを試した

AWS

負荷テストを実行したいけど,ラップトップや Amazon EC2 インスタンス1台から実行すると負荷テストを実行する側がボトルネックになってしまって,期待した負荷テストにならないという悩みはよくあると思う そこで負荷テスト専用の SaaS などを活用して負荷…

Terraform で AWS Systems Manager Inventory を有効化する

AWS Systems Manager Inventory の有効化(AWS Systems Manager State Manager の関連付け)を Terraform で構築する場合 aws_ssm_association リソースを使って設定できる aws_ssm_association | hashicorp/aws aws_ssm_association の parameters に関して…

Goss: サーバー設定の検証を自動化しよう

歴史的経緯 (?) によって構成ドリフト状態(Infrastructure as Code 本参照)になっている Amazon EC2 インスタンスが複数台あって,まずはサーバーの期待値を宣言して自動テストもしくは自動検証をする仕組みを作りたいなぁーと考えていた 今までの経験とし…

正式リリースになった AWS SAM CLI の Terraform サポート機能を試す

2023年9月5日に AWS SAM CLI の Terraform サポート機能が GA (正式リリース)になった Amazon API Gateway や AWS Lambda 関数などサーバーレス関連のコンポーネントは Terraform で統一的に管理しつつも,AWS SAM CLI の開発支援機能(sam local invoke …

Athena で ALB アクセスログの time フィールドを Asia/Tokyo (JST) に変換する

Amazon Athena で Application Load Balancer (ALB) のアクセスログを検索するときにタイムスタンプ time のタイムゾーンは UTC になっている検索するときに JST に変換したい❗️と思う場面があって,最近クエリを作っていたため,今後すぐに再利用できるよう…