1時間で新規WordPressを#getshifterするメモ

Shifter

クローズドベータから少し触っていたShifterをちゃんと使う機会がやってきたので、さくっと手順をまとめておきます。

慣れていれば1時間もあれば独自ドメインでShifterによって静的化されたWordPressサイトを立ち上げることができますよ。

※スクリーンショットは面倒なので撮ってません。

事前準備

※AWS Route53でもドメイン取得可能ですが、個人的にドメインの取得はお名前.comにまとめています。ドメイン登録できればどこでもOKです。

※独自ドメインを割り当てるので、Shifterのプランはpersonal以上を選択しましょう。月払いの場合$20/月、年払いの場合$15/月となります。

ドメイン取得・ネームサーバー設定

レジストラでドメインが取得できたら、ネームサーバーはとりあえずAWSのRoute53に設定しましょう。それが近道です。

お名前.comで取得したドメインをRoute53に設定するには以下の記事を参考に。

お名前.comで取得したドメインのネームサーバーをRoute53に変更しELB配下のWebページをドメインで引けるようにする – Qiita

取得したドメインでメール受信ができるようにする

Shifterでドメイン認証をする際にメール受信ができる必要があります。

わざわざメールサーバーを立てずとも、AWSのSESを使えば取得したてのドメインもすぐにメール受信ができますよ。

手順は以下。

  • Route53にドメイン登録
  • S3にメール受信用のバケットを作成
  • SESでドメイン認証
  • SESでメール受信設定(受信用メールアドレスは「admin@ドメイン」)

※SESは東京リージョンに対応していないので、バージニアリージョンあたりで設定しましょう。

今回はそれに伴ってメール受信用のバケットもバージニアリージョンにしておきました。

SESでメール受信してS3にメールを保存するには以下の記事を参考に。

[新機能]Amazon SES でメール受信が出来るようになりました! | Developers.IO

ちなみに、SESでメール受信するS3バケットには以下のようなバケットポリシーを設定しておかないと、SESで受信ルールを作成するときにエラーになりました。

{
 "Version": "2008-10-17",
 "Statement": [
 {
 "Sid": "GiveSESPermissionToWriteEmail",
 "Effect": "Allow",
 "Principal": {
 "Service": "ses.amazonaws.com"
 },
 "Action": "s3:PutObject",
 "Resource": "arn:aws:s3:::バケット名/*",
 "Condition": {
 "StringEquals": {
 "aws:Referer": "数字のAWSアカウントID"
 }
 }
 }
 ]
}

参考:Amazon SES に対する E メール受信に関するアクセス権限の付与 – Amazon Simple Email Service

Shifterにドメインを登録する

Shifterダッシュボードの、Project – Domainsにすすみ、取得しRoute53に設定したドメインを追加します。

なお、ドメインはネイキッドドメインではなくて、www.などのサブドメインを登録しましょう。

ドメインを追加すると、admin@ドメイン等のメールアドレスにAWSから認証メールが届きますので、SESでメール受信設定をしたS3バケットを確認します。

S3に保存されているメールのオブジェクト名はハッシュ値のような名前になっています。

テキストエディタなどで開いて、以下のような文章を探して下さい。

To approve this request, go to Amazon Certificate Approvals at
https://certificates.amazon.com/approvals?code=ここは認証コード
and follow the instructions on the page.

見つかったら、ブラウザにURLを貼り付けて開きます。

表示されているドメインが正しければ「I Approve」をクリックしましょう。

これで、AWSのACMのSSL証明書が使えるようになりました。

Shifterで初めてのWordPressプロジェクトを作成する

Shifterでは既存のWordPressをインポートすることもできますが、今回は新規のWordPressを作成します。

プロジェクトの作成が終わったら、Step 1: Start WordPress SiteでPHPのバージョンを選んで、StartをクリックしてWordPressを立ち上げましょう。

立ち上げるごとにURLが変わる編集用のWordPressで構築などを一通り終えたら、StopをクリックしてWordPressを止めておきましょう。

ShifterのWordPressを静的化する

Step 2: Generate your websiteより、Generateをクリックして編集用のWordPressを静的化します。記事の数にもよりますが、少し時間がかかります。

ShifterのCDNから配信する(完了)

Step 3: Publish websiteより、配信を行うCDNを選択します。

記事を書いている時点では以下の2つのCDNが選択できます。

  • Netlify
  • Shifter CDN

今回はShifter CDNを選択しました。

Shifter CDN CNAMEsに表示されているドメインを取得したドメインのCNAMEに設定すれば、独自ドメインよりShifterで静的化されたWordPressサイトの公開が可能となります。

Twitterのツイート時間がずれている?と思ったときに確認すること

Twitter

Twitterのミッションは、言語や文化などの障壁をなくして、思いついたアイデアや見つけた情報を一瞬にして共有する力をすべての人に提供することです。

https://about.twitter.com/ja/company より

つぶやいていますか?

私はここ数年、Facebookを使うことの方が増えました。

特定のツイートのタイムスタンプを知りたい

諸事情であるツイートがなされた時間を記録したいというケースがありました。

ツイートごとのタイムスタンプについては、「●●時間前」「●●分前」「●●秒前」と表示されているリンクをクリックすることで確認することができます。

ツイート時間がずれている?

そこで、ツイートの時間を見るとどうも時間が合っていない気がしました。

10数時間ずれています。

ツイッターアカウントのデフォルトタイムゾーン

ツイッターのアカウント設定を確認するとすぐに分かりました。

アカウント開設した直後だと、タイムゾーンは(GMT-7:00) Pacific Time(US & Canada)になっていました。

スクリーンショット 2016-08-09 14.19.51

タイムゾーンを日本時間に変更する

(GMT+9:00)Osakaか、(GMT+9:00)Tokyoにすることで日本時間となります。

 

誰かの参考になれば

 

 

 

[AWS] Lambdaで出力するCloudWatchログのログストリームURLをLambda内で取得する(Python)

contextオブジェクトにロググループ名とログストリーム名が渡ってきているので、マネジドコンソールのURLを組み立てているだけ。

エラー時にメールで飛ばしておけば、(割と)すぐに確認することができるかもしれません。

https://gist.github.com/mt8/2618e9db37145fb1ea09908a660f343c

実際の運用では、このURLをAmazon SNSに通知するなどしてメールやSlackに流しています。

Node.jsでも同じようなことができるはず。

 

参考:

Context オブジェクト (Python)

Context オブジェクト (Node.js)

 

 

[AWS] API Gatewayのリクエストステージ名をLambdaにパラメータとして渡す

とりあえず手順だけまとめておきます。

(各メソッド)統合リクエスト

  • マッピングテンプレートの追加
  • Content-Typeは、application/json
  • テンプレートに、{ "stage": "$context.stage" }

Lambda側(Python)

event['stage']で参照可能。

ちなみに

API Gatewayのテストボタンでのステージ名はtest-invoke-stageとなります。

参考

API Gateway API リクエストとレスポンスペイロードのマッピングテンプレートのリファレンス >> $context 変数へのアクセス

https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

WordPressの書籍を執筆しました。

WordPressの書籍を執筆しました。