kakakakakku blog

Weekly Tech Blog: Keep on Learning!

AWS

Amplify Hosting を CloudFormation と GitHub の Personal Access Tokens でデプロイする

AWS Amplify Hosting に GitHub からフロントエンドアプリケーションをデプロイする構成を AWS CloudFormation で構築する機会があった.AWS Amplify Hosting はコンソールだと比較的簡単にデプロイできるけど,今回は AWS CloudFormation と GitHub の Pers…

Lambda の運用面でのベストプラクティスを学べる「AWS Lambda Operator Guide」を読んだ

AWS の公式ドキュメント「AWS Lambda Operator Guide」を読んだ❗️AWS Lambda を軸にサーバーレスアプリケーションを構築するときに意識しておくべき "運用面のポイント・ベストプラクティス" がまとまっていて,とても良いドキュメントだった 内容的には AWS…

rain: CloudFormation を便利に操作しちゃおう

AWS CloudFormation のテンプレートとスタックを便利に操作できる AWS 公式ツール「rain」を紹介する.僕自身も AWS CloudFormation スタックを試行錯誤しながら実装するときによく rain を使っている.rain には機能が多くあるけど,今回は個人的に便利だと…

LocalStack と samlocal コマンドで SQS x Lambda 構成をローカル環境で実行する

開発中に AWS Lambda 関数をローカル環境で実行するなら AWS SAM CLI の sam local invoke -e event.json コマンドを使えば良く,また AWS Lambda 関数のベストプラクティスに載っている Lambda ハンドラーをコアロジックから分離します。 を意識して実装す…

LocalStack を使って SSM Parameter Store をローカル環境で操作する

AWS Systems Manager Parameter Store を使ったアプリケーションを開発するときに,ローカル環境ではできる限り AWS アカウントに依存しないようにしたく,LocalStack を使う機会があったので調査ログをまとめておく.結果的に AWS Systems Manager Paramete…

AWS SAM で Amazon API Gateway の Usage Plan を作るときに API Stage not found と出たら

AWS SAM で Amazon API Gateway (REST) の API Key と Usage Plan を構築するとき,実行時に以下のように API Stage not found というエラーが出ることがある.これはよくハマる問題で,AWS SAM 関連の GitHub を見ると issue も出ている.今回は解決策と注…

cfn-diagram: CloudFormation のリソース関係図を生成しよう

AWS CloudFormation テンプレートのリソース関係図を生成できる「cfn-diagram」を紹介する❗️cfn-diagram を使うと HTML / アスキーアート / Mermaid / Draw.io などのフォーマットで出力できる.特に Mermaid で出力できるのは便利で,Markdown や GitHub と…

Amazon API Gateway から Amazon EventBridge への直接統合を AWS SAM と OpenAPI で構築する

Amazon API Gateway (REST API) から Amazon EventBridge にリクエストを流すように直接統合する構成を AWS SAM (AWS CloudFormation) と OpenAPI で実装する検証をしていたので紹介する❗️ハマりどころもあって,困ったときに参考になるドキュメントも少なく…

blank-go: Go で動く AWS Lambda 関数に入門しよう

AWS Lambda 関数を Go ランタイムで動かす Hello World レベルの初学者コンテンツを探していて,ドキュメントにも載っている blank-go プロジェクトがお手軽に使えて良かったので紹介したいと思う❗️初学者に教えるときに使えるぞ〜 \( 'ω')/ github.com ち…

GRC (git-remote-codecommit) をサポートした ghq v1.2.0 を試した

Git リポジトリを操作するために使っている ghq が,2021年5月にリリースされた v1.2.0(bugfix も含めると v1.2.1)で AWS CodeCommit の HTTPS GRC (git-remote-codecommit) をサポートしていた.さっそく動作確認をしてみた! github.com brew upgrade gh…

CodeDeploy のデプロイ実行とデプロイ完了待機を AWS CLI で試した

CodeDeploy のデプロイ実行を AWS CLI で試した.今回は GitHub からコードを取得する前提にしている. コミットハッシュを取得する CodeDeploy で GitHub からコードを取得する場合,対象となるコミットハッシュが必要になる.そこで,GitHub API から指定…

CodeDeploy エージェントのログに Missing credentials と出たら codedeploy-agent を再起動する

最近 CodeDeploy の検証をしていて,codedeploy-agent のエラーログに少しハマったので,メモ程度に残しておく. aws.amazon.com Amazon Linux に codedeploy-agent をインストールする 公式ドキュメントに書いてある手順で,問題なくインストールできた. $…

Fargate 東京リージョンは7月だー! / AWS Summit Tokyo 2018 に参加した

5/30 (水) - 6/01 (金) で AWS Summit Tokyo 2018 に参加してきた.3日間参加したものの,午前中はデイリースクラムなど重要なイベントがあったので,午後に数時間セッションを聞いたり,ブースを見たり,認定者ラウンジで休憩していた.今年はセッション予…

CircleCI 2.0 + Apex で Lambda をデプロイする

Lambda をデプロイする場合,最近だと Serverless Framework もしくは AWS Serverless Application Model を使う場面が多いけど,他の AWS サービスに依存せず Lambda だけをデプロイしたい場合には Apex も積極的に使っている.要件がシンプルな場合に特に…

ElastiCache for Redis でシングルコアに対応したメトリクス EngineCPUUtilization が追加された

今月発表された ElastiCache for Redis のリリースで,新 CloudWatch メトリクス EngineCPUUtilization が追加された. Amazon ElastiCache for Redis は、Redis のワークロードへのより良い可視性を達成するために新しい CPU 使用状況メトリックスを導入し…

Amazon Elasticsearch Service で「アクセスポリシー」を即時反映できるようになっていた

Amazon ES (Amazon Elasticsearch Service) で,例えば「アクセス許可 IP」を追加するなど「アクセスポリシー」を変更する場合,クラスタも再構築されてしまうため,待ち時間が長時間化したり,場合によっては再構築がエラーになって,クラスタが死んでしま…

AWS で Kubernetes クラスタを構築して学ぶワークショップ「aws-workshop-for-kubernetes」

Kubernetes を学ぶため,AWS から公式に公開されているワークショップ資料「aws-workshop-for-kubernetes」を試した.Kubernetes を学ぶためのコンテンツが網羅的にあるため,今回はワークショップの紹介と,実際に試した一部のコンテンツをまとめたいと思う…

Lambda / Kinesis / DynamoDB / X-Ray などを組み合わせた実装を学べる「サーバーレスアプリケーション開発ガイド」を読んだ

今月発売されたばかりの「サーバーレスアプリケーション開発ガイド」を読んだので,書評をまとめたいと思う.著者の西谷さん,献本ありがとうございます! Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド作者:西谷 圭介発売日: 2018/03…

ElastiCache Redis 3.2.10 で使える「オンラインリサイズ機能」を試した

最近 ElastiCache Redis の検証をしていて,最近の新機能をキャッチアップできていなかったので「オンラインリサイズ機能」を試してみた. 用語 まず ElastiCache Redis の資料を読んでいると,管理コンソールと API で用語が異なっていてとにかく混乱するの…

ECS コンテナインスタンスをモニタリングするときは mackerel-agent v0.49.0 以上にすると良さそう

例えば ECS コンテナインスタンスなど,Docker ホストとして使っているインスタンスを Mackerel でモニタリングする場合,以下のように disk と interface と filesystem のメトリクスが非常に多くなってしまう.Mackerel では,メトリクス数が 200 を超える…

SQS にポイズンピルメッセージがあると ApproximateAgeOfOldestMessage の値が正しくなくなる可能性がある

AWS

ApproximateAgeOfOldestMessage とは? SQS には ApproximateAgeOfOldestMessage というメトリクスがあり,CloudWatch でモニタリングをすることができる.なお,SQS の歴史を考えると比較的最近に追加されたメトリクスで,2016年8月にリリースされている. …

Fargate を試した感想と ecs-deploy で Fargate にデプロイできるようにする話

今日は「AWS Fargate Advent Calendar 2017」23日目の記事として,Fargate を試した感想と,デプロイツールの ecs-deploy で Fargate にデプロイできるようにする話を書いてみたいと思う.アドベントカレンダーの記事はどれも本当に素晴らしくて,Fargate 最…

「AWS re:Invent 2017 Serverless re:Cap」に参加した

月曜日は「AWS re:Invent 2017 Serverless re:Cap」に参加してきた.日本だと完全に深夜帯だったキーノートは全て見たし,Black Belt「re:Invent 2017 速報」も見たけど,アップデートが多いので繰り返し学びたいなと思っていたのと,今回は Serverless 関連…

re:Invent 2017 で発表された Launch Templates を使って簡単にインスタンスを起動する

AWS

re:Invent 2017 で発表されたアップデートの中で,比較的地味ながら,個人的に嬉しかった機能が「Launch Templates」だった.簡単に言うと「インスタンスの起動オプションをテンプレート化して管理することができる機能」と表現できる.対象はオンデマンドイ…

Aurora v1.13 から使える SELECT INTO OUTFILE S3 を試した

Aurora v1.14 の強制アップデートがあったりして,改めて Aurora のリリースノートを読み直していたら,Aurora v1.13 から SELECT INTO OUTFILE S3 が使えるようになっていることに気付いた(今さら!).今まで試したことが無かったので,実際に試してみた…

S3 の Static Website Hosting でドメイン間のリダイレクトを実現する

AWS

ドメイン間でリダイレクトをする必要があり,nginx で頑張るのもなぁ…と思って,もっとお手軽で運用も楽そうな方法を探していたら,以下の記事を発見して,S3 の機能で実現できそうだったので試してみた.記事では別のドメインにリダイレクトをする方法とし…

Lambda (Python) をローカル環境で実行できる python-lambda-local を試した

Lambda (Python) のローカル環境を整えるため,python-lambda-local を試した.python-lambda-local を使うと,Python コードを Lambda にデプロイすることなく動作確認ができるようになる.Apex を使っていれば apex invoke でお手軽に実行することもできる…

「JAWS-UG コンテナ支部 #9」で「ECS x Mackerel」をテーマに LT をした

昨日は「JAWS-UG コンテナ支部 #9」に参加して,LT もしてきた.ECS を中心に移行の話,デプロイの話,モニタリングの話などを聞けたし,懇親会にも参加させてもらって,カジュアルに話せて楽しかった.僕もコンテナ支部の運営をお手伝いしたいな! jawsug-c…

AWS をフル活用して「サーバレス」な SPA を実装できる「サーバーレスシングルページアプリケーション」を読んだ

6月末に O'Reilly から出版された「サーバーレスシングルページアプリケーション」を読んだ.ただ読むだけじゃ理解度が浅くなってしまうかもしれないなと感じて,今回は全ての実装を写経してみた.そのため少し時間はかかってしまったけど,フロントエンドに…

AWS Solution Days 2017「第2回 Aurora 事例祭り」で発表をしてきた

今日は「AWS Solution Days 2017 ~ AWS DB Day ~」に参加をして「第2回 Aurora 事例祭り」で発表もしてきた.すぐに資料公開をして良いとのことだったので,参加レポートをまとめる. AWS Solution Days 2017 ~AWS DB Day~(2017 年 7 月 5 日開催) | AWS…