JAWS FESTA2018 #2

#jawsug #jft2018 #jft2018_b

サーバ1台!なるべく安く簡単に!旧AWSエヴァンジェリストのWORDPRESS運用術

https://speakerdeck.com/horiuchi/saba1tai-narubekuan-kujian-dan-ni-jiu-awsebanzierisutofalsewordpressyun-yong-shu

堀内康弘さんのセッション

現在はモビンギ(AWSコスト可視化など)さん、AWSの認定講師も。

運用しているブログ

月間15万PV!

https://www.hori-uchi.com/

初期

  • EC2+EBS
  • EIP
  • Route53

運用方針

  • コストはかけない、自動復旧はのぞましいが、気付ければ良い
  • パフォーマンスよりコスト重視
  • セキュリティもコストに響かない範囲

AWS Well-Architected フレームワークを利用して改善!
→AWS環境がベストプラクティに沿っているかを検証できる

現在

  • EC2 t2→t3.micro
  • S3バケット
  • CloudFront 3つ
  • AWS Lambda 3つの関数
  • CloudWatch
  • SNS
  • Rout53

必要な情報をモニタリングできるように準備する

  • CloudWatchメトリクス、カスタムメトリクス(CloudWatchAgent)
  • CloudWatchLogsの活用→CloudWatchLogsAgentをつかう

注目するメトリクス

  • CPU CreditBalance
    →t2, t3系はなくなるとベースラインまで性能が落ちるのでアラートで気づかせる
  • CPU Utilization
    →60%超えたらアラート
  • 不正アクセス監視(CloudWatchLogsから)
    →アクセスログから時間単位のアクセス数が極端に増えたらアラート

セキュリティ

  • AWSリソースへのアクセス
    • Rootユーザの代わりにIAMユーザを活用
    • MFA(多要素認証)
  • EC2への接続にはSGで自分のIPアドレス以外をガード
    • 自分の端末からAWS CLIで書き換えるスクリプトを活用
  • SSL接続
    • ACM
  • S3バケットへはCloudFront経由
    • OAIを設定する (S3バケットポリシー)
  • EC2の80番ポートへのアクセスもCloudFrotnのみに制限
    • CloudFrontが使用するIPを自動的にSecurityGroup(SG)に設定
    • 定義は50個までなので50個を超えたらSGを増やす
  • 悪意あるアクセスはネットワークACL(NACL)でブロック
    • SGは許可のみ。NACLは拒否できるのでそこで設定。

信頼性

  • Auto Recovery
    • EC2のステータスが悪くなったら自動再起動(STOP→START)するように設定
  • EBSの自動スナップショット
    • 古いスナップショットを定期的に削除する
    • 差分スナップなので取ればとっただけお金がかかるわけではない
  • 障害時の自動フェールオーバー
    • DNS Failoverを利用し、Sorryサーバに繋げる

パフォーマンス効率

  • EC2 t2→t3 性能上がってコスト下がる!
  • メディアファイル(静的ファイル)はS3から直接配信
    • WP Offload S3 を使用
    • 画像最適化
  • キャッシュコントロールヘッダ
  • 全てのコンテンツをCloudFront経由で配信

コスト最適化

  • RI(リザーブドインスタンス)
  • バケットログはログ用の1つのバケットに いろいろやってる

AWSは楽しい!