連載
» 2017年03月07日 05時00分 公開

AWSとAmazon EMRを利用してみるきょうから試せる Hadoop“スモールスタート”ガイド(6)(2/6 ページ)

[佐々木達也,著]

AWSのサービスを利用する

AWSのアカウントの取得

 さて、ここからはEMRを利用するための環境を整えていきたいと思います。まずはAWSのTOPページの右側から「今すぐサインアップ」をクリックしてAWSアカウントを作成しましょう※25。このAWSアカウントを使ってAWSの提供しているさまざまなサービスを利用することになります。

※25 (参考リンク)アカウント作成の流れ | アマゾン ウェブ サービス(AWS 日本語)


図3-15 AWSのアカウント作成 AWSのアカウント作成

 まず、サインアップページが表示されます※26。メールアドレスを入力して、「I am a new user.」にチェックを付けて進んでください。ここで入力したメールアドレスがAWSアカウントのIDとなり、今後ログインするときに必要となります。

 ※26 すでにアカウントを持っているユーザにとってはログイン画面も兼ねています


図3-16 AWSサインアップ AWSサインアップ

 パスワードを設定後、今度は住所や電話番号を登録するフローとなります。郵便番号や電話番号は必ずハイフン区切りで入力する必要があるようです。注意点を以下にまとめたので参考にしつつ入力してください。

住所や電話番号の登録項目
設定項目 説明 設定例 注意事項
Address Line1 番地 1-1-1 Roppongi
Address Line2 アパート、
マンション名
City 市区町村 Minato-ku
State,
Province or Region
都道府県 Tokyo
Zip or Postal Code 郵便番号 106-0032 ハイフンを省略しない
Country Japan
Phone number 電話番号 090-1111-2222 ハイフンを省略しない
図3-17 住所や電話番号を登録する 住所や電話番号を登録する

 次はクレジットカード情報の登録になります。あくまでもAWSのサービスは従量課金制なので利用しなければ課金は発生しませんが、利用する際にはクレジットカード払いとなるためクレジットカード登録は必須となっています。

 その後、電話による本人確認が行われます。国と受け取り可能な電話番号を指定して「Call me now」をクリックすると英語で電話がかかってきますが、自動応答の音声案内なので安心してください※27。電話がかかってくると同時に、画面の表示が以下のような状態に変化するはずです。

 ※27 筆者は焦りましたが


図3-18 PIN番号 PIN番号

 電話に出ると、PIN番号を入力するように指示されるので画面に表示されている4桁のPIN番号をプッシュ入力します。正しく入力できると本人確認が完了し、電話が切れます。これでAWSアカウントの取得は完了です。

EMRの利用申請

 さて、AWSの各サービスを利用するためには最初に一度だけ、サービスごとに利用申請が必要です。EMRを使うためにはEC2やS3といったサービスも併せて利用することになるのでそられのサービスも含めて申請が必要となりますが、EMRの申請を行えばそれらもまとめて申請されます。

 EMRの利用申請は、EMRのページの右側にある「今すぐ申し込む」をクリックし、AWSアカウントのメールアドレスとパスワードを入力するだけで完了です。忘れずに申請しておきましょう。

S3を利用する

 前章で素のHadoopを使ったときにはHDFSに対してデータの読み書きを行っていましたが、EMRではファイルシステムとしてHDFSの代わりにS3を利用します。そのため、S3へのデータの読み書きが行える状態にしておく必要があります。

 そもそもS3とは容量無制限のストレージであり、ネイティブのAPIやサードパーティーのツールを利用することで、インターネットに接続さえしていればどこからでもデータのアップロードやダウンロードが可能、というストレージサービスです。以下のような特徴を持っています。

  • ひとつのオブジェクト(データ)は最大5テラバイトまで格納可能
  • 格納するオブジェクトの数には制限が無い
  • 99.999999999%(イレブンナイン、9が11個並ぶ)の堅牢性
  • 99.99%の可用性
  • 大規模データの場合、ディスクをAWSに送れば直接S3にもアップロード可能

 料金体系も少し変わっていて、以下のような課金ルールがありデータの転送料金とデータの保持料金とで計算されます。

  • S3へのアップロードは無料
  • S3からのダウンロードは、1ギガバイト当たり最大で$0.125※28
  • 月間のデータの保持料金は、1ギガバイト当たり最大で$0.125※29
  • 同じリージョン内のAWSサービス間のデータ転送は無料

 ※28 アメリカ東部(バージニア)の場合であり、データ量に応じて値段は変動します(編注:価格は執筆当時のものです。以下同)
 ※29 アメリカ東部(バージニア)の場合であり、データ量に応じて値段は変動します


バケットを作成する

 S3ではデータの保管場所をバケットと呼びます※30。S3利用時にはまずこのバケットが必要になるので作成してみましょう。

 ※30 サーバでいうディレクトリのようなものです


 AWSの各サービスはAWSコンソールから使う方法とサードパーティー製のツールを利用する方法、あとはAWSのSDKを利用する方法などがありますが、今回はAWSコンソールから利用してみます。AWSコンソールはAWSのサイト上からアクセスできます。サイト右上の「アカウント/コンソール」から「AWS Management Console」を選択してください。

図3-19 AWSコンソールを開く AWSコンソールを開く

 EC2やS3、EMRなど各サービスごとにコンソールが用意されています。画面上にある「Services」タブから利用したいサービスを選択することで切り替えられます。今回はS3のコンソールを開きましょう。ちなみに、左上のオレンジのアイコンをクリックするとコンソール画面を開いたときにどのサービスのものを最初に表示するかを切り替えられます。よく利用するサービスを最初に表示するようにすると素早くアクセスできて便利です。

図3-20 サービス毎にコンソールがある サービス毎にコンソールがある

 S3のコンソールから、「Create Bucket」をクリックし、新たにバケットを作成します。バケット名は任意ですがS3内でユニークな名前を付けないといけません※31。今回はsasata299という名前でバケットを作成しました。

 ※31 つまり早い者勝ちということです


 また、利用するリージョンはどこでも良いですが、S3は同じリージョン内では課金が発生しないという特徴を持っているため、EMR利用時と同じリージョンを使うようにすると良いでしょう。ここではUS Standard(アメリカ東部)を選択しました。

 作成したバケットの下にはフォルダを作成して階層構造とすることも可能です。今回はEMR利用時のデータの読み込み先として、先ほど作成したsasata299バケットの中にinputフォルダを作ってみました。

バケットを作成してその中にinputフォルダを作成した バケットを作成してその中にinputフォルダを作成した

AWSコンソール以外からの利用

 ここまでAWSコンソールを使ってS3を利用してきましたが、サードパーティー製のツールも利用可能で、有名なものだとこれらが挙げられます。特に、データのやり取りが増えてきたりするといちいちコンソールにアクセスして利用するのは大変なので積極的にこれらのツールを利用すると良いでしょう。

 また、処理を自動化したいときにはAWSのSDKを使ってコマンドラインやプログラムからS3を利用することも可能です。そちらもぜひ試してみてください。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。