Fusic社のAWSハンズオンセミナーBigdata Boot Camp(EMR/Kinesis/Redshift)に行って来た

記事タイトルとURLをコピーする

時々ゆで卵に塩をつけて食べたくなる小室です。こんにちは。

昨日Fusic社のAWSハンズオンセミナーBigdata Boot Camp(EMR/Kinesis/Redshift)に行って来たのでその中で気付いた事を書きます。

余談ですがFusicさんが入っているオフィスと当社が入っているオフィスは同じです!

 

ハンズオンの内容としては

位置情報をペースとしたターゲティング配信システムを想定したシステムを構築する

  1. S3に蓄積されたWebログをベースにEMRでETL処理を行い、Redshiftに格納
  2. ユーザの行動情報をKinesisでリアルタイムにデータ収集し、Redshiftに格納されたユーザの行動ログをもとに情報配信

でした。

ハンズオンをする中で気付いた事を3点程書きます。

IMG_1768

 

気付いた事その1: AWSアカウントの取得時期によってAWSリソースの用意度合いが微妙に違う

最初のCloudFormationで環境を作る所で、多くの方がつまづいた所だったのですが、最近AWSアカウントを取得するとディフォルトVPCがすでに出来ています。

こんな感じで振り返れば奴がいる....

VPCや、VPCがディフォルトになる前からAWSアカウントを持っている人はディフォルトVPCがないので、セミナー等でAWSアカウントを持ってくる様に行った場合、その差異で時間を取られる事になるんじゃないかなと思いました。

 

気付いた事その2: Amazon EMR起動にはアクセスキーとシークレットアクセスキーが必要

たまたま私はRootログイン(email/pass/MFA)でコンソールにログインしてEMR起動させようとしたのですが、起動に失敗しました。

エラーとしては

Last State Change: No active keys found for user account

と出ていて、ほぉ。。。としばらく考えGoogle先生に聞き、はっ!と気付きました。

参考URL

今ほとんどの利用はIAMユーザーを想定されているのだと思いますが、Rootユーザーにもアクセスキーとシークレットアクセスキーが発行出来ます。

どうやってRootユーザーに対してアクセスキー/シークレットアクセスキーを発行するのか、というとマネージメントコンソール右上にあるアカウント名をクリックした時に出てくる一覧のSecurity CredentialsにあるAccess Keys (Access Key ID and Secret Access Key)で生成する事が出来ます(以下の絵は無効/削除してしまっていますが)

access-key-for-root

基本はIAMを使う事が基本ですので、Rootユーザーでアクセスキー等作る必要は無いと思いますが、もしEMRで起動していて上記エラーが出たら自分の(Root/IAM)アカウントにアクセスキーがあるかどうか確認してください。

 

気付いた事その3: 知っていたけどKeypairの入力規則と、他のサービスでのKeypairの扱い規則が違う

知っていたけど、やっちまった!という事にまた遭遇しました。私は頭が悪いんじゃないかと自分で思ってしまいましたが、Keypairの作成時の命名規則と、それらを他のサービスで扱う際の規則が違うんですよね。今回Keypairに"+"を入れていて(komuro+accnt3+us-east-1.pemのように)、他のサービスで怒られました。

自分でブログまで書いておいて....orz

SSH用のKey Pair名は気をつけよう! « サーバーワークス エンジニアブログ 

それ以外として以下の事を知りました&思いました。

  • Kinesisのアプケーションの管理はDynamoDBを使っていて、アプリ経由の利用なので見れない(EC2のスナップショットがS3経由で見れない様に)のかと思ったら、普通に一覧に出てた
  • 時々AWSアカウントで、不特定サービスがどうしても有効(利用可能な状態)に出来ない場合があるらしい(サポートに聞いても難しいらしい)。そういう場合はアカウントを作り替えるしかないとの事。基本はAWSアカウントを作った際に、利用出来るリソース一覧が表示されるので、そこを確認すればよいかと思う。
  • KinesisはKinesisが面白いというより、これを使ったアプリを書くのが楽しいだろうなと思った

とてもワクワクするハンズオンでした。Fusicさん、有り難うございました!