CMS)でお手軽Webサイト構築AWS特集Beanstalk2015年07月19日きうち(54)9この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、城内です。梅雨も明けていき、暑い季節になってきましたね。CMSのGravを使用したWebサイト構築を紹介したいと思います。CMSといえば、このブログでも以前PicoというCMSが紹介されていました。【Pico】データベースを使わない、Markdownで記述する軽量CMSを使ってみた。ちなみに、Picoには虚空(Coqoo)という日本語の拡張版もあるようです。こちらも気になったのですが、今回は現在も開発が盛んに行われているという理由で、Gravを選んでみました。システム構成システム構成は以下の通りです。WordPressの時とほぼ同じような構成ですが、Gravはデータベースがないことで、WordPressのサイト更新時に発生していた、Webサーバ上のファイルとデータベース内の情報との一時的な不整合が発生しません。Gravにはプレビュー機能がないのですが、上記の構成にすることで、Masterサーバ上で本番と同じ状態を確認することができるため、安心して更新ができるようになっています。Grav構築では、さっそく構築に入りたいと思いますが、システム構成は最初にご紹介したWordPressの構成と同じになりますので、細かいAWS上の操作は省略します。操作に迷うようでしたら、上記のWordPressの記事を参考にしてみてください。EC2インスタンス作成まず、Masterサーバを構築するため、EC2インスタンスを立ち上げます。Documentation」で確認してください。Userロールを付けています。Documentation」のサイトを参考にしてください。手順は以下の通りです。Beanstalk用のアーカイブに含まれないよう、一工夫入れます。記事の投稿は、新しいページ用のディレクトリ作成とMarkdownファイル(.md)のアップロードで行います。そのため、今回はgrav-userという名前で、Webサーバの実行ユーザと同じグループapacheに所属させたユーザを作成します。/home/grav-user/.sshまた、権限の調整をするため、umaskの設定を入れます。以下のようなデフォルトのホーム画面が表示されれば成功です。一応、以降の操作のために、動作確認を兼ねて以下のようなテストページを作成しておきます。logo](/user/images/cmlogo.png)以下の場所に格納します(02.testディレクトリは手動で作成します)。Beanstalkを構築します。BeanstalkにてEC2インスタンスが起動される際、必要なセットアップを行うため、.ebextensionsの機能を使用します。Beanstalk用のアーカイブを格納するS3バケットを作成します。今回は、cm-grav-testというバケットを作成しました。(ちなみに、バケットポリシーはCloudFrontでのオリジン設定時に自動で追加してもらうため、ここではあえて設定していません)そこにuser/imagesディレクトリ配下の画像データと/var/www/htmlディレクトリ配下のファイルやディレクトリをアーカイブしたZIPファイルをアップロードします。手順は以下の通りです。s3://cm-grav-test/resource/grav_20150720175026.zipS3バケット上は以下のようになっています。上記のZIPファイルをソースに、Webアプリケーションを作成します。作成方法やパラメータについては、過去の記事で何度も出てきているので省略します。Beanstalkの関連記事を参考にしてください。仕上がりは以下の通りです。最後に、CloudFrontを作成します。BeanstalkのURL(grav-test-prod.elasticbeanstalk.com)とS3のバケット名(cm-grav-test.s3.amazonaws.com)を設定します。上記の手順ではS3バケット作成時にあえてバケットポリシーを設定していないため、S3バケットのオリジンを設定する際は、以下のようにバケットポリシーを追加してもらうようにしてください。[Origins]と[Behaviors]の設定は以下の通りです。出来上がり以下のようにCloudFront経由でアクセスし、画像のリンク切れもなく正常に画面が表示されれば成功です。BeanstalkのURLへのアクセスでは、EC2インスタンス上には画像ファイルがないため、画像は表示されません)さいごにさて、いかがでしたでしょうか?ライトなWebサイトを作成してみたいと思っている方にはお薦めです!個人的には、Gravはお手軽でなかなか面白いツールだと思ったので、もっとテーマやプラグインを追加してごにょごにょしてみたいと思います。記事にできるかは分かりませんが(笑)。おまけMasterサーバでサイトを更新した後、本番サーバに反映させるには、以下の手順を実施します(コマンド出力は省略)。548,112座右銘は、「普通が一番」。バランス感覚重視の何にも尖ら(れ)ないエンジニアです(なぜCMに入社できたのか謎)。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。