AWS Lambda Meetup #0 で士気を高めてきました!

こんにちは、cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

先日は、今注目の AWS Lambda の勉強会に行ってきました!

この魅力的なサービスを率先して手中に収めていくツワモノたちのセッションは、非常に意欲をそそるものばかりでしたっ!

セッション全体を通しての感想

AWS Lambda 利用のポイント

拝聴できたセッションを通して、私が大事と思ったポイントはこちらです。

利用者からの声から見えてきた課題
  • 処理結果を受け取るのが難しい
  • タイムアウトもあるので、多くのエラー処理はできない
  • スケジューリング機能はない
  • 処理結果を受け取りに難があるので、ジョブ管理には向かない

これをふまえると、シンプルに使ってあげるのが Lambda を使いこなす決め手となりそうです。

工夫・利点
  • 処理をシンプルに
    • エラー処理も減るので扱いやすい
  • 他のAWSサービスをフル活用するためのつなぎ役に

見れなかったセッション…

※ 遅れての参加でしたので、3セッションしか拝聴できませんでした…(泣) 見れなかったセッションに関してはご了承いただければ幸いです。

「LambdaとKinesisで作るど根性Tシャツ」

by 清水崇之 (@shimy_net) さん
RaspberryPi – Lambda, Kinesis, Raspberry Pi で IoT シャツを作ろう [前編] – Qiita
※ slideshare はまだ上がってないようでした。

「AWS Lambdaを紐解いてみた」

by 篠崎祐輔 (@bad_at_math) さん
※ ご本人さんの資料を探しきれなかったので、見つかり次第更新します。


セッションのご紹介

「Lambda × Mobileの可能性」

by 諏訪悠紀 (yuki0211s) さん

モバイルアプリの制作をメインにされている諏訪さんの視点でAWS Lambda を紹介くださりました。

AWS Lambda の気になるところ
  • イベントドリブン
  • サービス同士の連携が可能
  • サーバーレス
  • モバイルで行わせたくない処理も実行可能
モバイルアプリとAWS Lambda の連携の例

Cognitoでのユーザ管理からはじまり、データの保存にS3やDynamoDBを利用、Lambdaで次の処理に連携(データの保存やSNS通知、配信)という実用的な例を紹介してくれました。

肝は、ユーザ端末におきたくないデータ(ユーザ情報や大きいデータ)をAWS側で扱う際の連携に AWS Lambda が活躍しそうというお話でした。

写真管理アプリ
Cognitoでユーザを特定、S3写真を保存 → Lambda メタデータ取得 → DynamoDBに保存
アプリでLike機能
Cognitoでユーザを特定 → DynamoDBにメッセージ保存 → Lambdaで、DynamoDBから送受信先のデータ取得 → SNSで通知
キャンペーン配信
Cognitoで非登録ユーザでも個別認識 → DynamoDBにユーザ情報保存 → Lambdaで、SNS通知やコンテンツ配信
本当にサーバーレスでいけるのか?

AWS SDK for iOS ではまだ AWS Lambda が未対応だったので、リポジトリから Fork して Lambda 対応をしてしまったそうです!すごい!
(エンドポイント(?)の末尾のスラッシュの有る無しが厳密なシーンがあるらしく、はまったそうです…)

懸念点
  • 対応しているイベントがまだ少ない
  • Functionの実行結果を受け取れない
  • バッチ処理ができない
  • テストがしにくい

「AWS Lambdaで作るクローラー/スクレイピング」

by 佐々木拓郎 (@dkfj) さん

前半はクローラーやスクレイピングの基本の話で、後半に実際に AWS Lambda を用いてみたお話でした。

佐々木さんの勘所
  • 単一の処理に限定すると、エラー処理がしやすいだろう
    • → 成功/失敗のどちらかに倒す
  • Lambda はスケジュール、ジョブ管理には向かないので、別途用意する必要があるかも
  • バグって暴走したら、ファンクション消してください!
実行元のサーバについて検証してみた
  • 基本的には1日の単位内では同一のサーバで実行されてているようだ
  • 負荷をかけるとどうなるの?
    • → 同一サーバ(IP)で実行されていた
  • さらに負荷をかけると、負荷に応じて自動的にスケールされているのがわかったそう
    • → EC2のスケールより早い気がする

負荷をかける実験を経て、最後に佐々木さんは、こんなことを…(笑)

  • Lambdaは簡単に、暗黒面に陥る
  • Lambda からLambdaを呼び出すと…
    • DDoS攻撃ツールなどになり得るので、扱いには十分に注意してください

「Lambdaによるクラウド型言語の実装」

by 菅原元気(@sgwr_dts) さん

AWS Lambda はまだプレビューなのに、Lambchop など、すでに便利ツールを作るところまでに至っている菅原さんは、なんとクラウド型言語なるものまで実装してみたというお話でした!

セッション前半でのキーワード
  • 1日動かしても大した金額ではなかった
  • Lambdaはフィルタ (スケジューラやジョブキューではない)
  • 処理結果が把握しにくい
    • CloudWatch Logsで受け取れるが、グルーピングや時系列の不順で追いにくい
  • エラーハンドラがしにくい
クラウド型言語 Clala

AWS Lambda のファンクションで使う言語の Node.js なら文字列から関数実行できるらしい。
これを利用して、ローカルで定義した関数を、AWS Lambda で実行!
クラウド側の scheme (?) で関数を実行できるんだそうです。

これは、実装はできたが、まだ実用的なものではなく、さらなる進展を期待しているそうです。

デモは、私には難しくて時間内に細部まで理解できなかったので、また AWS Lambda の勉強を進める上で見ていきたいと思いました。

Epilogue – 終わりに

自力で理解して AWS Lambda を使おうと思っているところに、既に使った話を聞いてしまっては楽しみ半減してしまうと思ったのですが、全くそんなことはありませんでした!

むしろ、気をつけなければならないところがわかり、かなり有益な情報を得られた Meetup でした!

懇親会でも、Lambda をさらに使い倒す話で盛り上がったり、最近出た Amazon EC2 Container Service の話、また、Lambdaから離れても、皆持ち前の技術分野で行動分析の話などで盛り上がりました。

久々に、猛者の集まる魅力的な勉強会でした!
次回は私も利用してる側で参加できるように、精進します!

cloudpackブログ週刊レビュー 2014/12/22

先週公開した記事の一覧です。計 14件 です。

Serf はじめての運用ツール 〜 インストールとエージェント起動

こんにちは、cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

cloudpackに在籍しておりますが、前職まではプログラマの私。
そんなインフラに憧れる一介のプログラマが、運用ツールに初挑戦のシリーズ第一弾!
(続くのでしょうか…!)

出会い

先日、「Code the Clouds Mix-up Vol.2」に参加してきました!
と言っても、駆け付けた時間は、LTの時間でした(汗)

そのLTは、「Serf / Consul 入門 ~仕事を楽しくしよう~」 by @zembutsu さん

これが運用ツールとの華麗なる出会いでありました☆

Serf と Consul

このcloudpack技術ブログでも、SerfConsul の話題をよく見かけます。

どう便利なの?

Serf や Consul などの運用ツールは、なにを便利にしてくれるのでしょうか?

答え: 既存の業務フローを変更せずに省力化

確かに、携わる環境がすべて新規で構築できるとは限りません。既存のフローは変えずに手間を減らしていく、それを助けてくれるツールなら、ぜひ試してみたい!

でも…

インフラ初心者の私でも、扱えるものなんだろうか?

さっそく、LT発表された@zenbutsuさんに聞いてみました!

Serf を試すべき理由

今回LTのテーマに挙がった 2つの運用ツール Serf と Consul のうち、小規模で手軽に使い出すには、 Serf をお勧めしてもらいました。

  • 機能が必要最小限で、シンプルに扱える
  • 管理サーバが不要で、クラスタ構成が用意

その理由も含め、SerfとConsulの特徴や違いについて、スライド資料に書かれていました。

考えてるだけではわかりません、さっそく Serf を触ってみましょう!!

まずはドキュメントからわかること

Serfの特徴

  • 主要なプラットフォームで利用可能(Linux, Mac OS X, Windows)
  • 常駐メモリが小さく、軽量
  • UDPの通信

Serfの主な機能は3つ

  • メンバーシップの管理(ノード管理)
  • 障害検知とリカバリ
  • イベントのカスタマイズ

gossipプロトコルを用いて、素早く効率的なノード管理ができます。サーバーが不要で、Serfをインストールしてエージェントを起動するだけで、クラスタの生成や参加ができます。

また、各ノードが定期的に通信して生存確認を行い続けるので、障害検知がすばやく、リカバリも早いとのこと。

ノードの参加や離脱、デプロイやプロセスのリスタートなどの任意のトリガでイベントやクエリを発行することもできます。

Serf トップページとイントロダクションについて訳したものを、こちらにまとめました。ご参考になれば幸いです。
Getting Started: Serf ~ ドキュメントを読んでみます – Qiita

Serf をはじめよう

インストールは簡単

インストールは簡単、解凍して置くだけです!
こちらの「Downloads – Serf by HashiCorp」からパッケージを入手してください。
2014.12.16 現在、Serf のバージョンは 0.6.3 です。FreeBSD, Linux, Max OS X, OpenBSD, Windows 向けにビルドされたパッケージが用意されています。これ以外のディストリビューションの場合は「コンパイルについて(Developing Serf)」を参考に環境に合わせて準備してください。

以下は、Amazon Linux でインストールした際の手順メモです。

# - パッケージを取得する
[user@ip-xx-xx-xx-xx ~]$ wget https://dl.bintray.com/mitchellh/serf/0.6.3_linux_amd64.zip
--2014-12-15 22:28:06--  https://dl.bintray.com/mitchellh/serf/0.6.3_linux_amd64.zip
Resolving dl.bintray.com (dl.bintray.com)... 108.168.194.92, 108.168.194.91
  ... # 略
Saving to: ‘0.6.3_linux_amd64.zip’

0.6.3_linux_amd64.zip         100%[=================================================>]   2.86M   702KB/s   in 4.6s

2014-12-15 22:28:12 (638 KB/s) - ‘0.6.3_linux_amd64.zip’ saved [3002701/3002701]

[user@ip-xx-xx-xx-xx ~]$ ls
0.6.3_linux_amd64.zip

# - 解凍
[user@ip-xx-xx-xx-xx ~]$ unzip 0.6.3_linux_amd64.zip
Archive:  0.6.3_linux_amd64.zip
  inflating: serf
[user@ip-xx-xx-xx-xx ~]$ ls
0.6.3_linux_amd64.zip  serf

# - PATHが通っているディレクトリへコピー
[user@ip-xx-xx-xx-xx ~]$ sudo cp serf /usr/local/bin

# - 動作確認
[user@ip-xx-xx-xx-xx ~]$ serf
usage: serf [--version] [--help]  []

Available commands are:
    agent           Runs a Serf agent
    event           Send a custom event through the Serf cluster
    force-leave     Forces a member of the cluster to enter the "left" state
    info            Provides debugging information for operators
    join            Tell Serf agent to join cluster
    keygen          Generates a new encryption key
    keys            Manipulate the internal encryption keyring used by Serf
    leave           Gracefully leaves the Serf cluster and shuts down
    members         Lists the members of a Serf cluster
    monitor         Stream logs from a Serf agent
    query           Send a query to the Serf cluster
    reachability    Test network reachability
    tags            Modify tags of a running Serf agent
    version         Prints the Serf version

ちなみに、Mac OS では、homebrew を利用できるそうです。(cask プラグインが必要)
(執筆時では試してません。)

brew cask install serf

その他インストールについては、原文「Installing Serf – Serf by HashiCorp」をご参照下さい。

クラスタ最初の一歩、エージェントを起動してみる

ドキュメントに従って、エージェントを起動してみます。

以下のように、起動したまま待機状態になります。

# - エージェント起動
[user@ip-xx-xx-xx-xx ~]$ serf agent
==> Starting Serf agent...
==> Starting Serf agent RPC...
==> Serf agent running!
         Node name: 'ip-xx-xx-xx-xx'
         Bind addr: '0.0.0.0:7946'
          RPC addr: '127.0.0.1:7373'
         Encrypted: false
          Snapshot: false
           Profile: lan

==> Log data will now stream in as it occurs:

    2014/12/15 23:12:11 [INFO] agent: Serf agent starting
    2014/12/15 23:12:11 [INFO] serf: EventMemberJoin: ip-xx-xx-xx-xx xx.xx.xx.xx
    2014/12/15 23:12:12 [INFO] agent: Received event: member-join

この状態で、なにかイベントがあると、ログが追記されていきます。
起動した直後では、既に、以下のようなログが表示されています。

agent: Serf agent starting
このエージェントが起動
serf: EventMemberJoin: ip-xx-xx-xx-xx xx.xx.xx.xx
Serf側でメンバーの参加イベント
agent: Received event: member-join
エージェント側でメンバー参加イベントを受信

エージェントを終了するには、Ctrl + c を押下 (割り込みシグナルを発行) してください。
すると、エージェントへ割り込みが行われ、正常に終了処理を行い終了する様子が出力されます。

# - Ctrl + C 押下でエージェント終了
==> Caught signal: interrupt
==> Gracefully shutting down agent...
    2014/12/15 23:13:23 [INFO] agent: requesting graceful leave from Serf
    2014/12/15 23:13:23 [INFO] serf: EventMemberLeave: ip-xx-xx-xx-xx xx.xx.xx.xx
    2014/12/15 23:13:23 [INFO] agent: requesting serf shutdown
    2014/12/15 23:13:23 [INFO] agent: shutdown complete

正常に終了できました!

エージェント終了の2つのケース「離脱」と「障害」

さて、この終了処理でエージェントが何をしているかというと、クラスタのほかのメンバーに自身が離脱することを通知しているのです。
仮にエージェントプロセスを強制的に終了した場合は、この通知が行われないので、クラスタのメンバーたちは、そのノードは障害が起きたのだと検知するのだそうです。

実は、この2つの動作の違いがSerfでは重要な要素なんです。
なぜかというと、Serfは、障害が起きたノードに対しては自動的に再接続を試み、復帰してくることを許します
一方で、意図的に離脱したノードに対してはもう通信はしないので、無駄な通信が抑えられます。

このことについては、次回に実際に確認してみたいです。

メンバーシップを実感してみる

さて、もっとエージェントの動きを見てみますしょう!
serf agent で再びエージェントを起動します。

[user@ip-xx-xx-xx-xx ~]$ serf agent
==> Starting Serf agent...
==> Starting Serf agent RPC...
==> Serf agent running!
         Node name: 'ip-172-31-1-18'
         Bind addr: '0.0.0.0:7946'
          RPC addr: '127.0.0.1:7373'
         Encrypted: false
          Snapshot: false
           Profile: lan

==> Log data will now stream in as it occurs:

    2014/12/18 13:15:05 [INFO] agent: Serf agent starting
    2014/12/18 13:15:05 [INFO] serf: EventMemberJoin: ip-xx-xx-xx-xx xx.xx.xx.xx
    2014/12/18 13:15:06 [INFO] agent: Received event: member-join

ここで、別のセッションで接続して、serf membersコマンドを実行してみます。
別セッションで接続するには、私は Windows で iceiv+putty を使ってアクセスしているので、もう一つウィンドウを立ち上げてアクセスしました。

[user@ip-xx-xx-xx-xx ~]$ serf members
ip-xx-xx-xx-xx  xx.xx.xx.xx:7946  alive

なんということでしょう!♪

[user@ip-xx-xx-xx-xx ~]$ serf agent
==> Starting Serf agent...
==> Starting Serf agent RPC...
==> Serf agent running!
         Node name: 'ip-xx-xx-xx-xx'
         Bind addr: '0.0.0.0:7946'
          RPC addr: '127.0.0.1:7373'
         Encrypted: false
          Snapshot: false
           Profile: lan

==> Log data will now stream in as it occurs:

    2014/12/18 13:15:05 [INFO] agent: Serf agent starting
    2014/12/18 13:15:05 [INFO] serf: EventMemberJoin: ip-xx-xx-xx-xx xx.xx.xx.xx
    2014/12/18 13:15:06 [INFO] agent: Received event: member-join
    2014/12/18 13:15:25 [INFO] agent.ipc: Accepted client: 127.0.0.1:53399    # <- serf members を実行した直後に、この1行が表示されました

最後の行が追加され、クラスタへのアクセスがちゃんと検知されたことがわかります。

ぱちぱちぱち!

複数ノードでガチャガチャしたい!

先走って「Join a Cluster (クラスタへの参加)」に突入したのですが、Vagrantを使って、複数ノードのクラスタをシミュレートしていくようです。これを進めるとまた1週間くらいを要してしまいそうなので、本記事ではいったん一区切りとします。

すぐに試していきますけど!♪

Epilogue – おわりに

さて、初めて運用ツールに触れてみた感想です。
インフラは本業でないので、かなり手探り状態ですが、Serf について読んで触ってみて、運用のことが少しわかってきたような気がして楽しいです。
まだ準備ができただけで何も運用してません。複数ノードの動作を早く動かしたくてうずうずしています。

まだまだこれからです!
よろしくお願いします!

cloudpackブログ週刊レビュー 2014/12/15

先週公開した記事の一覧です。計 16件 です。

公開日 作成者 タイトル
12月08日(月)
(6件)
三浦剛慈 s3fsとautofsの連携
佐藤裕行 S3のバケットポリシーを更新するスクリプト
川原洋平 mod_mruby と mruby-aws-s3 を使って S3 上の HTML をコンテンツを表示させてみよう
吉田真吾 Varnish 4.0 on CentOS 6.5(EC2/HVM)
川原洋平 Amazon CloudFront に独自証明書を適用するメモ
川原洋平 mruby で sensu-api のクライアントっぽいのを作っているメモ
12月09日(火)
(4件)
佐藤裕行 AWSで地域制限を利用した際のSorryページパターン
田村謙介 普通じゃない「ssh: connect to host [IPアドレス] port 22: Connection refused」
田村謙介 AWS Marketplace AMIから起動したインスタンスのRootVolumeを他インスタンスにアタッチする方法
三浦剛慈 [CentOS]logrotateでapacheログを一週間周期でローテーションする
12月10日(水)
(2件)
磯辺和彦 AWS Account Numberを取得するN個の方法
岸上健太郎 MariaDB Galera Clusterのバックアップ・リストア – EBS Snapshotパターン
12月11日(木)
(1件)
川原洋平 Amazon Route 53 の Private DNS で VPC 内部の名前解決をするメモ
12月12日(金)
(3件)
橋本満 プライベート認証局(Ca)にてクライアント証明書の発行
川原洋平 aws-cli で ‘module’ object has no attribute ‘ssl_wrap_socket’ こんなエラーが出たので焦ったからメモ
川原洋平 自称インフラエンジニヤが Circle CI を触ってみたメモ

普通じゃない「ssh: connect to host [IPアドレス] port 22: Connection refused」

こんにちは、cloudpack田村です。

サーバ管理者なら誰しも一度は出会ったことのある絶望的なエラー
「ssh: connect to host [IPアドレス] port 22: Connection refused」

別サーバにRootVolumeをマウントして
(1)sshd_configあってる
(2).ssh/authorized_keysあってる
(3)ネットワークまわりあってる
(4)FWまわりあってる

困った。

ログには「fatal: /var/empty/sshd must be owned by root and not group or world-writable.」

結果、/var/empty/sshd711 じゃないといけないらしい。

ls -ld /var/empty/sshd/

drwx--x--x. 2 root root 4096 2014-11-13 17:54 /var/empty/sshd/

cloudpackブログ週刊レビュー 2014/12/08

先週公開した記事の一覧です。計 17件 です。

公開日 作成者 タイトル
12月01日(月)
(7件)
佐藤裕行 AWSが利用しているIPアドレスを取り出してみた
川原洋平 Play2 アプリケーションのデプロイを fabric でやろうと思ったのでメモ(3)〜対象ホストを SDK で取得する巻〜
川原洋平 HAProxy をコマンドラインで操作するを HAProxy 1.5.8 で試してみる
佐藤裕行 VPCピアリングを使用してみる
吉田真吾 JAWS-UG東京勉強会で「10分で押さえる AWS re:Invent 2014 新サービス・アップデート」を話してきました
川原洋平 ラズパイで mruby をビルドして利用出来る状態にする
川原洋平 ラズパイで mod_mruby と fluent-logger-mruby を組み合わせてアプリケーションログの取得を試してみる
12月02日(火)
(5件)
川原洋平 Consul の Python クライアントを試す
津村彰 SQL ServerはSambaを踊…れなかった。
吉田真吾 AWS ConfigでAWSリソースの変更管理をする
吉田真吾 AWS Key Management Service(KMS)を用いたS3サーバーサイド暗号化(SSE-KMS)
川原洋平 RabbitMQ インストールや操作メモ、ちょっと濃い話
12月03日(水)
(1件)
吉田真吾 先週のAWS関連ブログ(11/24〜11/29) – アドカレ,AWS Lambdaの話題など
12月04日(木)
(3件)
川原洋平 ラズパイで mruby から Amazon S3 に mruby-aws-s3 使ってデータをアップしたりしてみる
吉田真吾 Amazon EC2のリザーブドインスタンスで重度の購入オプション拡充&軽度/中度の廃止
川原洋平 ちょっと強引だけど Serverspec で EC2 のメタ情報や aws-cli を利用してインスタンスのテスト出来ないか考えてみた
12月05日(金)
(1件)
岸上健太郎 3秒で準備するCouchbase Server 3.0

cloudpackブログ週刊レビュー 2014/12/01

先週公開した記事の一覧です。計 19件 です。

公開日 作成者 タイトル
11月25日(火)
(5件)
吉田真吾 GP2 EBSの16TB化において知りたいたった1つのこと:ベースラインパフォーマンス比率
川原洋平 Docker + consul-template で HAProxy のバックエンド登録の自動化を試す
川原洋平 Sensu Community Plugin 探訪(2)java-permgen.rb を試した
佐藤裕行 Muninにtd-agent/fluentdのプラグインを入れる(CentOS6.5)
川原洋平 Windows 版 Docker をビルドして試す
11月26日(水)
(3件)
比嘉啓太 EC2 Ubuntu 14.04がStatus 1/2のまま起動しなくなる
川原洋平 朝の 3 分ハッキング(4)fluentd の monitor_agent から値を取得する munin のプラグインをこさえた
川原洋平 CentOS で始める etcd
11月27日(木)
(4件)
田村謙介 CentOS に GitLab をインストールする
田村謙介 CentOS に Jenkins をインストールする
田村謙介 "Unable to construct an endpoint for ec2 in region None" の対処法
田村謙介 rsyncするインスタンスをAWS EC2のNameタグを元に判断する
11月28日(金)
(5件)
岸上健太郎 oreno knife-zeroメモ
田村謙介 Jenkins/GitLabでデプロイツールを作る
川原洋平 ニーズがあるか判りませんが… AWS SDK for Ruby を使って Route53 に登録されている情報を Google Spreadsheet で管理するメモ
津村彰 Munin徹底入門 〜ねぇMunin、ソース頂戴♪〜
吉田真吾 Amazon AuroraのストレージのQuorum原理
11月29日(土)
(1件)
大平かづみ Check! AWS Lambda を理解しよう ~ 2つの動作モデル (pushモデル/pullモデル)
11月30日(金)
(1件)
大平かづみ Check! AWS Lambda を理解しよう(2) ~ Lambdaファンクションとコンソール

Check! AWS Lambda を理解しよう(2) ~ Lambdaファンクションとコンソール

こんばんは、cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

AWS Lambda の話をしていたら、プログラマの大先輩が「半年前に欲しかったわ~」と感想をこぼすほど、AWS Lambda はコード書く人はかなり興味のあるサービスなんです。

さぁ、前回「Check! AWS Lambda を理解しよう ~ 2つの動作モデル (pushモデル/pullモデル)」に引き続き、AWS Lambda ディベロッパーガイドの「Component: Lambda Function」を読み進めます。

Lambdaファンクション とは?

  • AWS Lambda にアップロードしたコード群 = Lambdaファンクション
  • コード群は、.zipファイルにまとめます(依存するライブラリも含む)
  • Lambdaサービスにプリインストールされているのは、AWS SDK for Node.js
  • AWS Lambdaコンソールエディタからアップロード、編集、実行が可能(他の依存ライブラリがない場合)
  • ほかのリソースやライブラリを利用する場合
    • その場合も、最初に Lambdaファンクションのデプロイメントパッケージの作成が必要
    • 作成後はコンソールや、AWS CLIを用いて更新
  • 利用するAWSリソースは準備しておき、パーミッションを付与することを忘れないように

Lambdaファンクション作成時のコンソール画面(preview)

AWS Lambdaのコンソール画面: Lambdaファンクションを作成

  1. Lambdaファンクションの名前と、ディスクリプション
  2. Lambdaファンクションのコード
    • インラインエディタ or .zipファイルのアップロードを選択
    • コードテンプレート (HelloWorld, S3オブジェクトの取得, なし)
    • ハンドラ名 (コードに、"exports. = function(.." としてハンドラを記述)
    • ロール名 (必要なIAMロールを設定)
  3. 高度な設定
    • メモリ(MB)
    • タイムアウト(秒)

ざっくりクイック和訳

After you upload your custom code to AWS Lambda, we refer to it as a Lambda function.

あなたがアップロードしたコードは、Lambdaファンクションと呼ばれます。

A Lambda function consists of code packaged in a .zip file, including any dependent libraries. Each Lambda function also has associated configuration information such as name, description, and run-time requirements like memory allocation.

Lambdaファンクションのコードは、.zipファイルでパッケージ化したものです。これには依存するライブラリも含みます。
それぞれのLambdaファンクションは、構成情報(名前、ディスクリプション、メモリアロケーションなどのランタイムの必要情報)と紐づけられています。

Depending on the resources your custom code uses, you have the following options when creating a Lambda function:

Lambdaファンクションの作成に際して、あなたのコードが使うリソースにより、以下の利用方法があります。

シンプルな使い方

If your custom code requires only the AWS SDK library, then you can use the inline editor in the AWS Lambda console. Using the console, you can upload, edit, and invoke your code.

もしコードでAWS SDKライブラリだけが利用する場合、AWS Lambdaコンソールインラインエディタを利用することができます。
このコンソールを使って、コードのアップロード、編集、実行ができます。

The console will zip up your code with the relevant configuration information into a deployment package that the Lambda service can run.

コンソールは、あなたのコードを、関連する構成情報とともに、Lambdaサービスが実行できるデプロイメントパッケージとしてzip にまとめてくれます。

Note that the Lambda service has preinstalled the AWS SDK for Node.js. For examples of Node.js, go to Examples Using Node.js in the AWS SDK for JavaScript.

Lambda サービスは、AWS SDK for Node.js がプリインストールされています。サンプルコードはAWS SDK for JavaScript のExamples Using Node.jsを参照してください。

さらに高度な使い方

If you are writing code that uses other resources, such as a graphics library for image processing, or you want to use the AWS CLI instead of the console, you need to first create the Lambda function deployment package, and then use the console or the CLI to upload the package.

画像処理用のライブラリなどの他のリソースを利用したい場合や、コンソールの代わりにAWS CLIを使いたい場合でも、あなたは最初にLambdaファンクションのデプロイメントパッケージを作成する必要があります。その後、パッケージをアップロードするときは、コンソールやCLIを利用してください。

その他に気を付けること

AWS resources your custom code needs—If your custom code uploads a new object to an Amazon S3 bucket make sure that the bucket exists.

あなたのコードが必要とするAWSリソースを事前に用意してください。
たとえば Amazon S3にあたらしいオブジェクトをアップロードするコードの場合、バケットは作成しておく必要があります。

Permission considerations—By default, all AWS resources are private. Only a resource owner (the AWS account that created the resource) can access the resource. So keep in mind that when your Lambda function executes, it will need permissions to access whatever AWS resources it needs. You grant these permissions to AWS Lambda via an IAM role (referred to it as “execution” role). For more information, see Component: Execution Role.

パーミッションをよく考慮してください。
デフォルトでは、すべてのAWSリソースはプライベートに設定されています。
リソースの所有者(リソースを作成したAWSアカウント)だけがリソースにアクセスできます。
ですので、Lambdaファンクションを実行するときは、どのAWSリソースでも適切なパーミッションが必要になることにご留意ください。それらのパーミッションはIAMロールを用いてAWS Lambdaに付与します。詳細は、後述の Component: Execution Role をご参照ください。

Epilogue – おわりに

今度は、Lmbdaファンクションのまとめで終わってしまいましたが…(汗)
そして、今やっと使える言語が Node.js であることを把握!jsは顔をしかめる人が多い中、私は結構好きです。
早くコードかくとこまでがんばりますー!

Check! AWS Lambda を理解しようシリーズ

Check! AWS Lambda を理解しよう ~ 2つの動作モデル (pushモデル/pullモデル)
Check! AWS Lambda を理解しよう(2) ~ Lambdaファンクションとコンソール」 (本記事)
続きもがんばります!

Check! AWS Lambda を理解しよう ~ 2つの動作モデル (pushモデル/pullモデル)

こんばんは、cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

AWS Lambda は、コードさえ書けば、あとはイベントとの連携を設定することで、指定したいイベントを契機にそのコードを実行する仕組みを提供してくれます。コードが動作する環境は、AWS Lambda が管理してくれるので、冗長化やスケーリングはお任せして、コードに集中できるサービスなのです。

それでは、AWS Lambda をいち早く使えるように、準備を進めましょう!
まずは、AWS Lambda ディベロッパーガイド をチェック!

AWS Lambda の大事なポイント

AWS Lambda を扱うときに、大事なポイントは以下の3つのようです。

  • Lambdaファンクション
  • pushモデルpullモデル という利用形態
  • 呼び出し側 (invocation role) と 実行側 (excution role) のIAMロールの設定

この記事では、導入の流れと、主にモデルについて読み進めます。

手始めに、ドキュメントの手順に素直に従います

AWS Lambda にはじめて触れるあなたへ(意訳) の手順を確認しました。

  1. 製品の概要や提案、価格を把握するために、製品詳細ページを参照しよう
  2. AWS Lambda: 動作の仕組みを読もう
  3. コンソールの「はじめに」セクションのサンプルに従って進めよう (Getting Started with AWS Lambda を参照)
  4. AWS Lambda API を把握するために、Lambda CLI のチュートリアルを実践しよう

さらに学ぶには、以下のトピックも参照するとよいそうです。

どう動作するの?

私は製品詳細ページは目を通したので、AWS Lambda: 動作の仕組みを読んでみます。

AWS Lambda can execute your custom code, also referred as a “Lambda function,” in response to events in other AWS services or events generated by user applications.

AWS Lambda は、"Lambda funciton" として、あなたがカスタムしたコードを実行できます。他のAWSサービスで発生したイベントやユーザアプリケーションが生成したイベントへの応答が契機です。

2つの利用モデル

AWS Lambda を利用するユースケースとして、以下の2つのモデルが紹介されています。

モデル分類 ユースケース
pushモデル Amazon S3 でバケット通知を AWS Lambda へ向けて設定して、コードを実行する
ユーザのアプリケーションから AWS Lambda へ向けてイベントを発行し、コードを実行する
pullモデル あなたのアプリケーションからストリーム(Amazon DynamoDBストリームKinesisストリームなど) へイベントを発行し、AWS Lambdaはそのストリームからイベントを取り出し、コードを実行する

モデルについて、さらに読み解きます

pushモデル

  • AWSサービスや独自アプリケーションから、AWS Lambda へイベント通知して、コードを実行する
  • コード実行の順序は保証されない
大事そうな部分をクイック和訳: pushモデル

In both these cases, you must grant Amazon S3 or the custom application permission to invoke a function on your behalf. You do this by creating an invocation role, discussed in the following section.

(2つのユースケース図のについて)これらのケースでは、あなたは Amazon S3、またはカスタムアプリケーションに、ファンクションを実行するパーミッションを与える必要があります。これは、invocation role を作ることにより行えます。(後述のセクションで話します。)

The “push” model is an unordered model. That is, the order in which Lambda processes events is undeterministic.

“push”モデルは、順序がないモデルです。すなわち、Lambda の処理における順序は、決まっていません。

pullモデル

  • イベントをストリームに流し、AWS Lambda はストリームからイベントを取り出し、コードを実行する
  • 一度ストリームに入れることによって、イベントの順序を保つことができる
大事そうな部分をクイック和訳: pullモデル

This is also referred as the “pull model” where AWS Lambda pulls the updates from the stream and invokes your function. In this case, you must grant permission to both pull from the stream (invocationrole) and execute (executionrole). The IAM roles are further explained in the following sections.

これは、pullモデルと呼んでおり、 AWS Lambda は、その更新をストリームから引っ張ってきて、あなたのファンクションを実行します。この場合、ストリーム側 (invocation role) と、実行側 (excution role) の両方のパーミッションが必要です。この IAMロールについては後述のセクションで説明します。

The “pull” model is an ordered model. That is, Lambda processes events in order they are published to the stream. For example, the order in which Amazon DynamoDB publishes updates to the stream is the same order in which Lambda processes the events.

“pull”モデルは、順序が保証されるモデルです。すなわち、 AWS Lambda は、イベントを、ストリームへ発行された順番で処理します。例えば、Amazon DynamoDB はストリームへ更新を発行した順序と、AWS Lambda が処理するイベントの順序は同じになります。

Epilogue – おわりに

ここまで学習して、思ったより、AWS Lambda: 動作の仕組みのボリュームが多いことに気づき、モデルまででいったん休憩です。(苦笑)
引き続き、私は Component: Lambda Function を読み進めますっ (o’ω’)ノ

Check! AWS Lambda を理解しようシリーズ (続きはこちら!)

Check! AWS Lambda を理解しよう ~ 2つの動作モデル (pushモデル/pullモデル)」(本記事)
Check! AWS Lambda を理解しよう(2) ~ Lambdaファンクションとコンソール

cloudpackブログ週刊レビュー 2014/11/25

先週公開した記事の一覧です。計 38件 です。

公開日 作成者 タイトル
11月17日(月)
(13件)
川原洋平 Raspberry Pi をセットアップして fluentd をインストールするまでメモ
川原洋平 Raspberry Pi で fluent-plugin-kinesis を使ったメモ
川原洋平 Play2 のアプリケーションデプロイについて
川原洋平 Raspberry Pi で sensu-client を動かすまでのメモ
川原洋平 Play2 から fluent-logger を使うメモ
川原洋平 Raspberry Pi のディスク容量を最大限に利用する
川原洋平 AWS 白帯シリーズ(22)祝:新機能!Amazon S3 Event Notifications 機能を SNS/SQS とラズパイで 256 倍楽しく使う
Sebastian AutoScaling の Lifecycle Hook の流れ
吉田浩和 Deep Security as a Service(DSaaS)への移行
川原洋平 HAProxy の HTTP リクエストホストヘッダによる振り分けと Nginx の SSL プロトコルや Cihper をアクセスログに記録する
川原洋平 CentOS 6.5 に 5 分で HAProxy の最新版をインストール方法
川原洋平 Sensu Community Plugin 探訪(1)check-http-json.rb を試した
川原洋平 RabbitMQ の mqtt プラグインを Ruby で試した
11月18日(火)
(5件)
川原洋平 RabbitMQ with mqtt で Raspberry Pi に繋いだ LED を ON したり OFF したりする
川原洋平 HAProxy チートシート(acl や SSL サポート等)
大平かづみ [AWS] Check! Hue – Amazon Elastic MapReduce で使える webインタフェース
川原洋平 MQTT ブローカーの Sango を使って Raspberry Pi に繋いだ LED を ON したり OFF したりする
川原洋平 RabbitMQ のドキュメントを拾い読みしたのでメモと Ruby から RabbitMQ を使う Bunny を試してみた
11月19日(水)
(7件)
川原洋平 Raspberry Pi の CPU 温度を確認する
川原洋平 Raspberry Pi で室内の温度を可視化するよー
吉田真吾 Amazon RDS for PostgreSQLのリードレプリカの特徴
吉田真吾 AWS認定DevOpsエンジニア・プロフェッショナル試験を受けるのでガイドを読んでみる
磯辺和彦 AWS CLI 1.6.0に Waiters が追加された
川原洋平 Elasticsearch の search api を sense で復習するメモ(1)
廣瀬一海 AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをピックアップしてご紹介!
11月20日(木)
(6件)
川原洋平 Play2 が動いている JVM を Jolokia で監視する
川原洋平 Play2 アプリケーションをデプロイを fabric でやろうと思ったのでメモ
川原洋平 Play2 アプリケーションをデプロイを fabric でやろうと思ったのでメモ(2)
比嘉啓太 UbuntuでPacemaker + Heartbeatを使う
川原洋平 Elasticsearch のクラスタメモ
齊藤愼仁 チャットツールをSlackへ移行した話
11月21日(金)
(5件)
津村彰 SoftEtherのハマりどころ、公開します。
川原洋平 AWS 白帯シリーズ(23)祝:新サービス! CodeDeploy で俺のサービスをデプロイしてみよう(PREVIEW)
吉田真吾 (SPOT301)AWS Innovation at Scaleのスライドがスゴい
川原洋平 HAProxy チートシート(ACL を使ったリクエストパスによる振り分けについて)
川原洋平 AWS 白帯シリーズ(24)祝:新サービス! おい、CodeDeploy よ!もしかして君は docker run とかも出来るのかい?(PREVIEW)
11月23日(日)
(1件)
大平かづみ Check! AWSのパブリック IPアドレス範囲が JSON 形式で取得可能に
11月24日(月)
(1件)
大平かづみ Check! CloudSearch Update ~ 値下げ、日本語サポート、パーティション分割、CloudTrailとの連携

Check! CloudSearch Update ~ 値下げ、日本語サポート、パーティション分割、CloudTrailとの連携

こんばんわ、cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

cloudpack技術ブログでもちらほらみかける、 Amazon CloudSearch
この Amazon CloudSearch に関するアップデートが、11/19に発表されていました。

AWSブログ記事
CloudSearch Update – Price Reduction, Hebrew & Japanese Support, Partitioning, CloudTrail

さっそく見てみましょう。

※ 正式な情報につきましては、公式サイト、公式ブログをご参照くださいますようお願いいたします。

要約

「CloudSearchアップデート – 値下げ、ヘブライ語と日本語のサポート、Partitioning、CloudTrailとの連携」

価格 値下げ
言語サポートの追加
  • ヘブライ語や日本語のサポート追加
  • 計34ヶ国語をサポート
  • 日本語に関しては、分かち書き用のカスタム辞書をサポート
Control Over Domain Partitioning (今年リリースの既存機能)
  • search.m2.2xlarge を選択した際に、ドメインのパーティションを分割できる
  • この分割により、ドメインに対するドキュメントの量を減らすことでパフォーマンス向上を見込めるそう
  • AWSマネジメントコンソールCloudSearch API、または AWS コマンドラインインタフェース(CLI) からパーティショニングの制御が行える
  • search ドメインの新規作成時や、その後でも更新可能
  • 指定できる数は 1 ~ 10 (AWSコンソールから確認)
AWS CloudTrail でのサポート

ドメインのパーティショニングについて、AWSコンソールを見てみます

以下は、実際にAWSコンソールで Search Domain を作る際に、”search.m2.2xlarge“ を選択した画面のキャプチャです。
そうすると、Desired Partition Cout のプルダウンが有効になり、選択できるようになりました。選択できる値は、1 ~ 10 のようです。
Amazon CloudSearch でドメイン作成時、search.m2.2xlarge を選択すると、Desired Partition Count を設定できます

クイック翻訳

記事冒頭

As you may already know, CloudSearch is a a fully-managed service that makes it easy to setup, operate, and scale a search service for your website or application.

ご存知のように、CloudSearch はフルマネージドのサービスです。これを利用することで、あなたのウェブサイトやアプリケーションのための検索サービスのセットアップ、実行、スケールが容易にできます。

If you use CloudSearch, you will benefit from a price reduction, additional language support, and control over domain partitioning (we released these features earlier this year but I didn’t have a chance to blog about them at that time).

もし、CloucdSearch をご利用中であれば、値下げや言語サポートの追加、ドメインのパーティショニングのコントロール (実は今年の早い時期にこれをリリースしていたが、ブログでお知らせする機会がありませんでした。) の恩恵を受けられるでしょう。

You can also take advantage of the recently released support for AWS CloudTrail.

最近リリースした AWS CloudTrail のサポートに関するアドバンテージも受けることができます。

Price Reduction – 値下げ

We are reducing the hourly charge for CloudSearch by up to 50%, across all AWS Regions and search instance types.

CloudSearchに関して、1時間あたりの価格を、最大50%値下げいたします。これは、すべてのAWSリージョンで、CloudSearch用のインスタンスタイプすべてに適用されます。

This change is effective as of November 1, 2014 and will take effect with no action on your part. With this change, the overall cost to run CloudSearch compares very favorably to the cost of setting up, running, and scaling your own search infrastructure.

この価格は、2014/11/1 から適用されます。お客様側では特になんのアクションも必要ありません。
この価格により、CloudSearch を実行する際の全体的なコストが、あなたの検索のためのインフラ環境のセットアップや実行、スケールするためのコストと好意的に比較できる範囲になります。

Check out the CloudSearch Pricing page for more information.

詳細は「Amazon CloudSearch 料金表」をご参照ください。

Additional Language Support - 言語サポートの追加

Earlier this year we introduced language-specific text processing for Hebrew. With this addition, CloudSearch now supports a total of 34 languages.

今年前半に行ったヘブライ語のサポートも含め、CloudSearch は今や計34ヶ国語をサポートしています。

In mid-October we added support for custom tokenization dictionaries for Japanese.

10月中旬ごろには、日本語の分かち書き用のカスタム辞書を追加しました。

You can now control how CloudSearch tokenizes Japanese by adding a custom tokenization dictionary to the analysis scheme that you use for fields that contain Japanese-language text. To learn more, read about Customizing Japanese Tokenization in the CloudSearch Developer Guide.

解析のスキーマに分かち書きのカスタム辞書を追加したことにより、あなたは今、CloudSearch において、日本語を分解することを制御できるようになりました。

詳細は、CloudSearch開発者向けガイドの「Customizing Japanese Tokenization」をご参照ください。

Control Over Partitioning – パーティショニングのコントロール

If you are using the m2.2xlarge search instance type, you can now preconfigure the number of index partitions for your search domain.

もし、検索用のインスタンスタイプで m2.2xlarge を利用しているなら、あなたは今、あなたの検索ドメインの index パーティションの個数を事前に構成することができます。

Preconfiguring a domain will improve the performance of large uploads. You can also add partitions to boost query performance by reducing the number of documents per partition.

ドメインの事前構成で、大量のアップロードに対してパフォーマンスの改善が見込めます。
あなたはまた、パーティションに対するドキュメントの量を減らすために、クエリのパフォーマンスをブーストする目的でパーティションを追加することもできます。

CloudSearch will still scale the domain up and down based on the volume of data and traffic, but the number of partitions will never drop below your desired partition count.

CloudSearch は、今でも、データやトラフィックを元にドメインをスケールアップおよびスケールダウンします。しかし、パーティションの数はあなたが望んだパーティションの個数未満には、決してドロップしません。

You can exercise control over partitioning from the AWS Management Console, the CloudSearch APIs, or the AWS Command Line Interface (CLI).

あなたは、AWSマネジメントコンソールや、CloudSearch API、または AWS コマンドラインインタフェース(CLI) からパーティショニングの制御を行えます。

You can set it when you create a search domain:
And you can update it later:

これは、search ドメインを作る際にも設定できますし、後からでも更新することができます。

CloudTrail Support - CloudTrailのサポート

Last month we added AWS CloudTrail support to CloudSearch. You can now use CloudTrail to get a history of the calls that are made to the CloudSearch API. The calls are recorded and delivered to an Amazon S3 bucket. To learn more, read about Logging Amazon CloudSearch Configuration Service Calls Using AWS CloudTrail.

先月、私たちは AWS CloudTrail のサポートを、 AWS CloudSearch に追加しました。あなたは今、CloudSearch API に対して行われる呼び出しの履歴を得るためにCloudTrailを利用することができます。
この呼び出しは記録され、Amazon S3 バケットに配信されます。
詳細については、「Logging Amazon CloudSearch Configuration Service Calls Using AWS CloudTrail」をご参照ください。

Prologue – おわりに

CloudSearch って、入力ソースの形式で PDF/HTML/IMDB movies(demo)/Microsoft Office も選べるようで(?)、今度実際に試してみたいです!

Check! AWSのパブリック IPアドレス範囲が JSON 形式で取得可能に

こんにちわ、 cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

AWS re:Invent 2014 が終わりましたが、それでもAWSのアップデートは続いていることに感心しつつ、今日はこのアップデートをチェックしてみます。

AWSブログ記事「AWS Public IP Address Ranges Now Available in JSON Form

また、取得したJSONデータのサンプルを下部に掲載しましたので、ご参考になればさいわいです。
IPアドレス範囲のJSONデータのサンプル

※正式な情報は公式サイト、公式ブログをご参照くださいますよう、よろしくお願いいたします。

要約

「AWS Public IP のアドレス範囲 が JSON形式で利用可能に」

  • 問い合わせの多いAWSサービスで使っているIPアドレス範囲を JSON 形式で取得できるようになりました。
  • 下記から取得できます。
  • このJSONからは、以下のサービスに関するIPアドレス範囲が得られるようです。
    • AMAZON
    • EC2
    • ROUTE53
    • ROUTE53_HEALTHCHECKS
    • CLOUDFRONT
  • 特に特定のサービスを気にしないのであれば、 AMAZON を参照すればよいそうです。
  • また、上記以外のサービスについては、いずれ追加予定だが、コードで適宜ご対応ください、とのこと。
  • 詳細は、AWS IP Address Ranges をご参照ください。

クイック和訳(一部)

記事冒頭

Many of our customers have asked us for a detailed list of the IP address ranges assigned to and used by AWS. While the use cases vary from customer to customer, they generally involve firewalls and other forms of network access controls. In the past we have met this need by posting human-readable information to the EC2, S3, SNS, and CloudFront Forums.

たくさんのお客様から、AWSで使用しているIPアドレス範囲の詳細についてお問い合わせをいただきます。
お客様ごとにユースケースが異なるとはいえ、それらは一般的にファイアウォールや他のネットワークアクセスコントロールの形式に影響します。

過去には、私たちは、人間が読める情報を、EC2やS3, SNS, CloudFront のフォーラムに投稿するという必要性に遭遇しました。

JSON形式によるIPレンジ

I am happy to announce that this information is now available in JSON form at https://ip-ranges.amazonaws.com/ip-ranges.json.

今日(2014/11/21)、これらの情報を JSON形式でご提供できるようになったことを、お知らせできることを嬉しく思います。
こちら「https://ip-ranges.amazonaws.com/ip-ranges.json」からご利用いただけます。

The information in this file is generated from our internal system-of-record and is authoritative. You can expect it to change several times per week and should poll accordingly.

このファイルの情報は、内部のレコードシステムが生成しており、権限をもっています。
あなたが何度か予想するように、これらのデータは週に何度か更新するので、適宜ポーリングしてください。

実際のJSONデータを参照しながら

Valid values for the service key include “AMAZON”, “EC2”, “ROUTE53”, “ROUTE53_HEALTHCHECKS”, and “CLOUDFRONT.” If you need to know all of the ranges and don’t care about the service, use the “AMAZON” entries.

サービスのキーに対する有効な値は、”AMAZON”, “EC2”, “ROUTE53”, “ROUTE53_HEALTHCHECKS”, “CLOUDFRONT” です。
もし、アドレス範囲のすべてを知りたくて、サービスに関して気にしないのであれば、”AMAZON” のエントリーを利用してください。

The other entries are subsets of this one. Also, some of the services, such as S3, are represented in “AMAZON” and do not have an entry that is specific to the service. We plan to add additional values over time; code accordingly!

他のエントリーは上記のサブセットです。
また、S3などのサービスのいくつかは、”AMAZON” に含まていて、そのサービスを指定したエントリーはありません。
いずれタイおい宇する予定ですが、コードで適宜ご対応ください。

For more information, read the documentation on AWS IP Address Ranges.

詳細は、AWS IP Address Ranges をご参照ください。

PS – By my count, there are now 10,130,200 IP addresses in the EC2 range. My code excludes the first (all zeroes) and last (all ones) address in each CIDR block.

追伸、私のカウントでは、EC2のIPアドレスは、10,1390,200 個です。
(この算出に使った)私のコードは、それぞれのCIDRブロックの先頭(0.0.0.0)と末尾(255.255.255.255)を除外しています。

サンプル

実際にIPアドレス範囲のJSONデータを取得してみました!

更新日は、Jeff さんの記事のサンプルと同じタイムスタンプでした。

AWSブログの記事中にあるように、regionには、各リージョン、およびGLOBALが指定されています。
serviceの種類についても、それぞれ確認できました。

以下は、一部抜粋したものです。

{
  "syncToken": "1416523628",
  "createDate": "2014-11-20-22-51-01",
  "prefixes": [
    {
      "ip_prefix": "50.19.0.0/16",
      "region": "us-east-1",
      "service": "AMAZON"
    },
    {
      "ip_prefix": "54.239.98.0/24",
      "region": "us-east-1",
      "service": "AMAZON"
    },
    {
      "ip_prefix": "205.251.254.0/24",
      "region": "GLOBAL",
      "service": "AMAZON"
    },
    ...
    {
      "ip_prefix": "50.19.0.0/16",
      "region": "us-east-1",
      "service": "EC2"
    },
    ...
    {
      "ip_prefix": "205.251.192.0/21",
      "region": "GLOBAL",
      "service": "ROUTE53"
    },
    {
      "ip_prefix": "54.232.40.64/26",
      "region": "sa-east-1",
      "service": "ROUTE53_HEALTHCHECKS"
    },
    ...
    {
      "ip_prefix": "54.182.0.0/16",
      "region": "GLOBAL",
      "service": "CLOUDFRONT"
    }
  ]
}

Epilogue – おわりに

JSON形式はいろんなところで使われているので、使い勝手がよさそうですね!
ただ、各自でポーリングとか、まだ含まれていないサービスはコード書いて対応してね!って、なんてチャーミングなアップデートだ、と思います(笑)

AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをピックアップしてご紹介!

おはようございます、cloudpack の 王子こと廣瀬一海 (@kazumihirose) です。

AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - 会場の様子

ラスベガスはAM5時です。
セッション漬けの日々を経て、先日のre:playパーティの熱もまだ醒めていない中、朝早くからラスベガスを離れロサンゼルスを目指す方など様々です。私は明日のAM5時に空港を発つので、まだのんびりできています。

AWS re:Invent 2014 では、AWS に関連した多くの企業がブースを出展していました。 その中でも興味深いソリューションを提供しているブースをピックアップしてご紹介します。

ここ数年の AWS の傾向なのですが、エンタープライズへの拡大を図っている事もあり、その観点に合わせたソリューションを提供する企業も多く出展していました。この手の分野では、開発コストをかけるよりも導入した方が早いケースも多く、費用対効果の面で適切・適材なソリューションを見極める事も大事になってきます。

AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - ディレクトリ(出展企業一覧)

会場に入ってすぐにディレクトリがあり、各社が展示している環境を確認する事ができるのですが、とても多くの企業が出展しています。文字が小さくて追っかけるのが結構大変でした。

王子観点による注目の企業ブース一覧

※個人の見解によるものです。ご了承ください。

DATADOG (データドッグ)

DATADOG (データドッグ)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - DATADOG (データドッグ)

この前後には競合のNewrelicが上場するなど、クラウドに最適化されたモニタリング製品はとても盛りあがっていました。DATADOGもその一つでクラウドそのものの監視から、仮想マシン、アプリケーションなども含めて統合的に監視したり、データを取得できるソリューションです。

commvault (コンボルト)

commvault (コンボルト)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - commvault (コンボルト)

ガートナーが発表するマジッククワドラントという、業界での動向を示す指標がありますが、この中でも群を抜いて成長し、リーディングカンパニーとしてバックアップソリューションを提供する企業です。commvaultの面白い所は、サーバだけでなく、クライアント、OS、アプリケーション、DB、メールのメッセージなど多種多様な要件のバックアップとリストアを単一の製品でできる所で、しかもバックアップしたメールメッセージを後に検索可能なデータ資産として生かす事ができるなど、コンプライアンスも意識した製品です。

MOTEX (エムオーテックス)

MOTEX (エムオーテックス)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - MOTEX (エムオーテックス)

セキュリティソリューションを提供している、MOTEXさんはLanScope Catというデスクトップ環境の関して製品を提供しています。Amazon WorkSpaces(リモートデスクトップから使う、クラウド上のThin Clientデスクトップ環境)を前提に、クライアントの監視ソリューション監視ソリューションを展示していました。

TREND MICRO (トレンドマイクロ)

TREND MICRO (トレンドマイクロ)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - TREND MICRO (トレンドマイクロ)

TREND MICROは、日本発のウイルスセキュリティソリューションを提供する、多国籍企業です。ウイルスバスターなどの製品で知っている方の方が多いと思いますが、AWS上で稼働するサーバ製品をしっかりと監査、検知、監視する「Trend Micro Deep Security」という製品を提供しています。弊社でも「セキュリティ+」「securitypack」「AMIMOTO AMI DSaaSオプション」というオプションサービスでこの製品を提供させてもらっています。

VisualOps (ヴィジュアルオプス)

VisualOps (ヴィジュアルオプス)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - VisualOps (ヴィジュアルオプス)

AWSにはあらかじめ、サーバの構造や構成、台数やネットワークの設定をテンプレートとして作っておき、そのテンプレートを展開する事で一気に環境構築を行う「AWS CloudFormation」というサービスが提供されています。ただ、この「AWS CloudFormation」はテンプレート用のJSONを頑張って自分で書く必要があり、とっても面倒です。そんな面倒なテンプレート作成をWEB上でサクッと、しかもGUIで書くことができるツールが「VisualOps」です。

PERCONA (ペルコナ)

PERCONA (ペルコナ)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - PERCONA (ペルコナ)

Better MySQLを提供してくれている PerconaXtraDBという、MySQLをベースにしたクラスタ製品やパフォーマンスチューニングのコンサルティングを提供している会社です。また、MySQLのメンテナンスを便利にしてくれるPercona Toolkitは私も日頃から便利に使っています。

ScaleBase (スケールベース)

ScaleBase (スケールベース)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - ScaleBase (スケールベース)

ScaleBaseはMySQLを自動的に分割、分散してくれるシャーティングを管理、構築してくれるクラスタ製品です。どんなデータベースでもいつかは容量の限界や性能の限界を迎えますが、いざ分散させようとすると案外難しいものです。また、クライアント側のアプリの対応なども検討しないといけません。この製品はクライアント側を変更する事なく、シャーティングによる分散環境を構成、WEBベースのGUIツールからクラスタの状況把握や性能モニタリングなどもできる、とっても便利なソリューションです。

HyTrust (ハイトラスト)

HyTrust (ハイトラスト)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - HyTrust (ハイトラスト)

HyTrustはPCI-DSSや企業コンプライアンスを守るための各種製品を提供している企業です。その中でも増えるインスタンスとLinuxのSSHキーをロールベースで統合管理する「HYTRUST KEYCONTROL」がとても便利そうでした。

Attunity (アチュニティー)

Attunity (アチュニティー)
AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - Attunity (アチュニティー)

MySQLとOracleなど、別々のDBを移行したり、会社のLAN環境とクラウドのDBを同期させたり、そういう便利なソリューションがあったらいいですよね、Attunityはこのような異機種間DBのコピーと同期を行ってくれるレプリケーション製品を開発する企業です。会社にあるDBをAmazon Redshiftと同期させて、データの分析などはクラウドの上で行う事などもできるようになります。

おまけ

AWS re:Invent 2014 現地リポート 第4弾 〜 注目の企業ブースをご紹介 - cloudpackエバンジェリストがJAWSUGに持って帰るノベルティたち
会場では各ブースが沢山ノベルティグッズを配布していました。弊社cloudpackのエバンジェリスト吉田真吾さんが、JAWSUGに持って帰るんだともらっていました。

cloudpackブログ週刊レビュー 2014/11/17

先週公開した記事の一覧です。計 28件 です。

公開日 作成者 タイトル
11月10日(月)
(6件)
川原洋平 AWS 白帯シリーズ(20)ELB のインスタンスステータスメモ
川原洋平 Elasticsearch 各 API クエリメモ
吉田真吾 AWSアカウントの二段階認証に使ってたハードウェアMFA (カード型Gemalto)が電池切れになった話
川原洋平 Elasticsearch の検索結果を csv に書き出すスクリプトを作った
大平かづみ Check! OpenID Connect をサポート – ユーザ認証管理サービスの Amazon Cognito
川原洋平 Ruby で UTC 時間を localtime で確認する
11月11日(火)
(4件)
川原洋平 aws-sdk を pry から使ってみるメモ
川原洋平 Selenium IDE で録画した Web 操作(シナリオ) を使って neustar で負荷テストする
大平かづみ Check! DynamoDB Streams – DynamoDBテーブルへのすべての変更をトラッキング可能に
吉田真吾 数字で見る AWS re:Invent 2014 ユーザー事例 (Novartis, Kellogg, AdRoll)
11月12日(水)
(5件)
廣瀬一海 AWS re:Invent 2014 現地リポート 第1弾
津村彰 WEB+DB PRESS Plus 『サーバ/インフラ徹底攻略』(発売日前)レビュー
川原洋平 Docker で /etc/hosts がイジれなくて残念だったのでメモ
川原洋平 AWS 白帯シリーズ(21)aws-sdk for Ruby で自分自身のインスタンス情報をどうやって取得しましょうか
Sebastian AnsibleからWindowsを叩く
11月13日(木)
(6件)
大平かづみ Check! AWS Test Drive 3.0 – re:Invent 2014 でローンチ (labs で新規追加、更新など)
吉田真吾 AWS CodeDeployをさっそく試してみる
廣瀬一海 AWS re:Invent 2014 現地リポート 第2弾 〜 Amazon Aurora 発表
荒井立樹 全MySQLダンプ作成か〜ら〜の、S3アップロードをスクリプトで簡単にする
川原洋平 たった 15 分の Play で Heroku が Eroku て泣けた(簡単に始めることが出来ました)
吉田真吾 Amazon RDS for Aurora について知りたい28のこと (28 Questions about Aurora)
11月14日(金)
(6件)
廣瀬一海 AWS re:Invent 2014 現地リポート 第3弾 ~ AWS CodeDeploy, CodePipeline, CodeCommit の発表
川原洋平 Amazon Linux で Play framework をセットアップしてみたばい
Sebastian CloudWatchとcustom metric
吉田真吾 2015年APNプレミアコンサルティングパートナー
川原洋平 Play Framework で X-Forwarded-for とかの HTTP リクエストヘッダを取得する
大平かづみ Check! AWS Lambda – Run Code in the Cloud 〜 Preview に申し込もう!
11月15日(土)
(1件)
大平かづみ Check! AWS Lambda ~ Previewの利用開始、まずは情報収集

Check! AWS Lambda ~ Previewの利用開始、まずは情報収集

こんばんわ! cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

昨日、勢い余って申し込んだ AWS Lambda Preview が、なんとその日中に申請が通りました!
さらにラッキーなことに、今日は週末!さっそく試してみます♪

参考: Check! AWS Lambda – Run Code in the Cloud 〜 Preview に申し込もう!

Preview申請が通った後の画面

AWS Lambda Preview をさっそく試します

このページの内容をよく確認してみます。

新しい情報にすぐに応答する

Respond quickly to new information

AWS Lambda runs your code in response to events such as image uploads, in-app activity, website clicks, or outputs from connected devices. You can use AWS Lambda to add custom logic to other AWS services or create your own backend service that operates at AWS scale, performance, and security.

訳: AWS Lambda は、画像のアップロードや、アプリのアクティビティ、ウェブサイトのクリック、接続されたデバイスからの出力などのイベントへの応答として、あなたのコードを実行します。

あなたは、AWS Lambda を、他のAWSサービスにカスタムロジックを追加したり、AWSのスケール、パフォーマンス、セキュリティを操作するための独自のバックエンドサービスを作ったりするのに、利用することができます。

あなたのコードを、インフラの管理なしに実行する

Run your code without managing infrastructure

AWS Lambda administers the underlying compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code and security patch deployment, and code monitoring and logging.

All you need to do is write the code.

訳: サーバやオペレーティングシステムのメンテナンス、キャパシティの準備や自動スケール、コードのモニタリングやログ記録などを含む、配下のコンピュータリソースを、AWS Lambda が管理します。

あなたがしなければならないことは、コードを書くことだけです。

コスト対効果を高く、効率的に

Cost-effective and efficient

AWS Lambda runs your code only when needed, with no unnecessary overhead or cost.

訳: AWS Lambdaは、必要な時だけ、あなたのコードを実行します。不必要なオーバーヘッドやコストは発生しません。

さらに、情報収集

いろいろドキュメントを読んでみます。

AWS Lambda(Preview)」を少し読んでみます。

課金体系

Billing is metered in increments of 100 milliseconds, making it cost-effective and easy to scale automatically from a few requests per day to thousands per second.

価格は、100ミリ秒ごとに課金されます。これは費用対効果がよく、数リクエスト/日から、1000リクエスト/秒 まで、というようなリクエストに対し、自動でスケールするのが容易です。

AWS Lambda ファンクションの導入

Introducing AWS Lambda functions

The code you run on AWS Lambda is called a “Lambda function.” After you create your Lambda function it is always ready to run as soon as it is triggered, similar to a formula in a spreadsheet. Each function includes your code as well as some associated configuration information, including the function name and resource requirements. Lambda functions are “stateless,” with no affinity to the underlying infrastructure, so that Lambda can rapidly launch as many copies of the function as needed to scale to the rate of incoming events.

訳: AWS Lambda の上であなたが書いたコードは、「Lambdaファンクション」と呼ばれます。
あなたが、あなたの Lambdaファンクションを作成した後は、すぐにトリガとして実行される準備ができている状態になります。スプレッドシートで使う計算式に似ています。
それぞれのファンクションは、あなたのコードと同じように、ファンクション名や、リソースの必要要件などの関連する設定情報を保有します。
Lambdaファンクションは、配下のインフラに対してアフィニティがなく(密着しておらず)、「ステートレス」です。このため、Lambda は、イベントの発生状況に合わせたスケールの必要に応じて、即座にファンクションのコピーを実行できるのです。

After you upload your code to AWS Lambda, you can associate your function with specific AWS resources (e.g. a particular Amazon S3 bucket, Amazon DynamoDB table, or Amazon Kinesis stream). Then, when the resource changes, Lambda will execute your function and manage the compute resources as needed in order to keep up with incoming requests.

訳: AWS Lambda にあなたのコードをアップロードした後に、特定のAWSリソースにあなたのファンクションを繋げることができます。(たとえば、特定の Amazon S3 バケットや、Amazon DynamoDB テーブル、Amazon Kinesis ストリームなど)
そうすると、これらのリソースの変更があったときには、Lambda はあなたのファンクションを実行し、やってくるリクエストに追いつくように、必要に応じてコンピュートリソースを管理します。

ユースケース

  • Data Triggers - データトリガ
  • Stream Processing – ストリーム処理
  • Back-end Service - バックエンドサービス
  • Scheduled Tasks – タスクのスケジュール実行
  • Data Indexing and Synchronization – データのインデックス処理、同期処理
  • Auditing and Notification - 監査と通知
  • Internet of Things (IoT) - モノのインターネット (IoT)

Epilogue – おわりに

ドキュメントの確認だけで、少し長くなってしまったので、実験の様子はまた次回の記事にしようと思います!

やりたい実験は、

  • ウェブサイトのクリック時にコードを実行する
  • S3アップロード時にコードを実行する

です!

週末の間にできるのか、こうご期待(汗)

Check! AWS Lambda – Run Code in the Cloud 〜 Preview に申し込もう!

こんばんは!cloudpack@dz_こと大平かづみです。

Prologue – はじめに

コンソールをみたら、増えていました! AWS Lambda !

AWS Management Console に、新サービス AWS Lambda (Preview) が!

プログラミング x クラウド

AWS Lambda – Run Code in the Cloud

クラウドでコードを!

プログラマでもある私は、AWSブログ記事(英語)のこの熱いメッセージに惹かれ、記事に目を走らせます。

AWS Lambda – Run Code in the Cloud: クイック和訳(一部)

私たちは、クラウドで、アプリケーションを実行するだけでなく、ビルドのときでも容易に利用できるようにしたいと思っています。
私たちは、あなたにはソースコードに集中してもらい、スケーラビリティ、信頼性があり、効率的なランタイムがすべて、十分に簡略されたクラウドを中心とした環境で作業してもらいたいと思っています。

今日、私たちは、AWS Lambda のプレビューをローンチしました。
アプリケーションをクラウドでビルドや実行するための新しい方法であり、あなたが持っているプログラミングスキルやAWSの知識を活かしていただけます。

AWS Lambda で、単にLambdaファンクションを作成し、それに特定のAWSのリソースへのアクセス権を与えることで、ファンクションをAWSリソースに接続できます。

AWS Lambda は、 Amazon Simple Storage Service (S3) のバケットにアップロードされたオブジェクトや、Amazon Kinesis ストリームからのメッセージや、Amazon DynamoDB のテーブルの更新などに対する変更へのレスポンスの中で、コードを自動的に実行します。


ここまで訳してみましたが、うずうず…

さっそく! Preview 利用を申し込んでしまいましょう!

1. 利用可能なリージョンを選択します。

AWS Lambda Preview に申し込んでみる (2) - 利用可能なリージョンを選択します

惜しいことに、まだ Tokyo リージョンは利用できません

お好きなリージョンを選びましょう。

利用可能なリージョン
  • US East (N. Virginia)
  • EU (Ireland)
  • US West (Oregon)

2. 「Request Access」をクリックします。

AWS Lambda Preview に申し込んでみる (3) - "Request Access" をクリックします

3. 必要事項を入力して、「Submit」をクリックします。

AWS Account Number の番号は、コンソールの「My Account」の「Account Id」を入力しました。

AWS Lambda Preview に申し込んでみる (4) - 必要事項を入力して、"Submit"

リクエスト送信完了!

AWS Lambda Preview に申し込んでみる (5) - 後はメールを待つだけです

後は待つだけです♪

Epilogue – おわりに

実は、ウズウズして、記事を最後まで読めていません!
休日を使って、他の新サービスも含め、よく読んでみるつもりです。

Code関連がわんさかローンチされており、ココロオドリます♪

AWS re:Invent 2014 現地リポート 第3弾 ~ AWS CodeDeploy, CodePipeline, CodeCommit の発表

おはようございます!王子こと廣瀬一海 (@kazumihirose) です。

11/12日 AM9:00からKey Noteがスタートしました!

毎度のことながら新サービスが発表されています。AWSが培ってきた技術や運用で得た知見をエンタープライズに持ちこむ事をかなり意識したサービスばかりでした。

キーノート

様々なアグレッシブな事例が公開されていく中、新サービスの紹介が始まりました。AWSが社内で利用していたCI(Continus Integration)デプロイメントサービスで、Apolloと呼ばれていた一連の開発サービスを提供しました。
re:Invent 2014: 11/12 キーノート (1)
re:Invent 2014: 11/12 キーノート (2) "Build & Deploy Software at Amazon"
re:Invent 2014: 11/12 キーノート (3) "Deployment Cycle"

AWS CodeDeploy

AWS CodeDeployはAWSが社内で利用していたCI(Continus Integration)デプロイメントサービスで、Apolloと呼ばれていたものです。
re:Invent 2014: 11/12 キーノート (4) AWS CodeDeploy

  • ローリングアップデート(複数インスタンスに対しての、順次アップデート )
  • デプロイメントのヘルストラッキング
  • デプロイメントに対してのロールバックサポート

今まで、AWSがサービス開発を行ってきた環境をPaaSプラットフォームとして提供したものといえるでしょう。
re:Invent 2014: 11/12 キーノート (5) AWS CodeDeploy - Image

AWS CodePipeline

AWS CodePipelineはいわゆる国内ではJenkinsに相当する製品にあたり、自動テストを行った後にデプロイメントを自動的に行う。いわゆる、テスト駆動型開発を行う為の製品と言えます。2015年の早期には提供開始予定との事です。
re:Invent 2014: 11/12 キーノート (6) AWS CodePipeline

  • 繰り返し、自動でインテグレーションする機能
  • あらゆるリポジトリからソースコードを持ってくる事ができます
  • ワークフローの定義とそのフローの可視化
  • 既にあるビルドツールとテストツールを使えます
  • AWS社内で普及、利用されています

AWS CodeCommit

AWS CodeCommitはGitやSVNに相当する、SCM(ソースコードマネジメントシステム)とWebでのチケット管理システムになります。Githubを想像してもらうのが一番手っ取り早い理解です。また、耐久性もあり、高い可用性を持っており、安心してコードを預ける事ができます。
re:Invent 2014: 11/12 キーノート (7) AWS CodeCommit

また、いわゆるBlueGreenデプロイメントといいますが、AzureのCloudServicesなどと同じように、コードがどの状態(TEST/Stating/Production)にデプロイメントされているかを即座に確認する事ができます。 ChefやPappetその連携もシームレスに行う事ができるそうです。

  • クラウドでソースコードのマネジメント
  • ステージング環境、テスト環境、プロダクション環境へのデプロイメント
  • リポジトリとその関連するファイルサイズの制限無し

2015年の早期には提供開始予定との事で、課金体系なども気になるところです。

AWS re:Invent 2014 現地リポート 第2弾 〜 Amazon Aurora 発表

おはようございます!王子こと廣瀬一海 (@kazumihirose) です。

11/12日 AM9:00からKey Noteがスタートしました!

毎度のことながら新サービスが発表されています。AWSが培ってきた技術や運用で得た知見をエンタープライズに持ちこむ事をかなり意識したサービスばかりでした。

キーノート

様々なアグレッシブな事例が公開されていく中、新サービスの紹介が始まりました。

Amazon Aurora

re:Invent 2014 現地レポート - Amazon RDS for Aurora の発表 (1)

Amazon AuroraはAWSが満を持して提供する事になった5番目のデータベースエンジンです。3年間かけて開発され、堅牢でAZに対するバックアップや耐障害性と高可用性を満たしています。今まで高可用性、耐障害性のDBを運用するにはとても高価だと考えてきたAWSの一つの解答でもあり、おそらくですが既存のRDSを置き換えるものでもあります。

  • 3か所のAZ(availability zone)へ、(おそらく)それぞれ二つの合計6個のレプリカを保持します。
  • 6つのレプリカの内、4つのトランザクションが達成されたタイミングで、リザルトを返却
  • 99.99%の耐障害性を達成
  • フォルトトレラントとリペアはバックグラウンドにて自動で行われる、レストアが不要
  • クラッシュ時のリカバリは分単位で1時間もかからない
  • DB再起動時にも維持されるDBキャッシュ
  • 15個のリードレプリカより、読み取り専用レプリカ(リードレプリカ)をサポート
  • ストレージはSSDによる10GBから64TBまでの自動拡張、ストレージは10GB単位でブロックを分割、分散書き込みを行うそうです。

と、RDSがMulti AZで稼働する際の弱点や今までの運用での問題点をきれいにカバーしたエンタープライズ向けのDBエンジンと言えるでしょう。

気になるお値段

re:Invent 2014 現地レポート - Amazon RDS for Aurora の発表 (2)

これを眺めながら、心の中では「でも、お高いのでしょう?」って思っていたのですが。まるで通販番組を彷彿とさせる料金発表がありました。

  • $0.29/時間のインスタンス課金
  • 使ったDBストレージサイズへの従量課金

MySQL互換

re:Invent 2014 現地レポート - Amazon RDS for Aurora の発表 (3)

数クリックMySQL互換のメンテナンスフリーなマネージドDBをリリースという事です。 今までDBを運用してきた構築コストや運用人件費なども考慮すると、このサービスは驚異的です。

おそらくですが、新しくストレージエンジンを実装したのでしょうか・・・それとも本体を改造したのでしょうか・・・この辺りはかなり気になる所で、本体改造かプラグインとして実装されたのであればですが、MySQLはプラグインも本体もGPLv2でのみ使えるので、これはオープンソースになるのでは?と、期待したい所でもあります。

関連情報

Check! AWS Test Drive 3.0 – re:Invent 2014 でローンチ (labs で新規追加、更新など)

おはようございます!
cloudpack@dz_ こと大平かづみです。

『試乗せずに、車を買ったりしますか?』

こんな冒頭で書かれたAWSブログ記事
AWS Test Drive 3.0 Launches at re:Invent 2014」を、読んでみます。

AWS Test Drive 3.0 Launches at re:Invent 2014 – 冒頭文を読んで

「試乗せずに、車を買ったりしますか?」
「実際の環境で動いているのを見ずに、ライセンスやソフトウェアを購入したりしますか?」

Jeff さんは、上記の質問に「そんなわけない!」と答えてほしい、と、冒頭に書いています。

そうですね、その考えはAWSにも反映され、AWS Test Drive のサービスが提供されています。

AWS Test Drive は、すばやく簡単に起動できて、インストールや課金せず、IT部門の手を煩わせることなく、さまざまな用途のエンタープライズのアプリケーションのテストを行えます。

言い換えれば、Test Drive のホームページは、オンラインのショールームのようなもの、だそうです。

Test Drive 3.0 Launches at re:Invent - クイック翻訳(一部)

※以下はざっくり翻訳したものです。※

3回目の re:Invent で Test Drive プログラムの “3.0” モデルを発表します。
APNサミットのキーノートでは、世界中のAPN パートナーの皆さま が、200を超える Test Drive labs の新規追加・更新がローンチしました。

カタログに追加された Test Drive
新規の Test Drive の種類
新規の Test Drive を提供している地域

AWS GovCloud (US)向けもあります。

今年の 120 の 新しい Test Drive ラボのローンチと、今日の 30 のライブ(?)により、re:Invent でのローンチは、APNパートナーの皆さんのの努力の集大成をマークすることができました。

また、 2012年、2013年の re:Invent でローンチされた Test Drive のうち、87 の Test Drive が更新されました。

More re:Invent News – re:Inventでのお知らせ

以下のにニュースがあるようです。
※追って更新いたします。※

The Test Drive Showroom
Access to Free AWS Usage for Pilot Programs
Zero Client Demos
AWS Marketplace Linking

AWS re:Invent 2014 現地リポート 第1弾

おはようございます!シアトルから移動し急に暖かいラスベガスの気温に未だ慣れていない「王子」(@kazumihirose) です。

ラスベガスは朝10時(太平洋時間)、日本はAM3時と昨日入国した方々はきっと猛烈な時差ボケ中だと思います。コーヒーを片手に書いていたりします。 ネバダ州ラスベガスは雲一つ無い快晴、そんな中でベネチアンホテルを会場にレジストレーションが始まっています。
AWS re:Invent現地リポート 第1弾: 会場のベネチアンホテル

レジストレーション

AWS re:Invent 2014 現地リポート 第1弾: re:Inventと弊社エバンジェリスト吉田真吾さん
AWS re:Invent 2014 現地リポート 第1弾: 会場の様子(1) DJ
AWS re:Invent 2014 現地リポート 第1弾: 会場の様子(2)
レジストレーション会場では、レジストレーションの前にパソコンのキーボードから名前を入力するだけでした、ICカードが発行され手渡されました。 その後、隣のブースではre:inventのパーカーを受け取ります。いわゆる日本サイズではないので、ぼくの大きさでもSmallでした・・・レジストレーション前ではDJがご機嫌に大音響で皿を回していました。

スポンサーボード

AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (1)

レジストレーションへ行く最中にイベントのスポンサーボードを見つけました。私もクラウドに関係するテクノロジーやパートナーを確認する際にチェックするようにしています。ばっちりパノラマで押さえちゃいましたよ!!

個人的にですが、気になるlogoを探してみると・・・

クラウドを武器にエンタープライズバックアップ市場では、バックアップできないデータは無いんじゃないか?って思っている統合バックアップソリューションを提供している「commvault」
AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (2) commvault さん

UDPを使い帯域を有効活用し、ガツガツとオンプレミスなサーバーから超高速アップロードができる「aspera」
AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (3) aspera さん

エンタープライズ向けのストリーミングログの統合分析ソリューションの「splunk」
AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (4) splunk さん

日々、apt-getでお世話になっていたりする、Linux distroのubuntuを提供する。「Canonical」
AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (5) Canonical さん

弊社では、Direct connectで東京リージョンとの接続をお客様に提供する際によくお世話になっている「EQUINIX」
AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (6) EQUINIX さん

もちろん、cloudpackもありましたよ!!!!
AWS re:Invent 2014 現地リポート 第1弾: スポンサーボード (7) 弊社cloudpack と、指さす吉田真吾さん

Evaluations

AWS re:Invent 2014 現地リポート 第1弾: Evaluationsボード

会場の中にはEvaluationsと書かれたボードと共にこのようなPCが置かれています、セッションの確認だなと思い近寄ってみました。

AWS re:Invent 2014 現地リポート 第1弾: EvaluationsボードのPCでセッションの確認(カードリーダ利用)
ぶら下げていたICカードを恐る恐るリーダに乗っけてみると・・・自動ログインしました!即座にセッションのスケジュールと場所を確認できます。これは便利ですね。

AWS TEST Drive

会場を歩き回っていると、TEST Driveと書いたエンタープライズ製品のお試し場所がありました。導入金額がとても高額な事もあり、なかなか触る機会のも少ない製品もありました。このような機会に、セットアップ無しにエンタープライズ製品をいじり倒せるのはうれしいですね。

AWS re:Invent 2014 現地リポート 第1弾: ランボルギーニの展示
そんなTEST Driveの横は、オレンジ色のランボルギーニが・・・これも「TEST Drive」していいのか?と思い近寄ると頑強そうな黒服にこっちをジーッとみられ続けました・・・

まさかの「TEST Drive」だから「車」おこうぜ!!!って、アメリカンジョークがさく裂しています。