監視していたサーバーで何らかの障害が発生した際などに、取り急ぎWebサーバーを自動的に再起動したいというケースはよくあることかと思う。つい先日も、 Application Load Balancer からのヘルスチェックが、 healthy と unhealthy を繰り返す状況が発生し、 apache の再起動で正常復旧したことがあった。 以前、下記のブログエントリーにて、 EC2ノード上で走っ […]
毎年夏が終わると、もう年末も近いと強く感じてしまう。MMM代表の国本です。 2019年7月にMMMは AWSサービスデリバリーパートナー(Amazon CloudFrontパートナー)認定 を取得しましたが、早くも社内では次に『AWS Lambda サービスデリバリーパートナー認定』の取得を目指しています。 2018年頃から本番環境においてAWS Lambdaをコアにしたサーバーレスアーキテクチャ […]
最近、次男の体重 が 長男の体重 を超え2台目の電動アシストサイクルを 買い足しました。 やっさん でございます。 今回は、 CloudFormation における API Gateway の定義方法を、 AWS SAM と Serverless Framework の事例から理解し、 API Gateway リソースの分割方法について模索してみます。 API Gateway HTTPエンドポイン […]
Serverless Meetup Tokyoというイベントで「LambdaとDynamoDBでIoTバックエンド開発」をテーマにスピーカーをしてきました。 内容としては、現在取り組んでいるプロジェクトの開発スタイルを紹介したもので、いろいろざっくばらんにリアルなところを話すというのを意識しました。思ったより「うちも同じようなことで悩んでるんです」みたいにいってくださる方がいてよかったです。 口頭 […]
AWS認定 SAPの勉強に日々精進しております。やっさんでございます。 今回は、AWS SAMとGo言語を用いて、 WebSocket通信によるチャット機能を実践してみたいと思います。 概要図と処理内容 Amazon API GatewayでWebSocketが利用可能になったのは、 去年の2018年12月になりますので、まだまだ記憶に新しい出来事です。 [発表]Amazon API Gatewa […]
YouTubeのプレミアム会員に入ってしまい、動画を見る時間がますます増えてしまいました。エンジニアの内山です。 最近の業務では、Go言語を書いています。言語の機能については物足りなさを感じることもありますが、それよりもシンプルさが結構気に入っています。 今回は、Go言語のメタプログラミングについて、ご紹介します。 メタプログラミングとは 開発業務では、似たような単純なプログラムを何度も書く必要が […]
あるお客様からのご相談 つい先日お客様から、 「特定のパスに対して、特定の国からのアクセスがあった場合に、別のパスに転送することは可能か?」 というご相談をいただいた。 今回は、このケースについて、 Lambda@Edge で行う方法が AWS 公式のドキュメントに例として上がっていたので、実際に試してみる。 【参考URL】国またはデバイスタイプヘッダー別のパーソナライズ - 例 下準備 Amaz […]
弊社のサーバレス開発事例にて利用している Nested Applications についてご紹介いたします。 CloudFormationのリソース数の制限 AWS CloudFormation には制限があることをご存知でしょうか。 制限のほとんどは、上限解放することができない制限となっております。 参考:AWS CloudFormation の制限 重要な制限として、リソース数の制限があります […]
西藤です。 静的なコンテンツのみで構成されるサイトを高い耐久性と高速なコンテンツ配信するためには S3 + CloudFront という構成による静的サイトホスティングが可能です。 これによりEC2で立ち上げるサーバーの管理が不要になるので、より安心感を持ってサイト運用ができます。 さらには弊社ブログにおいて、 S3静的ウェブホスティング+CloudFront+Lambda@EdgeでBasic認 […]
AWS AppSyncのデータソースとして、GO言語のLambdaハンドラーを指定した環境を構築したいと思います。 概要図 今回は、以下の図の通りに構築します。AppSyncはMutationおよび、Queryメソッドを利用して、Lambda Function経由でDynamoDBにアクセスし、結果を返却します。 AppSync API 最初にAppSyncのAPIを作成します。今回はカスタムAP […]