2014年からはじめるAWSリンク集

ガチのAWSド素人が年末に調べまくった、AWS関連のリンク集です。

まだまだ調査中なので随時追加する予定ですが、広深くてキリがないのと、年始一発目の目覚ましエントリということでいってしまいます!



はじめた目的

多数のスタートアップにおいて、インフラ専門のエンジニアが付かなくても、小~中規模程度まではそのチームでインフラ面を完結できるようにしたい。

…ということで、今の時代に合わせて簡単・安価・拡張性・耐障害性…を満たす環境を考えるべく、ひたすら知識をかき集めることにしました。考えた構成などについては別途書きたいと思います。

また、遡って調べるほどに出来と進化速度に感心するとともに、情報消費期限がせいぜい2年だと感じ、ほぼ2年以内の情報をもってこのような臭ぇタイトルにしています。


目次

  • ドキュメント
  • アーキテクチャ
  • クラウド全般比較
  • クラウド性能比較
  • 費用/スペック
  • ネットワーク
  • 基本インスタンス
  • DB / KVS
  • ストレージ
  • CDN
  • DNS
  • キュー管理
  • アプリケーション管理
  • BigData
  • 運用
  • まとめ系
  • その他に必要な知識


  • ドキュメント

    実際に構築するとなると、やはり公式の情報や、英語ドキュメントが必須になります。

  • ドキュメント | アマゾン ウェブ サービス(AWS 日本語)
  • AWS クラウドサービス活用資料集

  • 作成用

  • AWS Simple Icons


  • アーキテクチャ

    基本パターンや他社例はありがたや~です。

  • WebサービスStartUP向け AWSスケーラブルな構成例
  • 「クラウドデザインパターン」をAmazonが公開。システム冗長化、突発的トラフィック対応、動的コンテンツ処理など45種類 - Publickey
  • AWS-CloudDesignPattern
  • AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む) | Developers.IO
  • モバイルゲームにおけるAWSの泥臭い使い方
  • 導入事例: クックパッド株式会社 | アマゾン ウェブ サービス(AWS 日本語)
  • 料理を楽しくする画像配信システム
  • Crocos を支える技術 :: Crocos Engineering Blog


  • クラウド全般比較

    要件さえ満たせばいいので、もちろんAWSに固執しているわけではありません。

  • クラウド比較 l 次世代IT/クラウド・コンピューティング総合情報
  • クラウドプラットホーム全調査: AWSがダントツ, Windows Azureが最近は健闘 | TechCrunch Japan


  • クラウド性能比較

    ツチノコがうじゃうじゃ。

  • 【比較対象増やしました】パブリッククラウド価格性能比比較 | ツチノコブログ
  • パブリッククラウドネットワークパフォーマンス比較 | ツチノコブログ
  • パブリッククラウド回線速度ランキング | ツチノコブログ
  • 【AWSのプロビジョンドIOPS追記】パブリッククラウドIOPS比較【ボニプラ編】 | ツチノコブログ
  • パブリッククラウドIOPS比較 | ツチノコブログ
  • EC2で同じECUだけどCPUは違う – まめ畑


  • 費用/スペック

    機能や性能よりも、まずはカネです。

    概要

  • AWSの課金体系
  • [AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
  • 15分でわかるAWSクラウドで コスト削減できる理由
  • AWS費用試算例 – さよならインターネット

  • 公式

  • VPC+VPN
  • Elastic Load Balancing
  • EC2
  • RDS
  • ElastiCache
  • CloudFront
  • S3

  • 費用計算

  • Amazon Web Services Simple Monthly Calculator
  • AWS Simple Monthly Calculator 操作説明書


  • ネットワーク

    ややこしくも重要なポイントなので慣れるまでの辛抱です。

    VPC

  • [AWSマイスターシリーズ] Amazon Virtual Private Cloud (VPC)
  • [AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect
  • Amazon Virtual Private Cloud ユーザーガイド
  • Amazon Web Services ブログ: 【AWS発表】Amazon Virtual Private CloudでVPCピアリング (VPC間接続)が可能に
  • Amazon VPCを使ったミニマム構成のサーバ環境を構築する | Developers.IO
  • はじめてのAmazon VPC : アシアルブログ
  • はじめてのAWS、“つまずきポイント”はココだ! – [4]VPCのつまずきポイント、設定したはずが通信不能に:ITpro
  • クックパッドでのVPC移行について
  • VPCでアベイラビリティゾーン越しにプライベートIPを共有する(Source/Descチェック外し) – c9日記 -カタヤマンがプログラマチックに今日もコードアシスト
  • ELBからVPC内のインスタンスへアクセスさせる。 – funasaki memo

  • VPN(to Gateway)
  • はじめてのAmazon VPC – 1. ルーターからVPCへVPN接続する – 元RX-7乗りの適当な日々
  • suz-lab – blog: “Openswan on EC2″で”VPC”と”VPN Connection”

  • VPN(VPC間)
  • Connecting Multiple VPCs with EC2 Instances (IPSec) : Articles & Tutorials : Amazon Web Services
  • Openswan on EC2でVPCとVPN Connection
  • 複数のAmazon VPCのプライベートネットワークをOpenswanを使って接続する | Developers.IO
  • 複数のAmazon VPCのプライベートネットワークをOpenVPNを使って接続する | Developers.IO
  • 複数のVPCをVPN接続してみる – サーバーワークス エンジニアブログ
  • Creating a repeatable, dynamic site to site VPN with OpenSwan on Ubuntu 10.04 from Amazon EC2

  • NAT
  • NAT インスタンス – Amazon Virtual Private Cloud
  • Amazon VPCトレーニング-NATインスタンスの作成方法
  • はじめてのAmazon VPC – 2. 外部インターネットと接続する(NATインスタンスを使う) – 元RX-7乗りの適当な日々
  • Amazon VPCでELBとNATを使ってよりセキュアな環境を作る【5日目】 | Developers.IO

  • NAT(HA構成)
  • High Availability for Amazon VPC NAT Instances: An Example : Articles & Tutorials : Amazon Web Services
  • High Availability for Amazon VPC NAT Instanceを調べてみた。 – サーバーワークス エンジニアブログ
  • NATインスタンスを冗長構成にしてみた – log4moto

  • Route
  • ルートテーブル – Amazon Virtual Private Cloud

  • ELB

  • [AWSマイスターシリーズ]Amazon Elastic Load Balancing (ELB)
  • AWS ELBの社内向け構成ガイドを公開してみる 負荷分散編 ? Cross-Zone Routingを踏まえて | Developers.IO
  • Amazon ELBをうまくつかうには、KeepAliveを有効にしよう。Timeoutは60秒よりだいぶ長くしよう。その背景。 | debiancdn
  • ELBのCross-Zone Load Balancingを試してみる – okochangのインフラ日誌
  • Enable or Disable Cross-Zone Load Balancing for Your Load Balancer – Elastic Load Balancing

  • Internal
  • AWS勉強会 at cookpadで話しました – まめ畑


  • 基本インスタンス

    ジャブジャブ湯水の如く増やせるだけに財布の紐の引き締めどころ。

    EC2

    スペック
  • Amazon EC2 で M1,C1 インスタンスを使ってる人は今すぐ C3 を使い始めよう – yoshidashingo
  • 【AWS発表】 間もなく登場! SSDによる高性能なI/Oを提供するI2インスタンスタイプ

  • EBS
  • [AWSマイスターシリーズ] Elastic Block Store(EBS)
  • 4,000IOPS EBSのベンチをとってみた – まめ畑

  • 動的アドレス
  • EC2インスタンスのIPアドレスを自動でローカルDNSに登録する – dnsmasqかhostsファイルを使うよ
  • EC2で"DNS Name (IP Address)"が変化するタイミング
  • EC2 – 動的プライベートIPアドレスをどうにかする | code up

  • Metadata
  • Amazon EC2インスタンスの自身のMetadataを簡単に取得する | Developers.IO


  • DB / KVS

    まず迫られるはEC2上での構築との選択也。

    RDS

  • Amazon RDS for MySQL (MySQLのためのマネージドリレーショナルデータベース) | アマゾン ウェブ サービス(AWS 日本語)
  • Amazon RDS よくある質問(リレーショナルデータベースサービス Amazon Relational Database Service)
  • AmazonRDSでslow queryを出力するようにする方法
  • EC2・オンプレ環境のMySQLからRDSのマイグレーションがやりやすくなった – まめ畑
  • 【AWS】RDS入門/イベントをメールで通知してみよう | Developers.IO
  • MySQL5.5 と MySQL5.6 と RDS – まめ畑
  • 【AWS発表】 Amazon RDS for MySQLがクロスリージョン・リードレプリカを作成可能に

  • Provisioned IOPS
  • Working with Provisioned IOPS Storage – Amazon Relational Database Service
  • Provisioned IOPSの検討 – JPOUG Advent Calendar 2012 – SH2の日記
  • RDS: Provisioned IOPS (PIOPS)の性能について覚書き – aws memo
  • Benchmark: RDS with Provisioned IOPS | Celingest Blog ? Feel the Cloud

  • ベンチマーク
  • RDSがMySQL5.6対応したのでベンチマークをとってみた – まめ畑
  • mysqlslapを使ってRDSのMySQLについて各クラスのパフォーマンス測定 | Developers.IO
  • DSAS開発者の部屋:AWS RDS の書き込み性能チューニング

  • 文字コード
  • 日本人ならRDSを使う際にかならずやらなければならないこと – リア充爆発日記
  • RDS MySQL5.5.33 で『utf8mb4』(4バイト対応UTF-8文字コードセット)を試してみた | Developers.IO
  • Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX – リア充爆発日記
  • mysql – Rails creating schema_migrations – Mysql2::Error: Specified key was too long – Stack Overflow
  • Rails – ActiveRecordをutf8mb4で動かす – Qiita [キータ]

  • 運用
  • Amazon RDSによるレプリケーションについて理解する | Developers.IO
  • Amazon RDSのフェールオーバーを試してみたが – OpenGroove
  • Amazon RDSでリードレプリカの評価をしてみた – OpenGroove
  • しつこくAmazon RDSのテストしてみた ? Multi-AZ & Read Replica – OpenGroove

  • DynamoDB

  • [AWSマイスターシリーズ] Amazon DynamoDB
  • Amazon DynamoDBの概要説明
  • DynamoDB の基礎知識とまとめ – Qiita [キータ]
  • DynamoDB 入門編 – サーバーワークス エンジニアブログ
  • AmazonのDynamoの論文を読んでみた(1/3) – 工場長のブログ
  • DynamoDBのメモ書き+使ってみた雑感 – アルパカDiary

  • ElastiCache

  • [AWSマイスターシリーズ] Amazon ElastiCache
  • Amazon Web Services ブログ: 【AWS発表】 Amazon ElastiCacheでRedisを利用可能に!
  • Amazon Web Services ブログ: 【AWS発表】Amazon ElastiCacheがRedis 2.8.6をサポート
  • Amazon ElastiCache よくあるご質問
  • ElastiCache for Redisの新機能をためしてみた | クックパッド開発者ブログ
  • ベンチマーク
  • ElastiCache Redis Engineのベンチマークともろもろ – まめ畑

  • レプリケーション(Read Replica)
  • Replication Groups and Read Replicas – Amazon ElastiCache
  • Amazone ElastiCache for Redisでレプリケーション – OpenGroove
  • インフラ備忘録: Redis on ElastiCache を試しています

  • 運用
  • Redis on EC2


  • ストレージ

    個人的に最も感心しちゃうサービス。

    S3

  • [AWSマイスターシリーズ]Amazon Simple Storage Service (S3)
  • Amazon S3による静的Webサイトホスティング
  • [AWS] ブラウザからダイレクトで S3 に画像をアップロードする | Developers.IO
  • サイトを Amazon S3 に移行しました – WebOS Goodies
  • Amazon S3のパフォーマンスをあげるコツ
  • code.rock: S3のバケット名はよく考えて命名しましょう!
  • AWS S3 のバケットに独自ドメインを割り当てて、静的ファイルをホスティング | Gatespace's Blog

  • Glacier

  • AWSマイスターシリーズReloaded -Amazon Glacier-
  • Amazon Web Services ブログ: 【AWS発表】Amazon S3がさらに便利に! データをAmazon Glacierに自動アーカイブできるオプションが追加!
  • 1GB/1円 衝撃のAmazon Glacierを早速使ってみた – ku-sukeのブログ
  • 1GB/1円のAmazon Glacierを個人でも活用する方法 – ku-sukeのブログ


  • CDN

    金銭面も大事だけど、工夫好きにはたまらない。

    CloudFront

  • [AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
  • JAWS-UG函館 S3とCloudFrontを利用してWebサイトの性能向上
  • Amazon CloudFrontの使用上の注意とTipsまとめ|Media Technology Labs (MTL) : メディアテクノロジーラボ


  • DNS

    こういうの見るとDNSも完全な自前で作ってみたくなる。

    Route53

  • [AWSマイスターシリーズ] Amazon Route53
  • Amazon Web Services ブログ: 【AWS発表】Route53にDNSフェイルオーバー機能が追加。S3のウェブホスティング機能と連携したバックアップサイトを作成可能に。
  • DNSもクラウド化! Amazon Route 53を導入してみたよ。 | aquadrops *


  • キュー管理

    SQS

  • AWSマイスターシリーズ~SQS, SNS, SimpleDB~
  • code.rock: Amazon SQSの使いどころ 実際編
  • Amazon Simple Queue Service(SQS)の使い方 – プログラマになりたい
  • マイナー三兄弟なAmazon SNS,SQS,SESを激しくお勧めする。 – プログラマになりたい
  • Amazon SQSを使ってみた① | Septeni Engineers’ Blog | セプテーニ エンジニアブログ
  • Amazon SQSを使ってみた② | Septeni Engineers’ Blog | セプテーニ エンジニアブログ


  • アプリケーション管理

    今回はOpsWorks一択。まだ色々連携不足だけど、簡易化を十分に満たしてくれる。

    デプロイ全般

  • AWS上でのWebアプリケーションデプロイ

  • Elastic Beanstalk

  • [AWSマイスターシリーズ] AWS Elastic Beanstalk
  • 2秒で設定! AWS Elastic Beanstalk によるオートスケールアウトなサーバー構築 | DX.univ
  • 【AWS発表】 AWS Elastic Beanstalkでバックグラウンドタスクの処理が可能に

  • CloudFormation

  • [AWSマイスターシリーズ] AWS CloudFormation

  • OpsWorks

  • AWS OpsWorksのご紹介
  • [AWSマイスターシリーズ] AWS OpsWorks
  • AWS OpsWorksを使ってみた (概要編) – Tech-Sketch
  • AWS OpsWorksを使ってみた (技術編) – Tech-Sketch
  • AWS OpsWorksアプリケーション運用の勘所(1):AWS OpsWorksって何? から、運用しやすくなる下準備のポイントまで (1/5) – @IT
  • OpsWorks | ナレコムAWSレシピ
  • OpsWorksでRailsアプリからAmazon RDSなどの外部DBを利用する方法 – よかろうもん!
  • OpsWorksでRailsをデプロイする際にasset:precompileを実施する方法 – よかろうもん!
  • AWS OpsWorks のLayerをカスタマイズしてLAMP All in Oneサーバーを起動してみる – bathtimefish's blog
  • AWS OpsWorksでセットアップが終わらない – メンチカツ

  • Chef
  • aws/opsworks-cookbooks
  • Customizing AWS OpsWorks – AWS OpsWorks
  • Extending AWS OpsWorks Configuration Files Using Custom Templates – AWS OpsWorks
  • AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013
  • Introduction to AWS OpsWorks – Artsy Engineering
  • chef – AWS OpsWorks(?)のCustom Cookbooksレシピ開発役立ちメモ – Qiita [キータ]

  • AMI
  • Using Custom AMIs – AWS OpsWorks

  • CLI
  • Appendix B: Instance Agent CLI – AWS OpsWorks


  • BigData

    今回の要件とは少し離れてるけど、黄象好きとしてチェック。

    Elastic MapReduce

  • [AWSマイスターシリーズ] Amazon Elastic MapReduce (EMR)
  • 【AWS発表】 Amazon EMRでImpalaを使って大規模データを分析可能に

  • Kinesis

  • Amazon Web Services ブログ: 【AWS発表】 Amazon Kinesis ? ストリームデータのリアルタイム処理

  • Redshift

  • [AWSマイスターシリーズ] Amazon Redshift
  • WEB+DB vol.78 がオススメ


  • 運用

    面倒臭ぇこの辺をいかに簡略化するかが腕の見せどころ。

  • AWS運用。1ヶ月経ってからのTips箇条書き – ゆーすけべー日記
  • コスト削減から考えるAWSの効果的な利用方法
  • AWS(Amazon Web Services)ユーザが犯す間違いのトップテン | TechCrunch Japan
  • Amazon EC2 を立ち上げてみて まず最初にしたこと – bluepapa32’s Java Blog
  • #jawsdays の #最強のAWS で「ぜんぶ AWS でやらないワケ」という話をしてきた – TAKUMI SAKAMOTO’S BLOG

  • 使い方

  • わずか5分!? AWSのEC2でクラウドなウェブサーバーを構築してみた | 株式会社LIG
  • Amazon Web Services入門 (全17回) – プログラミングならドットインストール
  • 【AWS】CloudWatch入門/使っていないEC2を自動シャットダウンしよう | Developers.IO

  • セキュリティ

  • AWSにおけるセキュリティとコンプライアンスのベストプラクティスを読んでみた | Developers.IO
  • AWSのセキュリティが気になるなら読んでおくべきAWSセキュリティのベストプラクティス – yoshidashingo

  • 監視/オートスケール

  • [AWSマイスターシリーズ]Amazon CloudWatch & Auto Scaling
  • 【AWS】CloudWatch入門/EC2のステータスチェックを行ってみよう | Developers.IO

  • Immutable Infrastructure

  • Immutable Infrastracture について – apatheia.info
  • AWS re:Invent と Immutable Infrastructure – 昼メシ物語

  • CLI

  • AWS コマンドラインインターフェイス | アマゾン ウェブ サービス(AWS 日本語)
  • Amazon Web Services ブログ: 【AWS発表】 新しいAWS コマンドラインインターフェース (CLI) が正式リリース

  • Network

  • AWS Tokyo Regionのネットワークを調べてみた。 – めもおきば
  • Amazon EC2 を使った無限IPアドレスの作り方 – ぼくはまちちゃん!(Hatena)

  • 上限値

  • AWSサービスの各種上限値一覧 | Developers.IO


  • まとめ系

    意外とAWSのまとめって少ないようで。

  • Developers.IO:サービス・テーマ別 全AWS関連エントリまとめ | Developers.IO
  • Amazon EC2/S3を使ってみた – まとめ (Amazon Web Services関連エントリ目次) – 元RX-7乗りの適当な日々


  • その他に必要な知識

    そもそものWEBアプリケーションを構成するRailsやMySQL等はなんか違うので抜き。

  • Chef
  • Git
  • Ganglia / Cacti
  • Zabbix / Nagios
  • VPN (IPsec / OpenVPN)



  • AWSトレーニングなる講習 とか AWS運用代行業 が存在するだけあって、イメージした構成の動作確認に辿り着くまで結構な時間を要しました。
    正直、膨大だし難しいじゃねぇか!と思いましたが、後で見渡してみると、”簡単”なんて謳い文句はどこにも無いみたいですね!

    インフラ環境の選択肢としてAWSは正着の1つといってよいと思いますが、情報量を見てわかる通り、それなりの修得時間を要するので、はじめるにしてもちゃんとリソースの確保と覚悟をもってとりかかるようにしましょう。