Monthly Archives:August 2015

AWSにWordPressをインストールしてみた。

性懲りもなくAWSにWordPressをインストールしてみようと思い立ったのだ。簡単にインストールできるに違いないが、きっと細かいところで嘘だろみたいなことが起きるのだろうな・・・

この記事を参考にとりあえず読むと、やっぱりPermalinkの設定でGotcha(やられた!)があるみたい。でも恐れずに突き進む。

AWSコンソールにCloudFormationというのがあり、これを使うとか~んたんにWordPressがインストールできるらしい。

AWSWP1

Cloudに触れるとよくでてくるStackという用語。パンケーキ(昭和世代ならホットケーキ)が重ねてでてくるとよくStackと言うのだが、そゆことか・・・重ねてるっつう意味ね。要はCloud Computing Platformが使いやすいように色々Toolとかアプリを重ねておくっつうことだろ。ここではなんかしらんけど、AWSが提供するEC2の上になんか重まねーかいっつうことだ。んで、Create New Stackボタンを押してみる。

AWSWP2

Stack名には適当にBeckosWordPressと記入。TemplateセクションのSelect a Sample Templateを覗くと・・・

AWSWP3

Word Press Blogがあった(*゚ー゚)

ちょとまてよ・・・Ruby on RailsとかWindows Active Directoryとかもあるじゃん。More…. Sample Templatesを選択するとAWSのサービスのTemplatesも色々用意されている。親切じゃないか。でも細かいところでやっぱりGotchaあるんだろうけど。冒頭で紹介した記事でもぶつぶつ書かれているが、AWS利用にはそれなりにSystem Adminの経験ないとひっじょーに辛いことになるっつうことらしい。ま、そうだろな。大企業のITシステム向けであってFlexibleな分、仕組みやサービスが複雑になっているということだ。素人は手だすんじゃねーよとやくざなCloudらしい(嘘)。

指詰まれるのを覚悟でWord Press BlogをTemplateで選択しNEXTボタンを押し前に進む・・・

AWSWP5AWSWP4

適当に上から必要事項を記入していくが最後のところでSSHLocationというのが・・はて??”The IP address range that can be used to SSH to the EC2 instances”という説明があるので、要はEC2インスタンスにSSHでアクセスするときに使うIPアドレスの範囲指定をしろということだ。うーん、つうことは、EC2インスタンスが使っているSecurity GroupのInboundのSourceのIPアドレス範囲にすればいいんじゃねーかな?

次の画面ではOptionsでTag情報入れ込んだりできるんだが、今回は面倒なるかもしれないんでスキップ。

Review画面でCreate ボタンを押す・・・

AWSWP6

Stackが作られ中とStatusに表示されている。無事作られるのか、ちょと心配。画面右上のRefreshアイコンを押すと、画面下部のEventsに履歴が表示されていくのがわかる。

AWSWP7

Completeされた(*゚ー゚)

Eventsの履歴を見ると、WordPress用にわざわざ新しくEC2 Instanceが作られたようだ。ま、そうなんだろな。既にEC2インスタンスやRDSインスタンスでMySQLが走っているときは、きっとCloudFormationの最初の画面でもうひとつの”Create a Template from Your Existing Resources.”を選ぶべきだったんだろう。ま、いいや。

これでWordPressのStackができたわけだが、ここからどうしたらいいんだ???Overviewをクリックすると、このStack用にEC2インスタンスが作成されるんで課金されるよって書いてある。最初に言えよ・・・ま、たいした金額じゃねーだろうけど。Outputsタグを見ると、WebsiteURLがあった。これだろー・・・

AWSWP8

 

あ、WordPressの設定画面にアクセスできたぞ。美しい・・・’

AWSWP9

 

Site TitleやUsernameとか記入しInstallボタン押すと・・・

AWSWP11

ぉおお、Success!だって(*゚ー゚)

Log inボタン押してWordPressのLog in画面に行く。Usernameとパスワード入れてLog inすると・・・

AWSWP12

入ったぜ!

左上のSite nameのWest Coast Piecesにマウスを持っていってVisit Siteをクリックすると

AWSWP13

おお、WordPressのDefaultのページが表示された(*゚ー゚) 簡単じゃないか!

ここでお馴染みのWordPressのDashboardを表示してThemeをインストールしようとしたが・・・

あれ、WordPressからftpサーバーにアクセスするからFTPサーバーのUsernameとパスワード入れろと・・・これってEC2インスタンスのUsernameとは違うんだよな??Hostnameはどれ入れればいいんだ???

ApacheのDirectoryのPermissionいじらないといけないとか色々設定ありそうなんでこの後は次回にします(;´Д`)

 

 

 

Brian Moriguchi

AWS: 料金確認してみた。

AWSの初歩の初歩をやってみたが、ここで一度料金を確認してみよう。

AWS画面右上の自分のAccount名をクリックするとメニューにBilling & Cost Managementが表示されるのでそれを選択。

AWS99

おお、なんと3セントチャージされてるじゃないか( ゚∀。 ) これって無料じゃなかったの???ま、いいや・・・

AWS100

課金されすぎないように警告してくれる設定も可能だ。Preference/Receive Billing AlertsセクションのManage Billing Alertsのリンクをクリックし・・・

AWS101

さらに左側のサイドメニュー内のBillingをクリックすると

AWS102

いくらに課金されたらどこのメルアドに警告すればいいかを設定できるのだよ。

とりあえず「50代オヤジがAWSやってみた」シリーズはこれで終了。あ~楽しかった(*゚ー゚)

 

Brian Moriguchi

AWS: S3で静的なWebサイトを作ってみる。

静的なWebサイトというのは、単純なHTMLファイルや画像・動画だけのものでサイト側のProgrammingの必要ないものということでいいだろう。JavaScriptは使えると思うが。1995年当時ではこの程度の技術で飯食えてた人もいたのだ。あ~長生きしたくねぇ~なぁ。

前回と同じ要領でBucketをまた作ってみよう。mysite.beckos.comとでもBucket名にしておく。

AWS91

Bucket作ったら、Propertyを表示させる。Permissionをまず設定するぞ。Permissionセクション内のAdd Bucket Policyボタンを押す。

AWS92

次の画面で下部にあるSample Bucket Policyリンクをクリックし、Amazonサイトにあるポリシーサンプルを物色。ここでは”Granting Read-Only Permission to an Anonymous User”をさっきのBucket Policy Editorにコピペしよう。このときCode中のexamplebucketをbucketのLinkに書き換えるのを忘れないように。ここではmysite.beckos.comになる。

AWS95

Saveボタンを押すとProperty画面に戻るのでそこで再度Saveボタンを押す。

これで、このmysite.beckos.comのBucketにアップロードしたものは、すべてMake Publicにしろよという設定になったのだ。一々、前回のように画像ひとつずつMake Publicしてやらんでもいいということだ。どうだ便利だろ。

次はBucketのProperty内のStatic Website Hosting詳細を表示させ、Enable website hostingを選択し、Index Document名にindex.htmlを記入しSaveボタン押そう。

AWS96

 

実際にBucketにindex.htmlをアップロードして表示されるか確認してみるぞ。

Bucket名を表示させて、Uploadボタンを押そう。作っておいたindex.htmlをUploadしてみるべし。Index.hmltで画像も表示させたいなら、その画像ファイルも一緒にUploadする。Upload終わったら、BucketのPropertyのLinkをクリックしてIndex.htmlがブラウザ内で表示されるか確かめよう。

AWS98

うむ、綺麗に画像も表示された (*゚ー゚)

 

 

 

 

Brian Moriguchi

AWS: ストーレージサービスを使ってみた。

いよいよS3というStorage Serviceを使ってみるぞ。Storageに特化してるのでアクセスも高速、容量無限大(に近い)、信頼性高い(壊れたり落ちたりなかなかしないことになっている)という優れものだ。画像や動画を多用するWebサイトにはアクセスをこちらに分散させると効率的なWeb Hostingを実現できるのだよ。

AWSメニューにあるS3をクリックすると、こんな画面がまずでてくるので、Create Bucketボタンを押してみる。

AWS85

Bucket nameはGlobalでUniqueなものにしないといけないので・・・つまり、同じアドレスがあっちゃいかんつうこと。ここではmyfiles.beckos.comにでもしておく。Regionはここから一番近いNorthern Californiaにしておく。日本の人はTokyoでいいでしょう。Createボタン押すと、こんなことになる・・・

AWS86

Bucketって籠のことだけど、Storageと呼ばないでBucketと呼ぶのは何故か?追い追いわかることだろう・・・今は深く気にしないでおこう。

Bucketのリンク(myfiles.beckos.com)をクリックしてみる・・

AWS87

んで、Create Folderボタンをクリックすると簡単にFolderをBucket内に作っていくことができる。ここで定義されているStorageってVirtualなものにすぎないので、それでBucketとわざわざ違う名前にしているのではとふと思った。

作成したFolderをクリックして、ファイルをUploadしてみる。フォルダー内にUploadされた画像のPropertyを見るとLink情報があるので覚えておこう。このLink先でその画像にアクセスできるのだ。ところがこのままだと、そのLinkをクリックしても、Permissionが外から見える設定になっていないので、こんなエラーが表示される。

AWS89

そこでファイル名上で右クリックしてMake Publicメニューを選択し、公開してやると、さっきのリンクをクリックしてもエラーは表示されず、画像がBrowser内で見れるのだ。

AWS90

 

実際S3をプログラミング上で使う場合は、SDKが用意されているはずなので、AWS php sdk phpとかググって見よう。

 

Brian Moriguchi

AWS: ロードバランサー作ってみた。

前回、MyWeb2とサーバーを増設したので、MyWeb1と同様にBrowserからアクセスできるか試してみよう。

EC2コンソールのInstancesでMyWeb2をクリックし、下部に表示されるPublic DNSをコピーし・・・

AWS75

Browserからアクセスすると・・・

AWS76

うむ、ちゃんとMyWeb1と同じように表示される(*゚ー゚)

EC2コンソールのLoad Balancersをクリック、Create Load Balancerボタンをクリック・・・

AWS77

Step 1: Define Load Balancer

Load BalancerのNameにMyLoadBalancerと記入。下部のProtocolやPortはWebに関するものなのでそのままでOK.

AWS78

Step 2: Assign Security Groups

ここでSecurity Groupを選べと出てくる・・・・うーん、いつものlaunch-wizard-1にしておこう・・・

AWS79

Step 3: Configure Security Settings

あり、警告が表示された。Load BalancerがSecureじゃない設定になっとるぞって。このまま設定進んでもいいけど、もう一回考えてみろよと仰っています。

AWS80

Load Balancerってさ、Webにアクセスするときに使われるわけだから、Secureじゃなくていいんでね?HTTPSかSSLを使えるってことね。

 

Step 4: Configure Health Check

Load BalancerのHealth Checkなんか設定できるんだよ。

AWS81

Advanced Detailsの数字の意味は・・・・
Response Timeout  5 seconds ※EC2のInstanceをつっついて返事が5秒以内なら健康、それ以上かかるなら不健康という意味だ。
Health Check Interval  30 seconds ※その健康診断をなんと30秒ごとにやってくれてるのよ。
Unhealthy Threshold  2  ※健康診断の返事が5秒以上かかるのが2回続くと、このInstanceは死んだとされるわけ。

Healthy Threshold  10 ※健康診断の返事が5秒以内が10回続いたら、健康優良児認定なわけ。

 

この健康診断で死んだよ~と判定されると、Webへのアクセスはすべて死んでないInstanceのほうに振り分けられる仕組みなのだ。

Step 5: Add EC2 Instances

AWS82

ここでは作ってるLoad BalancerをどのInstanceに振り分けるか選べよっつう画面だ。Instance名の左をクリックして選択するのを忘れずに。

Step 7: Review

ここでは今まで設定した内容を再確認するので、間違いないか見直したら右下のCreateボタンをクリック、するとちゃんとLoad Balancerできたよっつう画面でる。

EC2コンソールのLoad Balancerをクリック。

AWS83

MyLoadBalancerのDNSが表示されるのでそれをコピーしてBrowserからアクセスしてみよう。

AWS84

うむ、ちゃんとindex.htmlが表示される。これがMyWeb1かMyWeb2のどちらのInstanceなのかは、Apacheのログでも見ないとわからんらしい。コマンドラインからhttpdのDirectory入ろうとしてみてもはじかれるな・・・suコマンドでパスワード入れてもAuthorization Failedになるのなんでだ???また今度Apacheはゆっくり見てみよう。

ともあれ・・・アクセス数が急増してもLoad Balancerがあれば安心だ!Instanceをたくさん作ってLoad Balancerに登録しておけば、一挙に100万人が同時アクセスしても心配ないのだ(*゚ー゚) すげ~こんな簡単にLoad Balancerとかサーバーぼこぼこ作れたりするんだ!

 

Brian Moriguchi