AWS

[Electron] 自動アップデートに対応する – electron-builder + AWS S3

アプリを起動すると自動的に最新版があるか確認し、もし更新されていれば自動的にバージョンアップしてくれる機能を実装します。

いくつか方法はあるのですが今回は

  1. electron-builderの機能を使う
  2. ビルドしたアプリはAWS S3へアップ
  3. 更新があるとユーザーの確認無しでダウンロードしちゃう

という方向でまとめていきます。
続きを読む

[AWS] CloudFrontからのリクエスト以外をオリジンで拒否する

このブログはCloudFrontからLightsailで作成したオリジンを参照する構成になっているのですが、最近オリジンに直接リクエストが来ることが増えました。間違えてオリジンのURLを返している可能性もあったのでログを解析してたのですが、大方の予想通りセキュリティホールを探っている物ばかりでした。

めちゃめちゃ気持ち悪い(´・ω・`) オリジンへのリクエストはCloudFrontからしか来ないと割り切って、80/443番へ直接来るリクエストはすべて拒否することにしました。

ここではApacheの設定を掲載しますが、同様の手法でnginxなど他のWebサーバーでも利用できると思います。

続きを読む

[AWS] LightsailでEMLauncherを動かす – AmazonLinux2編

iOS/Android用の開発中のアプリをチームで共有するための定番ツール「EMLauncher」をAWSのLightsailへインストールします。

基本的にLightsailに存在する機能を中心に設定しますが、一部AWS本体も利用します。

  • ファイルはS3へ保存
  • メール送信はSESを利用
  • S3とSES用のIAMを作成

まぁ…最近はDeployGateなどのクラウドサービスを利用する方が圧倒的に楽ちんなのですが、コストや管理上の問題など、自前で準備しなければならくなった場合に参考にしていただければと。
続きを読む

[AWS] LigthsailにBitnami版Redmine4.1を構築する

新たにジョインしたプロジェクトでPM業務を担当することになりまして、古来から伝わりしRedmineを準備した際のメモです。……本当は今をときめくClickUpあたりを使いたかったんですが予算の兼ね合いで泣く泣くw Backlogは昔から肌に合わないのとカスタマイズが効かないので候補から外しました。

ゼロからRedmine環境を作るのは骨が折れるため、ボタン2〜3発でRedmineを起動でき、お値段的にも手頃なAWSのLightsailを利用して作成してみます。
続きを読む

[AWS] SESを利用しSMTPサーバの準備を行う

AWS SESを利用するとSMTPサーバが簡単に用意できます。EC2から利用する場合、無料枠が月間6.2万通まで用意されていますので、個人的な利用や小規模なプロジェクトであれば料金は気にしなくても良さそうです。

今回はSMTPサーバの準備をするところまでを取り上げます。
続きを読む

[AWS] Serverless FrameworkでRESTfulAPIを作成する (S3編)

今回はServerless FrameworkでRESTfulAPIを介しS3からデータを取得したり保存したりします。

DynamoDBの回と同様に、プロジェクトの設定ファイルであるserverless.ymlにCloud Formationの書式でS3の設定からIAM周りまで一元管理できます。分かってくると楽しいですね。逆に詰まるとネット上に情報があまり転がってなくて地獄ですがw
続きを読む

[AWS] Serverless FrameworkでRESTfulAPIを作成する (DynamoDB編)

今回はServerless FrameworkでRESTfulAPIを介しDynamoDBを触ります。

プロジェクトの設定ファイルであるserverless.ymlにCloud Formationの書式でいろいろ定義できるのでテーブルの作成やIAM周りの設定もすべて一元管理できます。テキストファイルでほとんどが完結するのほんと最高ですね。
続きを読む

[AWS] Serverless FrameworkでRESTfulAPIを作成する (外部サーバと通信編)

Lambdaから外部のサーバとHTTPによる通信を行ってみます。

とは言っても特別な制約はありませんので基本的に自由行うことができますが、実行時間によって課金される点に注意が必要です。相手方のサーバからレスポンスが中々返って来ないとその時間分だけ課金されます。またVPCの中にLambdaを置いて実行する場合はインターネットゲートウェイなどの設定が必要になります。

では行ってみましょう。
続きを読む

[Quora] AWSを使った受託開発はクライアントにAWSアカウントを作ってもらうべき?

Quora回答シリーズです。

質問

AWS (EC2) を使った受託開発は、納品時にインスタンスを移管することができないので、開発開始時にクライアントにAWSアカウントを作ってもらう必要がありますか?
https://qr.ae/pNyMrE

この質問には以下の参考URLが添えられていたのですが、移管できること自体を理解されているのかよく分からなかったので、一般的なお話をしました。

続きを読む

[AWS] Serverless Frameworkで独自ドメインをSSL付きで設定する

Serverless FrameworkでRESTFulAPIを作成すると、通常だと以下のようにAWS側で用意されたドメインを利用するわけですが、

https://d-hhlj8cxjl7.execute-api.us-east-1.amazonaws.com/dev/welcome

今回は次のようにこちらで用意したドメインでリクエストを可能にします。

https://api.blog.katsubemakito.net/api/welcome

これはServerless Frameworkのプラグイン「serverless-domain-manager」を導入することで比較的簡単に実現できます。
続きを読む

[AWS] Serverless FrameworkでRESTfulAPIを作成する

AWSでRESTfulAPIをAPIGateway+Lambdaで作ろうとすると、ブラウザ上でGUIをいじくるわけですが操作感が独特で慣れるまでちょっとばかし辛いものがあります。そんな時に活躍してくれるのが「Serverless Framework」。YAMLをチョロっと書くだけでそのあたりの設定を良い感じに行ってくれます。

今回はドキュメントの内容に沿って、Serverless Frameworkの導入から実行までを行います。


続きを読む