クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

2013年12月14日
から hiruta
0件のコメント

12/13 第19回 AWS User Group – Japan 東京勉強会に参加しました

東京都品川区東品川2-2-28 タチバナビルで行われた第19回 AWS User Group – Japan 東京勉強会に参加しました。

ストレージゲートウェイVTL クラスメソッド 大瀧さん

テープドライブを仮想的に見せるサービス。ドライブは、iSCSI接続のIBM ULT3580-T5テープドライブとして認識。

Storage Gateway ボリューム型と同様、アプライアンスで一時的に保存し、非同期でS3に転送する仕組み。

S3から取り出した仮想テープは、Glacierに保存。※Glacierから復帰させるのは費用がかかる。

商用で確認取れているのは、NetBackupのみ。他のバックアップソフトでもAWS側で動作検証中とのこと。iSCSI接続なので、動作はされるとは思われる。

S3 Direct Hosting リクルート大井さん

「おしゃれ天気」アプリ(メディアテクノロジラボ)のバックエンドサーバーに当初EC2を使用していた。アクセスを集中する時間帯だけオートスケールでサーバー増設で対応。

S3で配信できないかの話

S3のコストの大半は『転送料』

S3にしても、月10円にならない。ただ、オートスケールから解放された。

マルチAZ対応!AWS上で稼働するスケールアウトNASストレージ Red Hat Storage RedHat平さん

OSS版GlusterFSの商用版「Redhat Storage」の話。

Redhat Enterprise Linx 6上のEC2インスタンスをまとめて、1つの仮想ディスクを構築。もちろん、Multi-AZで構築もできる。

HDEメールサービス 「アーカイブサービス」 小椋さん

メインストレージ S3

検索インデックス用は、S3のI/Oは、HTTPベース単体では遅いので、Writeに並列、Readはキャッシュでカバー

全文検索エンジンは、1から開発。ここはS3は使えない。当時はDynamoDBとかなかったので、mongoDB使用したとのこと。(S3は、PUTは高価なので、解析結果を保存には使えなかった)

Amazon S3  クラウドストレージサービス Amazon Simple Storage Service    アマゾン ウェブ サービス(AWS 日本語)

過去のメールはGlacierに保存。ただし、インデックスについては、S3に保存。Glacierから取り出す場合、取り出し料金がかかることに注意。

「WindowsでS3を便利に使うCUI(GUIじゃないよ)のクライアントを3つほど紹介します。Windowsならではのコケるポイントも踏まえて。」

dgtools、s3sync,s3cmdの紹介。

dgtoolsは商用サービスでは無料試用はNG。

s3cmdは、大きいサイズのファイル転送はこける。pythonなので、一部書き換えることで、可避されること。

※windows版pythonに対応していないライブラリの箇所をコメントアウトすることで可避できる。

S3アクセスコントロール 得上さん

ACL、BucketPolicy、IAMによるS3のアクセス制限についての話。以下クラスメソッドのブログを参照したとのこと。

http://dev.classmethod.jp/cloud/aws/s3-acl-wakewakame/

2013年12月11日
から hiruta
0件のコメント

12/10 【AWS勉強会】CM re:Growth Developers.IO Meetup 01に参加しました。

東京都千代田区麹町 1-6-4 SAPジャパンビル 11F で行われた勉強会に参加しました。

EMRからCloudFormation、設計書の自動生成まで幅広く話がありました。

FB_IMG_13866746289542547

※一部加筆途中の箇所がありますが、随時更新を行います。

運用担当者からみた、AWSへシステム移行する際に気にしてほしい5つのこと

  • オンプレサーバーからAWSに移行する場合、「FFTP使えますか」「データの取得」など使い勝手が変わることが予測される。移行計画にオペトレを含めるのが重要。
  • private AMI使わない、インスタンスストレージにデータを置かない
  • 監視はミドルウェアで。(CloudWatchは2週間しかログを取得できない。)
  • 保守では、AWSサポートを薦めていました。VPNもできたら。
  • 数年後も動作していることを考慮し、「後世に知見を残す」ことが重要。wiki、テキストファイルなどなんでもいいので。

「CloudWatchの使い方」

CPU使用率は、EC2のtopコマンドは不正確。これは、EC2はあくまで仮想サーバーなので、EC2で使えるリソースが決まっているので、これらを考慮して、返してくれるCloudWatchからの情報を信用するのがよい。

「6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話」(レジュメ上は「Storage Gateway仮想テープライブラリによるバックアップ戦略」)

※Storage Gateway VTL(Virtual-Tape-Library)の話は、今週金曜日のJAWS-UG東京の勉強会(天王洲アイル)で話されるようです。

月曜日オンエアの視聴者投票のプッシュ配信基盤構築の話。案件スタートから一週間(構築が土、日、月の「3日」)

CloudFormationのテンプレートは、VPC/ELB/EIP/EC2で分割するのがよいとのこと。機能ごとに分割するなど。途中でテンプレートの処理がこけてしまうと、ロールバックされてしまう・

オートスケールの上限を超えて、作ろうとしても、上限を超えて、インスタンスを作らないでも、CloudFormationはエラーは出ず、正常終了する。

6リージョンに展開する場合も、1リージョン用のテンプレートを使い回せる(インスタンス名等リージョンで異なるところは修正は必要だが。)

CloudFormationを使うことで、サーバーを落とす際も、Stackごと一括して落とせるので、落とし忘れの心配もない。

テンプレートを使い回せたことで、短納期で構築が可能とのことでした。

CloudFormationとSerfで作る全自動インフラ

片方のNATインスタンスが障害(デモではリブート)を起こしても、serfがMember Failedを検知して、プライベートVPCからのルーティングテーブルを書き換えて、問題なく通信が行える。

NATインスタンス2個(各VPC)※Serfで監視、プライベートVPCでPINGの疎通によるデモが行っていました。

CloudFormationはむろん、Elastic beanstalk、OpsWorksを使うことで、効率よくシステムを構築できます。先日EngineYard(OpsWorksに似たサービス)の入門セミナーに参加しましたが、時代は自動化の流れと実感。

6リージョンの配信基盤を構築したマネージャから見た話?(レジュメ上は、Amazon DynamoDBによるセッション永続化とフェイルオーバー)

Cloudfrontで分散配信の検討したが、Cloudfrontはユーザの近くのサーバーから配信されるので、同じエリアのユーザが大多数を占める(東京に近いところにユーザが集中している)場合、1DCに偏って、分散されない。

※DynamoDBの話も今後お願いします。

次回は、半年後に今回のような勉強会を開催されるとのことです。

2013年12月10日
から hiruta
0件のコメント

12/9 Engine Yard入門セミナーに参加しました。

本日(12/9)、Engine Yard入門セミナーに参加しました。

内容は

  • サンプルアプリケーションのtodoのデプロイ

Environement
engineyard上で識別するもの

  • サンプルアプリケーションのtodoのデプロイ

 シングル・ステージング、プロダクション・カスタムがある

Engine Yard Cloud - Environment trial_prd of application trial

デプロイされたアプリサーバーにはSSH接続も可能。SSH秘密鍵は事前にUIから登録しておく必要があります。あとからSSH秘密鍵を登録した場合、Applyで更新する必要があります。

アプリサーバー、データベースサーバー、HAProxyが自動で作成されます。現状だと、デプロイに時間がかかります。今後、時期は未定だが、デプロイ時間が早くなるとのこと。

  • アプリサーバーを追加するデモ

※トライアル版では、USリージョンのみだが、製品版では他のリージョンも選択できる。

  • snapshotを取得し、アプリケーションのクローンを作成するデモ
  • ey commandについて

gem install engineyardでインストール

  • eyコマンドでreceipeを編集してアプリケーションを更新するデモの実施

PaaSを使うメリット
ロードバランサー、アプリサーバー、データベースを構築することは可能
構築工数はPaaSを使った方が少なくなる。その上、24/365監視もしてくれる。

価格

AWS使用料 + 20%
※smallはengineyardの方が安くなる

サポート

日中帯は日本語OK
ただし、時間外は海外対応になるで、英語の方が対応が早くなるとのこと

ロードバランサー

HAProxyを使っている ※OpsworksもHAProxy使用しています。
状態はブラウザで確認できる

Statistics Report for HAProxy
ELBも使えるが、HAProxyの方を推奨

AWS OpsWorksもあるが差別化は?

OpsWorksもChefを使っているところは同じ
サービスの度合で差別化を図っている。運用面で。

ey-local

ローカル環境vargrant + VirtualBoxで動くey-localが提供されている
※gitが別途必要
ey-localは今後変わる予定

AWSサービスへの追従

需要があれば対応は随時行う。c3等の新インスタンスなど

今後について

現状デプロイに時間がかかるが、デプロイ速度の高速化が図れる予定になっている
Opsworksに似たサービスになる
UIが変わる予定
現状rubyインタープリタとして動作しているが、rubyインストールは不要になる予定

Azureへの対応

大阪リージョンができれば、国内DRなども可能になる
AWS、Azureなどクラウドインフラを意識することなくアプリケーションに専念できる

2013年12月3日
から hiruta
CloudTrail 設定編 はコメントを受け付けていません

CloudTrail 設定編

Cloud Trailを試してみました。Cloud Trailは、AWSサービスの操作履歴をログとして記録するようにできるサービスになります。

Cloud Trailの初期設定 「S3のバケットを作成する」Cloud Trailの設定をバケットを作成すると、バケットのpermissionの設定もしてくれて楽になります。既存のバケットにする場合Edit bucket policyでポリシーを編集する必要があります。

CloudTrail Management Console

作成完了。「Offにする」ボタンでCloud Trailsのログ出力をとめることも可能です。

CloudTrail Management Console_1

S3のバケットのプロパティ(Permission)のEdit Permission policyを開くと、パーミッションの設定がされていまいることがわかります。

S3 Management Console

EC2のインスタンスをLaunchしたり、止めたりするとS3の指定したフォルダ配下にログファイルが書かれれば成功です。JSONがgz形式に圧縮されてS3に保存されます。

S3 Management Console_10

ログを出力するようにするのはこんな感じで簡単にできてしまいます。ただし、ログ自体はJSON形式なので、テキストエディタで見ることは可能ですが、ログを追うとかには向いていません。実際、ログ解析をするにはサードパーティ製の分析ツール等を使うようになります。

※なお、Cloud Trailは現在US2リージョンのみで利用することが可能です。

2013年12月3日
から hiruta
0件のコメント

Amazonの人によるre:Invent出張報告会に参加しました。

Amazonの人によるre:Invent出張報告会に参加しました。

場所:AWS目黒オフィス 16F

時間: 19:00 – 21:00

セミナーの内容、新サービスの概要を公開します。(まだ不足している内容がありますが、随時更新します。)

CloudTrail

AWSアカウントへの操作をロギングするサービス

管理コンソールではとれなかった。

管理コンソールを使っていても、S3パケットを確認する場合でも List CALLをバックグランドで行っている。
だから、S3パケットが飛ぶので、多少転送料で課金されている。微々たるものですが。
上記の場合も、Cloud Tailsで把握することが可能。

出力先はS3(ユニークなファイル名を自動的につけられる) SNS(メール)

現在ログ出力に対応しているのは以下サービス
EC2/EBS/VPC/RDS/IAM/STS ※まだまだ発展途上のサービスので、他のサービスのログにも順次対応される。S3については、すでにログを取れるようになっている。形式は違いますが。

SNSを使わないほうがいいとのこと。多量のメールが届くし、SNSの内容だけでは詳細はわからない。
(S3のファイル名が送られてくるだけ)

Cloud Tailsのログ形式は、「JSON」。そのままみるものではない。

CloudTails Partner で肩代わり

sumologic http://www.sumologic.com/
※500MBまでの処理は無料で使用できます。

Stackdriver  http://www.stackdriver.com/

※計10リソースまでは無料で使用できる。

Amazon Workspaces

エンドユーザコンピューティングが変化

ワークスタイル(働き方)の変化

iPad, など多種多様のモバイルデバイスが使われている
BYOD(ライセンス持ち込み)
ユーザ数が時期により変わる
といろいろな要求ももとめられている現状、VDIが必要になっている。

VDIをオンプレで実現する方法は、あるが。
現状インフラの投資もかなりになる
実現するまで一年くらいかかる

と問題がある。

そこで、Amazon workspace
多様なデバイス(iPad/Kindle Fire HD/PCなど)に対応
業務アプリが使える
管理者に負荷をかけない
画面転送のプロトコル PCoIPプロトコル 細い帯域でも動くようにチューニング

同じ回線から同時にアクセスした場合どの程度まで耐えられるかは不明。

ADで認証 ※preview limit版では未対応
各種アプリケーション(Office/Firefox/AcrobatReader/アンチウィルスソフト)に対応しています。
自動的にスナップショットでS3にバックアップされる。

preview limitへの申請(request)が殺到しているようで、順次使用できるようになっているとのこと。なお、来年にはパブリックベータが公開されるとのこと

Amazon Workspacesの料金については、未確定な部分がありますが、月途中でユーザを追加した場合も、なんらかで課金される回答がありました。課金されるタイミングは未定。(日割りになるかは詳細は決まっていない模様)

Amazon Kinesis

現在流れているデータの処理を行えるのが、Amazon Kinesis。
e.x. twiiterのタイムライン、アクセスログなど

アプリケーションへの組み込みが必要。出張報告会では、twitterのサンプルfeedを処理して文字のカウントを延々に表示させるデモがされていました。

Stream を作って、Shard で 流れてきたデータへの処理を行う。Shardの数は管理コンソールから設定可能。

スループット等も自動計算されて管理コンソールで確認可能。

メトリックやオンライン広告KPIのリアルタイムな生成に使えるのでは。

ECサイト等で他の利用者がリアルタイムで見ている商品等の表示(recommend)「拡販ツール」、ユーザの行動分析すを必要とするスマホアプリに利用できるのではと思われます。

C3 EC2 Instance

  •  C3 + Enhanced Network使って初めて、C3のパフォーマンスを最大限に出すことができる。
    • m1.mediumとc3.largeの値段がほぼ同じなので、c3.largeがお勧め。

現在供給が重要に追いついていないようで、場合によってはインスタンスをLaunchすることができない場合がある模様。サーバー増設を行っているので、しばしお待ちくださいとのこと。

  •  I2 ※現在はまだ公開されていない

SSD搭載 I/O性能最適化インスタンス
Xeon E5-2670v2 N/W改善
高速なIOPSを使う用途に適している。

  •   G2

NVIDIA GRID
Sandy Bridge 5GiB 60GiB SSD
現在、USリージョンとEUリージョンのみなので、レイテンシの関係上、DaaSとしては期待した処理が行えないかもしれない。工夫が必要。東京リージョンにくれば、この辺のことは解決すると思われます。

RDS PostgreSQL

他のRDBと同様、基本的な機能は対応しているとのこと。バージョンは、9.3。ただし、リードレプリカは現在未対応

Amazon AppStream

リソースを大量に使うアプリケーションのストリーミング

EC2でアプリケーションを実行し、ストリーミングをデバイスに配信する

通信プロトコルは、Amazon独自のAmazon STXプロトコル(STreaming eXperience)を使用している。
H.264 形式で、UDPで送信しているとのこと。

2013年12月1日
から hiruta
0件のコメント

11/30 JAWS-UG千葉の勉強会

11/30 JAWS-UG千葉の勉強会に参加しました。勉強会の一部を記載します。

cloudfrontのキャッシングについて

11/30のJAWS-UG千葉 勉強会でcloudfrontのキャッシュを更新をapiでしている話があったのですが、ネット上で調べてみました。

CloudBuddy Personalのツールでキャッシュを無効にすることもできます。デフォルトでは1時間からしか設定できない。

CloudFrontのInvalidation機能
http://blog.flect.co.jp/cto/2010/09/cloudfront-00d5.html


Amazon Silk

Kindle Fireには、Amazon Silkというブラウザが搭載されていますが、重たいレンダリング処理等をクラウド(AWS)で処理させて、処理した結果を配信することで、端末スペックを抑えつつ、高品質なコンテンツが見れる仕組みを取っているとのこと

上記に相当するものが最近発表されたAppStreamで構築できると思われます。
AppStreamの場合、モバイル端末に合わせて、適切なコンテンツ配信の仕組みが作れると思います。

AWSは、laaS +PaaSレイヤのクラウド事業者に

AWSには、AppStream以外にもJointして使えるサービスが数多くある(Storage gateway etc)ので、これらを利用してシステムを構築することで、納期、構築費用等を抑えてユーザ企業に提供が可能になると思います。

また、11/30 JAWS-UG千葉の勉強会で紹介されていた書籍を載せておきます。

クラウド化する世界

イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき

2013年11月24日
から hiruta
0件のコメント

Engine Yard試用レポート

12月9日のEngine Yard Cloud入門編セミナーに参加する下準備として、Engine Yard トライアルアカウントで試してみました。

ここ に記載してある通りに、サンプルアプリケーション(Todo Application )をデプロイすることができます。デプロイするまで、かなり掛かります。github.comからインポート(デプロイ)することも可能です。

Engine Yard Cloud - Environment todo_production of application trial

Engine Yard自体、AWSのインフラ基盤を使用していることは、デプロイする画面をみれば一目瞭然。

デプロイする画面に、Applcation Instanceとして、High CPU Medium (64 bit)と書かれています。

インスタンスタイプといて、c1.mediumてことか。リージョンは、USリージョンを使用しています。Custom ConfigurationでProvisioned IOPSとか、変更はできるようだが、リージョンについては指定できなそう。

Engine Yard Cloud - Usage Graphs

うまく起動できれば、下記のように画面が表示されると思います。

Getting Things Done with Engine Yard Cloud

アプリケーションを再起動しても、内容は保存されています。

Application用のインスタンスにもSSH接続が可能です。sshの秘密鍵のファイル名がid_rsaだと、Permission diedとなり、接続に失敗しました。

id_engineyardをファイル名としました。

Engine yardのダッシュボードからssh公開鍵を登録。

コンフィグを変更するなどすると、Applyしないと反映されない場合があります。ApplyしてSSH接続できるようになりました。

2013年11月17日
から hiruta
2013年冬モデル CF-SX3YEABRを購入しました。 はコメントを受け付けていません

2013年冬モデル CF-SX3YEABRを購入しました。

使用していたCF-W5の液晶が一部欠損したなど、カスタマイズ(HDD→SSD)を行ってきましたが、2013年冬モデルであるCF-SX3YEABR(Corei5-4200U+HDDモデル)をソフマップ秋葉本店にて、昨日購入しました。

プリインストール時は、Windows 8 Proでしたので、ストアよりWindows 8.1 Proにアップデート

※Windows 8.1 Proアップデートの過程で、Microsoft アカウントに切替ないと先に進めなかった。(画面だとセットアップCDで行う方法もあるが、こちらがMicrosoftアカウント切替なしでいくかは不明)Microsoftアカウントは後でローカルアカウントに戻すことも可能。

ストアからアプリをインストールする場合、Microsoftアカウントは必要です。ローカルアカウントからネットワークアカウントに切替を推奨していますが、ローカルアカウントのままでも大丈夫です。

Windows 8.1にすることで、左下Windowsアイコン(?)を右クリックすることで、プルダウンからシャットダウンできるようになっています。

CF-W5と同様、バッテリをフルにしないで、80%で抑えてバッテリ寿命を長くするECOモードに対応しています。

Windows 8だとインストールしているアプリケーション一覧は、スタートパネル画面の左下の方にある下矢印で表示されます。

2013年11月2日
から hiruta
0件のコメント

SSD 4Gプランへの切替を行いました。

SSD 4Gプランを追加契約を行い、nginx、postfix、growthforecast等の設定を行い、先ほどSSD 4GのサーバーへのDNS振替(Route53)を実施致しました。

なお、本記事が閲覧できる場合は、新サーバーを参照できております。

新機能(SSDによるパフォーマンス確認、IPv6、ローカル接続)についても随時検証をしていきたいと考えております。

2Gから4Gにメモリ増えたのも要因かもしれませんが、SSDプランの方が体感的に速いような。

bonnie++ -d /tmp/ -n 256:4096:512:16 -s 2048 -r 1024でのDisk IOの結果。

元サーバー さくらのVPS 2G(v3) 

Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
www3098uf.sakura 2G 608 99 190242 94 93940 23 3408 92 409826 32 4841 65
Latency 16680us 447ms 232ms 53524us 31293us 71657us
Version 1.96 ------Sequential Create------ --------Random Create--------
www3098uf.sakura.ne -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
 256:4096:512/16 26553 88 110301 97 43831 95 31650 90 46157 60 21811 67
Latency 386ms 15156us 116ms 52726us 237ms 179ms

さくらのVPS (v3) SSD 4G


Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
ns.xxxxxxxxxxxx 2G 677 99 818825 99 616886 84 4800 99 1665045 99 +++++ +++
Latency 17014us 1054us 79376us 2527us 90us 7077us
Version 1.96 ------Sequential Create------ --------Random Create--------
ns.totalsolution.bi -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
 256:4096:512/16 39736 84 128410 98 53087 95 38316 83 63253 57 24045 59
Latency 85345us 3742us 117ms 83003us 109ms 153ms

VPSの場合、ファイアウォールで仮想マシンで行うようになるので、パケット自体は仮想マシンまで流れてきてしまいます。
その反面、AWSのセキュリティグループは、仮想マシンの上位でブロックしてくれるので、仮想マシンへの負荷はその分下がられると思われます。

2013年10月23日
から hiruta
契約中のドメインに関して、Route53に切り替えました。 はコメントを受け付けていません

契約中のドメインに関して、Route53に切り替えました。

今まで、さくらのVPSでDNSサービスを立ち上げていましたが、BIND9サービスの脆弱性が頻繁に発見されていることから、VPSのセキュリティリストを最小限にするので、AWSのRoute53に本日切り替えました。

IPv6用のAAAAレコードにも対応していますし、Route53の運用コストがかなり安価(ネット上の情報だと1$を超えることはほぼない)

さくらのVPS側のDNSサービスについては、インバウンド(IN BOUND)ポートの遮断し、ローカルのDNSキャッシュサーバーとして利用するようになります。