プログラミング0シェア0ツイート0ブックマーク1Feedly-LINE-Pocket弊社Webサイトは創業以来WordPressで構築しています。弊社と言いつつその実態は法人化しただけのフリーランスといった感じなので、創業以前から書いているブログをそのまま持ってきて、会社っぽいページを付け加えただけです。それでも、使用しているテーマ(Lightning)の出来が良くて、良さげな企業サイトになっているのはありがたいところです。そんな弊社のWordPressは、VPSを使ってみたり、WordPressのホスティングサービスを使ってみたりで、その時々の仕事に応じて、環境を移したりしています。「その時々の仕事に応じて」というのは、結構、サーバ構築や運営に関する仕事があるので、その辺の技術知識を吸収したり、スキルを上げるには、自分のサイトを運営してみるのが一番だったりするからなんですね。そんなわけでAWS以前もAWSで運営していたことはあったのですが、今回、AWS度を高めた状態でAWSに再度持ってくることにしました。具体的に言えば、こんな構成です。WebサーバとPHPの実行環境:EC2(KUSANAGIを使う)DBサーバ:EC2メディアファイルの配置:S3メディアファイルの配信:CloudFrontまぁ、DBサーバもRDSにしたいところだとか、Webサーバを冗長構成にしてELBでロードバランスとかするとさらに格好良いのですが、弊社サイト程度のアクセスでそこまでのコストはかけられないので、EC2中心ではあります(t2.microでも良さそうですが、KUSANAGIの推奨だし他の用途も出てくるかもなのでt2.mediumにしてみました)。EC2でのWordPress運用はこれといって珍しいことではないし、それは以前もやっていたので、今回のポイントはS3とCloudFrontということになるでしょう。ちなみに、KUSANAGIというのはWordPressを高速に動作させるための環境が整ったイメージのことで、AWS向けにもAMIがマーケットプレイスで配布されています(KUSANAGI自体は無料で使えます)。構成こんな感じでメディアファイルを取り回しています。基本的には、こちらのサイトを参考に作業を進めました。S3にバケットを作成し、Webアクセス可能にするバケット名はmedia-inoccu-comのように、ドットを含まないものにします。ドットを含めると、s3fuseでのマウントで問題が起きます。wp-content/uploads配下のファイルをS3にコピーaws-cliがインストールされ、アクセスキーなどの設定が完了していれば、下記のコマンドでコピーできます。--recursiveEC2環境にs3fuseを導入し、S3のバケットをマウント先ほどのサイトのとおりです。ACMでSSL証明書を取得ACMでmedia.inoccu.comのSSL証明書を取得します。ドメインの所有権確認のため、CNAMEの設定が必要です。独自ドメインをCloudFrontのCNAMEに設定media.inoccu.comをCloudFrontのドメインにCNAME設定します。CloudFrontを設定S3バケットのURLを指定して、CloudFrontを設定します。その際、ACMでSSLの証明書を作成しておくと、独自ドメインのSSL証明書が選択できるようになります。Regexプラグインなどを用いて、https://inoccu.net/wp-content/uploadsをhttps://media.inoccu.com/wp-content/uplodasのように置換します。「ファイルへの完全なURLパス」を設定WordPressの管理画面にログインし、設定>メディア>ファイルへの完全なURLパスをhttps://media.inoccu.com/wp-content/uploadsのように設定します。ITコーディネータ/ITエンジニア。ビジネスコンテスト「北九州でIoT」に応募したアイディアが入選し、メンバーと株式会社ビビンコを創業。著書に「初めてのWatson」、「ワトソンで体感する人工知能」など。日本全国でAI・IoTなどをテーマにしたセミナーや研修講師での登壇多数。第7回】その他のオブジェクトとテンプレートについて前回は、Nagiosのオブジェクトのうち、ホスト、サービス、コマンドについて簡単に説明しました。企業システムには欠かせないジョブ管理システム。研一2012/11/27この投稿へのコメントコメントはありません。研一のウェブサイトです。プロフィール(詳細)AI・IoTなどの講演、執筆などのお問い合わせは、首都圏(東京・横浜)、九州(福岡)を中心に日本全国から承っております。こちらのお問い合わせフォームからご連絡ください。(1)IoT・AI・RPAソリューションは株式会社ビビンコ(北九州・東京)にご相談ください。