「AWSome day tokyo」に参加してきました

オープニングセッション~はじめての AWS

  • 石𣘺 達司さん

クラウドとは

  • 初期投資不要ハード買う必要なし
  • 固定資産を持つリスクが減る
  • リソースを事前に確定する必要がない
    • 使った分だけ課金
  • 使わなくなった時にすぐに廃棄できる

ポイント

  • ビジネスの俊敏性
  • コスト削減
  • 運用負荷軽減

まとめ

  • 今までできたことをより早く簡単に安く実現
  • 今までできなかったことが実現できる

セッション1: AWS のインフラストラクチャ

  • 大場 崇令さん

EC2

特徴

使い方

AMI

  • OSのテンプレート
  • 起動許可
  • AWSが提供するものだけでなくベンダーが出してるAMIもある

インスタンス

  • 起動時にインスタンスにユーザデータを渡すことができる
    • 初回起動時に一回だけ実行される
    • linuxならshellとかが動く
  • 再起動するとパブリックIPは毎回変わる
    • 変えたくないならElasticIPを使う
  • 全てAPIがあるからコンソールからやらなくてもできる

ディスク

  • インスタンスが使うディスク
    • インスタンスストア
      • ハイパーバイザーに入ってる
      • 高速
      • インスタンスを停止すると中身が消えてしまう
      • 古くからある機能
    • EBS
      • こっちが今のスタンダード
      • ネットワーク経由で接続するストレージ
      • だけど速い
      • ネットワークでつながってることを意識する必要ない
      • 永続化される
  • どちらを使うかはAMIで決まってるからAMIを選ぶ時にどっちになってるか確認

EBS

  • アベイラビリティゾーンに対するディスク(ボリューム)
  • ボリュームは暗号化される
    • EC2との通信も暗号化
  • スナップショット機能でバックアップをとれる
  • スナップショットをS3に保存してバックアップとか
  • 課金はEC2とは別枠
    • 確保した容量に対して発生

セキュリティグループ

  • ファイアウォール機能
  • EC2に対するアクセスの制御
  • デフォルトでは全てのin拒否全てのout許可
  • リクエストに対する指定をすればレスポンスに対するしてをする必要ない

key pair

メタデータ

セッション2: AWS のセキュリティ、アイデンティティ、およびアクセス管理

  • 大村 幸敬さん

S3

S3がなぜ必要化

  • ストレージがないと・・
    • 例えばファイルをアップロード
    • APサーバ冗長化してたとして、どこかのサーバがファイルを持つと他のサーバから見えない
    • NFS使うと可用性パフォーマンスがネック
    • そこでS3
  • http通信でS3とやりとりする

S3の仕組み

  • データ(オブジェクト)をバケットに保存する
  • アクセス制御
  • オブジェクトにキーをつけて取り出せるようにする

バージョニング

  • 過去の全ての変更を保持しておくような設定もできる

AWS Glacier

  • S3よりもっと安くできる
  • ただし取り出しに時間がかかる(3〜5時間)
  • S3 IAというのが中間のもの

ネットワーキング

  • VPC
    • プライベート仮想ネットワーク
    • オンプレのような
    • VPCの中にサブネットを作る
    • パブリックサブネットとプライベートサブネット

セキュリティ

  • IAMポリシーは付箋
    • 何が出来て何が出来ないか書いてある
  • IAMロールはヘルメット
    • ヘルメットに付箋をはる
    • ヘルメットをかぶるともとの権限は忘れて上書きされる
    • IAMユーザにもAWSリソース(EC2とか)にもかぶせられる
    • これを使うことでソースにアクセスキーを持たせることが不要になる
    • 他のユーザからもアクセスできるようになる
  • AWS STS
  • 一時認証ができる

セッション3: AWS のデータベース

  • 大村 幸敬さん

SQLDBとNoSQLDB

いろいろなストレージ

  • RDS/DynamoDB/Redshift/ElastiCache
  • それぞれ役割に適した使い方をしないと問題がおきる
    • Redshiftはデータウェアハウスで列単位で処理
    • RDSのようなRDBMSは行単位で処理

RDS

  • 自動バックアップとか便利
  • リカバリはデータを入れ直すのではなく新しいインスタンスを作る
  • 古いよく分からないものを入れ直すより毎回きれいにして作り直したほうが安全
  • 停止という考え方がない作成か削除だけ
  • フェールオーバした時にアプリから見たアクセス先は変わらない(名前解決の先が変わるだけ)
Aurora

DynamoDB

  • 高速、容量に制限なし
  • ユーザが指定するスループットが出るように自動でスケール
  • AWSAPIを使ってアクセス

セッション4: AWS の伸縮性と管理ツール

  • 大場 崇令さん

オンプレとAWS

  • オンプレではピークに合わせてリソースを確保
    • 使われてない部分たくさん
    • そこでauto scaling

スケール

  • ELBで負荷分散
  • CloudWatchで監視
  • AutoScalingでELB配下のEC2インスタンスをスケール

オートスケールの方法

起動設定

  • 自動で起動されるときの設定をしておく

オートスケーリンググループ

  • オートスケーリンググループを作る
    • 最小最大サイズ

スケーリングポリシー

  • CloudWatchと連携
  • モニタリング情報をもとにスケールさせる
  • CPU使用率とか
  • スケールインするときはインスタンスが削除される

スケーリングプラン

  • 最小最大全て同じサイズ
  • スケジューリングしてスケール
    • 予想される負荷に対応
  • スケーリングポリシーに基づくスケール
    • 予測できない負荷に対応

ELB

特徴

構成

  • ALB
    • 新しい
    • L7レベル
    • パスベースで分散可
      • ターゲットグループを予め作っておく
    • ポートが異なっても分散可
  • CLB

CloudWatch

  • 基盤レベルからモニタリング
  • OSからしか取得できないような情報の監視は苦手
  • グラフで可視化
  • アラームの設定
    • 監視の状況に応じて処理を実行

CloudWatchLogs

  • EC2内で出たログを渡すようにする
  • CloudWatchのログを別の監視ソフトに送ることもできる

AWS Trusted Adviser

  • 利用状況や使い方をもとにアドバイスをくれる