blogですかい

仕事、プライベートで学んだことなどを発信し、その内容がたとえ少数でも誰かの役に立ったらなら、それはとっても嬉しいなって

AWS

AWS LambdaでもPHPがしたい!

AWS Lambdaでは基本的に、Node.jsやJava, Pythonを用いて開発をしますが、それらから別の言語の処理系を呼び出して動かすことも可能です。 例えば、PerlのスクリプトであればLambdaのコンテナにインストールされているので、このように動かすことができます…

AWS LambdaでPerlのスクリプトを動かす

LambdaファンクションはNode.jsやJava、Pythonで書くことができます。 では、Lambdaで動かしたい処理を、その3つの言語のどれで書かなければならないのかというと、そんなことはありません。 LambdaのインスタンスのOSはAmazon Linuxで、幾つかの言語の処理…

canvasで編集した画像をAWS SDK for JavaScript in the Browserを使ってS3にアップロードする

アップロード用ユーザの作り方は「S3 IAM policy」で検索 バケットの設定は「S3 Bucket policy」で検索 単にローカルファイルをアップロードしたいだけなら AWSの公式サンプルを参考にすれば簡単に実装できます。 http://aws.amazon.com/jp/developers/getti…

Amazon RDSのMySQLインスタンスでJSTの時刻を使う方法

RDSのMySQLインスタンスはタイムゾーンの設定をすることができず、UTC固定です。 AWSの管理上の都合らしいです。 UPDATE `table_name` SET `dt_column`=NOW() WHERE `id`=1; といったようなクエリを実行すれば、dt_columnフィールドにはUTCの時刻が入ります…

RDS MySQLインスタンスにてトリガを設定する

RDSのMySQLインスタンスにてトリガを作成するには MySQLでは、binlogを出力する設定になっている場合、SUPER権限を持つユーザでないとトリガやファンクションを作成できない。 RDSのMySQLインスタンスは、リードレプリカの有無に関係なくbinlogを出力する設…

Amazon EC2 t1.micro インスタンスでswapを使用する

m1.small 以上のインスタンスにはswap用のデバイスが存在し、デフォルトでswapとしてマウントされるようですが、残念ながらt1.microインスタンスにはそれがありません。 t1.microインスタンスでの free コマンド実行結果例 $ free total used free shared bu…

Amazon SESをrelayhostとして使用するためのPostfixの設定

PostfixからSESにメールを投げる方法は2種類ある - STARTTLSを使用する方法 - SMTPsを使用する方法 Postfix自体の設定はSMTPsを使う方がシンプルであるが、 SMTPsを使用する場合はStunnelという別のデーモンが必要になる。 STARTTLSはPostfixだけ(別のモジュ…

AWS S3とPHP SDKについて

S3について 言わずと知れたファイルホスティングサービス 一つのAWSアカウントで、複数のbucketを作ることができる bucket ファイルの入れ物 bucket毎にリージョンが指定可能 1つのbucketに複数のファイルを格納できる AWS-SDK for PHP PHPからAWSの各種サー…

Amazon SESをSMTPサーバとして使用する

Amazon SESとは Amazon Simple Email Service AWSのクラウド型メール転送サービス http://aws.amazon.com/jp/ses/ 利用料は従量課金だが、無料で使用できる範囲は広く、かなり安い印象通常のSMTPサーバとして使っても良いし、メールマガジンの送信に使うのも…

Amazon RDSで冗長構成

RDSとは Relational Database Service AWS上にリレーショナルデータベースを簡単にセットアップできるPaaS MySQL/Oracle/MS SQL Serverのインスタンスを、マウス操作だけで、短時間で用意できる。 (MySQLでcharcter-setを変更するにはコマンドラインツールが…