LoginSignup
26
32

More than 5 years have passed since last update.

AWSでWebシステム構築の勉強

Posted at

概要

@betahikaruがAWSでインフラ構築について試行錯誤している内容のメモです。
将来WebサービスをAWS上で提供したくなった時のために勉強してます。
なお、AWSどころかインフラ全般についてド素人です。

状況

現在、私はAWSの各サービスをこんな風に使ってます。

全体像

システム構成図です。(cacooで作りました)
EC2インスタンスは、普段は1つだけにしていて、必要に応じて独自AMIイメージから生成できるようにしてます。
(Webサービスを提供している訳じゃないので、検証用途のみです。)

AWS 20140201.png

利用サービス

以下のサービスを利用します。

  • EC2 (とEBS)
    • Webサーバ&APサーバ。(とそのストレージ)
    • Amazon Linux x64 を利用。
    • httpd, php, mysql(クライアント)をインストール。※色々手っ取り早いので。
    • 適当なHTMLページとPHPのページ(RDSに接続する)が出来た状態で、AMIイメージを作っておきます。
  • RDS
    • DBサーバ
    • MySQL5.6 を利用。
    • 適当なテーブルを作っておきます。
  • ELB
    • ロードバランサ
    • Webサーバ&APサーバへのリクエストを振り分けます。
    • 普段はとりあえずEC2インスタンス1個だけ割り当ててる。
    • AMIイメージからEC2インスタンスを作る事で、WEBサーバ&APサーバは分散できる状態っぽくなった。
  • route53
    • DNSのシステム?
    • 独自ドメインを取得したので、ロードバランサに独自ドメインでアクセスできるよう設定した。

詳細:route53

設定

  • "Hosted Zones"を追加(Domain Nameを独自ドメインに設定してCreate)
  • "Go to Record Set"
  • Aレコードを追加("Alias"を"Yes"にし、"Alias Target"をロードバランサのAレコードにする)
    • 起動しているインスタンスとかの選択肢が出た。便利。
  • NSレコードについて、レジストラのサイトでネームサーバの変更設定を行う。

参考URL

あとがき

野望

  • RDSとかがSPOF(単一障害点)になるので、冗長化したい!
    • 読み取りだけならリードレプリカとか作れるとかなんとか。じゃあ更新は?
  • キャッシュして高速化したい!
    • memcached とか Redis とかでセッションとかDB参照とかをキャッシュしたい。
  • AMIからイメージ作るだけではスケールしきれない?パターンに対応するために、Chefとかもやりたい。

気づいた点

  • EIPは、独自ドメインあったら特に使わなくなりそう。
    • 本番環境以外で使うかも。開発環境(CI、ビルド、デプロイサーバ)とか。

戯れ言

色々はしょってますが、忘れないよう後で詳しく書こうと思います。
まとめたらこれだけかーって感じの内容ですが、色々苦労しました。

略語集

お節介ですが略語集を載せときます。
* AWS (Amazon Web Services)
* EC2 (Amazon Elastic Compute Cloud)
* EBS (Amazon Elastic Block Store)
* AMI (Amazon Machine Image)
* RDS (Amazon Relational Database Service)
* route53 (Amazon Route 53)

26
32
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
32