AWS

[AWS] LigthsailにBitnami版Redmineを構築する

新たにジョインしたプロジェクトで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を置いて実行する場合はインターネットゲートウェイなどの設定が必要になります。

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

[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の導入から実行までを行います。


続きを読む

[AWS] Route53でドメインの権限委譲を行う

このブログのドメインはblog.katsubemakito.netですが、例えばfoo.blog.katsubemakito.netなどと更に階層を深くしたサブドメインが作りたくなった際にやる設定です。本来はサブドメインの管理を本家のDNSサーバではなく、別のサーバで行う場合にやったりします。要は権限移譲ですね。

AWSではRoute53がDNSやドメイン回りを担当するサービスですが、非常にかんたんにこのあたりの設定が行えるようになっています。
続きを読む

[AWS] Node.js版 aws-sdkを設定する

Node.jsからAWSの様々なサービスを利用できるaws-sdkを使ってみます。
今回はインストールから利用開始できるまでの設定を行います。

AWS上の操作は大丈夫という方は、「Nodeから利用する」の項目からご覧ください。

続きを読む

LAMP環境をAWS Lightsailで新規に構築する

今回はAWSで気軽にVPSサーバを立てることができるLightsailで、LAMP環境を構築してみます。1台のサーバにWebとDBが同居する形の非常にシンプルな物です。

もともとAnsibleで自動化しようと思ってタスクを洗い出していたのですが、せっかくなのでブログにも残しておきます。
続きを読む

AWS Organizationsでアカウント管理してみる

過去、AWSを大きな組織や複数のプロジェクトで利用する場合、AWSのアカウント自体を複数用意して利用していたわけですが、2017年2月に登場した「AWS Organizations」を利用すると、請求先の一元化や、ユーザーの権限管理が一括して行えます。

考え方

これまで

それぞれのアカウントが独立して存在しており、請求情報やユーザー管理もそれぞれ行う必要がありました。

AWS Organizations導入後

図はイメージですが、AWSアカウント内に「組織」を作成することで、独立した世界を用意することができます。

請求情報は「親」で一元管理できます。
また必要があれば各ユーザーに対し制限をまとめてかけることもできます。

「子ユーザー」はルートユーザーと同じ権限が与えられますので、組織内のユーザーから見ても、使い勝手はこれまでと変わりません。また各組織が影響を与えることもありませんので万が一の場合の影響範囲を心配する必要がないのもこれまでと変わらないポイントです。

続きを読む

AWSアカウントの2段階認証を設定する

もうどこからアカウント情報が漏れるかわかりませんからね。昨年GitHubの2段階認証の設定をしたように、今回はAWSのアカウントにも施したいと思います。特にルートアカウント。

認証方法

詳しくはAWSの「多要素認証」のページに書かれていますが、実質的にスマホアプリか専用のデバイスを用いることになります。

仮想 MFA アプリケーション

要はスマホのアプリで認証するタイプ。
Google認証とAuthy2、WindowsPhone用の「認証システム」に対応しているようです。

OSアプリ
AndroidGoogle認証 / Authy2
iOSGoogle認証 / Authy2
WindowsPhone認証システム

U2F セキュリティキー

物理的な認証デバイスとの連携にも対応しているようです。
USBポートに差し込んで指紋を読み取らせるだけで、ワンタイムパスワード的な物が発行されログインできる便利なやつですね。興味のある方はAmazonからも購入できるのでどうぞ。

SMS MFA

新規受付はすでに終了したそうです。また既存ユーザーも2019年1月31日で提供終了とのこと。がーん。本命だったのに(´・ω・`)

続きを読む

AWSからのメール: Your certificate is renewed

Amazon(AWS)から以下のようなメールが届きました。
このブログはCloudFrontを通しつつ、AWSのCertificate Manager(ACM)で無料のSSL証明書を利用しているのですが、どうもSSL証明書が自動的に更新されたっぽい!?

Greetings from Amazon Web Services,

This notification is to notify you that AWS Certificate Manager (ACM) has completed the renewal of an SSL/TLS certificate that certificate includes the primary domain blog.katsubemakito.net and a total of 1 domains.

AWS account ID: xxxxxxxxxxxx
AWS Region name: us-east-1
Certificate identifier: arn:aws:acm:us-east-1:xxxxxxxxxxxx:certificate/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Your new certificate expires on Jan 22, 2020 at 12:00:00 UTC.
If you have questions about this process, please use the Support Center at https://console.aws.amazon.com/support to contact AWS Support. If you don’t have an AWS support plan, post a new thread in the AWS Certificate Manager discussion forum at https://forums.aws.amazon.com/forum.jspa?forumID=206

This notification is intended solely for authorized individuals for blog.katsubemakito.net. To express any concerns about this notification or if it has reached you in error, forward it along with a brief explanation of your concern to validation-questions@amazon.com.

Sincerely,
Amazon Web Services

続きを読む

AWSからのメール: Preparing for Certificate Transparency with AWS Certificate Manager (ACM)

Amazon(AWS)から以下のようなメールが届きました。
結論から言うと最近発行されたSSL証明書を使用していれば特段の作業は発生しないかな。

Starting April 30, 2018, Google Chrome will require all publicly trusted certificates to be logged in at least two Certificate Transparency (CT) logs (https://www.certificate-transparency.org/ ). Any certificate issued after that date, that is not logged, will produce an error message in the Google Chrome browser. In order to comply with this requirement, as of April 24, 2018 all new and renewed AWS Certificate Manager (ACM) certificates will be logged to comply with this requirement, unless you ask us to disable CT logging.

続きを読む