• AWSを使うに当たって基礎知識まとめ

料金概算

要注意

  • 転送量がかさむもの
  • 課金APIが1コールで0.01ドルと詐欺的!
  • 最低課金単位が時間のもの(Redis,ELB)

実測値

ECS *1 + ALB 2H0.06ドル
ECS *1 + タスク定義書き換えで数タスクを二回ほど0.01ドルなので安いもんだ
AWS to 外部ネットワーク1G 0.1ドル
S3保存料金1G 0.1ドル
S3 5G取り出し0.1*5 = $0.5
Elasticache Redis2台構成で1時間単位なので最低2時間で0.05ドル
サーバー移行往復0.4$
RDS Aurora最小構成データインポートでIOPS利用の$0.36

無料枠について

申し込み月の1年後の月末まで有効。

AWS 2015zag使っていないので2017/04に削除だが、翌日新しいアカウントをnifty.ne.jpで作成しようとしたら重複と言われた
AWS 2016gmailほぼ日本道路情報のブログだがあまり使ってない。S3移行しだい削除予定
AWS 2017mb.infoweb.ne.jp2017はこれ!
AWS 2018mb.infoweb.ne.jp2017はこれ!

無料枠経過後の作業

CloudFrontがCnameが共有しずらいので別のCNAMEを用意してそちらへ移行させる。 S3はbackup/AnsibleのチェックでOK wikiがうまくいかなかったが、理由は「Forwarded Query String」がなかったため。

無料枠経過後の従量課金状況

  • S3のbackupは週二回に減らした。
  • CloudFrontは従来通り
  • その他は使わない

上記で$2.5程度、うちCloudFrontが8割でこれを除去すればよいな。

無料枠終了後も一定量は無料となるサービス

  • DynamoDB
  • Lambda
  • SQS
  • SNS
  • CodeCommit

無料枠を辞めた時の概算

  • CloudFront 5GBで0.7$
  • S3で5GBで0.125$

月1$程度なら継続するか(移行するのがめんどい)

構成要素

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

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
yum updateでも日本時間のままにする/etc/sysconfig/clockを編集しZONE="Asia/Tokyo"UTC=False
インスタンスメタデータの取得 instance_idhttp://169.254.169.254/latest/meta-data/instance-id
インスタンスメタデータの取得 ipv4http://169.254.169.254/latest/meta-data/public-ipv4
インスタンスメタデータを変数に格納instanceid=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`

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

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

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

SWAPの作成

  • swapが有効か否かを確認する
swapon -s

ファイルで作成

sudo dd if=/dev/zero of=/swap bs=1M count=512
sudo mkswap /swap
sudo chmod 0600 /swap
sudo swapon /swap

http://qiita.com/na0AaooQ/items/278a11ed905995bd16af

  • 恒久的にswapファイルを設定するには/etc/fstabに追加
sudo echo "/swap         swap          swap    default     0 0" >> /etc/fstab

ボリュームの拡張(2017/02からオンラインでできるようになった!)

基本的にはAWS公式を参照せよ。AMIが作成できるのであれば、いったんAMIを作成しておき、起動時に容量を増やしておくのが良い。

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

resize2fs /dev/xvde1

インスタンスタイプの変更

  1. 停止
  2. インスタンスタイプの変更
  3. 起動

後からインスタンスストレージを追加

  1. curl http://169.254.169.254/latest/meta-data/block-device-mapping/ 現状確認
  2. AMI作成
  3. 起動時に指定

AWSコンポーネント

AWS CloudWatch?

Amazon ElastiCache

  • MemcacheやRedisなどのオンメモリKVSが用意されている。

redis-cliをつかって操作してみる。

インスタンスストレージ

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

RDS

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

Route53

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

Kinesis

データストリーミング。現在無料枠はなく、シャードと呼ばれる最小処理単位の稼働時間で課金される。 秒間1M程度捌ける最小構成で月間14ドルほどなので結構かかるな。ElasticSearchServiceに簡単に流し込むことができ同時にS3バックアップも実行できる。

プロデューサーとコンシューマー

SQSと同じようにデータを投入するプロデューサーとそのデータを処理するコンシューマーの作成が必要。 ElasticSearchServiceだと直接投入できるが、それ以外の場合は厳しいかもしれん

Security Group

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

CloudFront

CNDキャッシュサーバー。立ち上がりに時間がかかる!

IAMユーザーの作成

rootアカウントは何でもできてしまうので、IAMユーザーの作成を推奨。

自動構築

下にいくほど自由度が高い=難易度も高い。

  • Elastic Beanstalk

デプロイとそれにまつわるリソース管理の自動化。開発、本番などの環境に合わせてデプロイ方式の設定ができたり、AutoScaleの設定をしてくれたりする。ELB,EC2,SGの設定などを個別にやるよりは楽なんじゃないだろうか!

  • OpsWorks

Chefを利用した自動構築。

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

インフラ構築方法

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なども)

DNAT

  • Destination NATの略。ポートが開けられない場合に80などを利用して、1521,3306,8080などに接続する。HTTPならProxy使えばいいのでDBやSSHなどに利用する。
# Generated by iptables-save v1.4.18 on Thu Sep  3 10:21:16 2015
*filter
:INPUT ACCEPT [2107:162972]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1547:336490]
COMMIT
# Completed on Thu Sep  3 10:21:16 2015
# Generated by iptables-save v1.4.18 on Thu Sep  3 10:21:16 2015
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 受け側ポート -j DNAT --to-destination  NAT先PrivateIP:NAT先ポート
-A POSTROUTING -j MASQUERADE
COMMIT

# Completed on Thu Sep 3 10:21:16 2015

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

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

beanstalk

Worker

ツール

  • yoga

EC2にCUIで接続できるようになるツール


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-11-19 (木) 20:00:34