構成要素

以下を見れば一目瞭然だが、自分で噛み砕いて理解しておくこと

http://aws.clouddesignpattern.org/index.php/CDP:%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88#.E4.BB.AE.E6.83.B3.E3.82.B5.E3.83.BC.E3.83.90_-_EC2_.28Amazon_Elastic_Compute_Cloud.29

Tips

Terminate Protection誤って削除されないように有効化をおすすめ
日本時間に変えるsudo cp /usr/share/zoneinfo/Japan /etc/localtime

AWS コマンドラインインターフェイス

コマンドラインでAWSを操作するためのもの。aws 操作名のような感じで行う。

aws s3 ls s3://mybuckets3とローカルフォルダの比較
aws configureCLIの設定。ID/KEY/REGION/formatを設定する。設定ファイルが~/.aws/configに作成される

ボリュームの拡張

基本的にはAWS公式を参照せよ。

  1. スナップショットの作成(時間かかる。6Gでも10分)
  2. スナップショットからEBSの作成(一瞬)
  3. インスタンス停止→EBSボリュームのデタッチ(2分)
  4. 新しく作成したEBSをアタッチ(ルートデバイスの指定は以前と同じにしておく。/dev/sda1なら/dev/sda)
  5. 起動
  6. resize2fs実施

resize2fs /dev/xvde1

VPC

重要なので項目として独立させた。最低限セキュアにするにはVPCの下にPUBLIC/PRIVATEのサブネットを作成し、NATをPUBLICサブネットに立てて、PRIVATEはそこのNAT経由で外に出る。詳細は以下のページを参考にせよ。

http://qiita.com/ausuited/items/09b626fa5264f0c650fd

VPCの概念

仮想プライベートクラウドの略。サブネットを割り当てて、インターネット領域にするのか、プライベート領域にするのかは自由だ。 [VPC with a Single Public Subnet Only]を選ぶと、シンプルだけど全部外にさらされるぞ。Privateネットワークの場合は外に出るのにNATが必要。

「パブリックサブネットのインスタンスはインターネットから直接インバウンドトラフィックを受信できますが、プライベートサブネットのインスタンスはこれができません。また、パブリックサブネットのインスタンスはアウトバウンドトラフィックを直接インターネットに送信できますが、プライベートサブネットのインスタンスはできません。」

「デフォルトでは、インスタンスはインターネットにアクセスできません。インスタンスはデフォルトでパブリック IP アドレスを受け取りません。VPC は、作成方法によってはインターネットゲートウェイを持つ場合があります。」

プライベートサブネットからインターネット通信

二つのサブネットを用意。片方がインターネットゲートウェイをもつパブリックネット。そこにNATインスタンスを配置。プライベートのほうにはルーティングテーブルをNATに向けたものを設定し、プライベートゾーンにインスタンスはすれば成功。パブリックネットはPublicIPがないと外部通信できない。

VPC間で通信する場合はVPCピアリングの設定が必要。

サブネット

VCP(172.31.0.0/16)の内部にサブネットを複数持てる。サブネット間で通信可能。デフォルトでは二つのAZにサブネットが用意されている。

AZ名IPレンジ備考
ap-northeast-1a172.31.16.1~172.31.31.254/20
ap-northeast-1c172.31.0.1~172.31.15.254/20

ネットマスクの計算に便利なサイト https://note.cman.jp/network/subnetmask.cgi

プライベートsubnetからインターネットにアクセスするにはNATが必要。

http://dev.classmethod.jp/cloud/amazon-vpc-elb-nat/

ルートテーブル

VPCに対して割り当てるルーティング情報。一つのサブネットにつき1つまで。

AWSコンポーネント

Amazon ElastiCache

Elastic IP

静的なIPでインスタンスにひもづけることができる。起動していないインスタンスにEIPを確保しておくと課金対象。ここを見るとPrivate IPとの紐づけも見られる。 一応使わないでも再起動しなければ起動時に動的に割り当てられたpublic IPでアクセスできる。PublicIPの自動割り当て機能は起動時のみ利用出来る為、起動後に付与したくなった場合にはEIPを利用する必要がある。

ELB

Elastic Load Balancing

オートスケール

負荷状況に合わせて増やしたり、一定数以上の稼働を保証させることができる仕組み

インスタンスストレージ

物理ディスク。再起動では大丈夫だが、停止で失われる。利用シーンがあまり思いつかないが、スワップならOKかと

S3

OSから直接マウントするのがEBSに対し、S3はウェブから見ることができるなど共有用途向け。各種言語に対応したライブラリがあるので、プログラムから使うのもそれほど難しくはない。信頼性も高いし、ミラーリングもできるのでバックアップストレージとして使うのが良かろう。バケットという単位で管理するが、ドメインが割り当てられるので規則もドメインルールにのっとる必要がある。

RDS

リレーショナルDB専用のインスタンス。起動・停止ができないので課金を節約したい場合は不向きだが、ワンクリックでDB構築ができるので便利。

Route53

AWS提供のDNSサーバー。稼働率100%保障でダウンしたらサービスクレジットがもらえる。ALIASレコードというものが独自仕様で外向けにはCNAMEと同様に映る

SES

メールサーバー。自前で立てるよりも良い。APIを利用して送信

Security Group

仮想ファイヤーウォール。インスタンスに対して紐づける。デフォルトはノーガードだが、制限する場合は、プライベートだろうと設定しないとだめ。

EC2

サーバーインスタンス

ライフサイクル

起動、停止、terminateは削除なので間違わないように

EBS

Elastic Block Storeの略。スナップショット機能など多彩な機能がある。

AMI

マシンのOSイメージのこと。マイクロインスタンスであれば、RHELもWindowsも無料の枠内に収まるとのこと。「free tier eligible」とあればマイクロインスタンスとの組み合わせで無料。自分でAMIを作ることが可能で、実用上はベースのAMIをカスタマイズしてベースを作る。仮想マシンの方式がhvmとparavirtualがあるが、今後の主流はhvmであるのでhvmベースで作成すべし!

S3

ストレージ。自由に増やせるしバージョン管理でもできるし。古くなったらGlaceirという保存領域に移動するルールも設定できる。

自動構築

下にいくほど自由度が高い=難易度も高い。chefというインフラ自動化の仕組みをベースにしている。

JSON形式で構築作業を自動化できる。AWS-CLIよりはハードルが低そう。

インスタンスの作成からログインまで

インスタンスはマイクロ、その他はデフォルトで進める。秘密鍵のペアはpemファイルとなるが、puttygenでインポートしてからputty形式のファイルにして、ec2-userでログイン成功

インスタンスの作成手順詳細

  1. AMIを選ぶ
  2. 6. Configure Security GroupでSGを指定する

インスタンスタイプ

名称備考
t1,t2CPUがバースト可能。しかし低コストなので常時CPUが必要ならC1,C2を
c1,c2CPUに重点を置いたタイプ。
r3データベース向け

インフラ構築方法

AWS Elastic Beanstalk

http://www.slideshare.net/shimy_net/aws-elastic-beanstalk-23314834

構成案

Wordpressを分散するのはwp-contentディレクトリをNFSにするかrsyncしないとダメ。

クラウドデザインパターン

http://aws.clouddesignpattern.org/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8

アクセスライブラリ

  1. JCould(AWSに限らず、OpenStackなども)

メンテナンス記録(とある現場)

  1. 3/3 インスタンス障害で再起動
  2. 5/5 再起動(5/16まで猶予あり)

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS