初心者がやっておきたい4つのポイントを学ぶ
日帰り参加の多田さん、AWSを安全に楽しむコツを白山で語る
2016年07月04日 07時00分更新
JAWS-UG白山が開催した2016年5月14日の勉強会には、東京からサーバーワークスの多田 貞剛氏も駆けつけていた。前半のハンズオンに続き、「私がAWSを始めた頃にやっておいて良かったこと」と題する初心者向けセッションを展開。ハンズオンで初めてAWSに触れた筆者を含め、参加者にとってありがたい情報が満載だった。
「AWSの楽しさを知ってもらいたい」と東京から日帰り参加した多田さん
この日の勉強会の中心は、筆者も参加したAWS初心者向けのハンズオン。その後にミニセッションが用意されていたが、今回はその中から多田さんのセッションレポートをお届けしたい。
多田さんは「初心者にAWSの楽しさを知ってもらうための手伝いをしたい」という気持ちで東京から新幹線と在来線を乗り継いで駆けつけてくれたという、AWS大好き人間。普段はサーバーワークスのクラウドインテグレーション部で、AWSの導入や移行に必要なインフラ環境構築を担当しているエンジニアだ。
「私がAWSを使った経験から、やっておくといいと思うことをまとめました。ポイントは4つ。アカウント周りの設定、利用料金の管理、セキュリティ設定、それからAWSの学習方法についてです」(多田さん)
最初に取り上げたのは、アカウント管理についての話題。AWSに触れるのが初めてという参加者は多かったものの、サーバ管理に関する基礎知識は持っている方がほとんどだった。さすがにrootアカウントをそのまま使って管理するのはまずいとわかっているものの、AWSならではの注意ポイントがどこにあるのかとなると、皆目見当がつかない。
「rootアカウントが乗っ取られたらまずいのは、AWSでも同じです。ではどうするか。ユーザーやグループを管理するIAMという機能を使って別アカウントを作成し、普段はそのアカウントを使います」(多田さん)
AWSに慣れ親しんでいる読者にとっては釈迦に説法かと思うが、IAMとはAWSアカウントにひもづくユーザーIDを作成し、権限を設定する機能。この機能で作成したユーザーIDにはそれぞれ個別のパスワードが設定でき、普段はこのIDとパスワードを使ってAWSマネジメントコンソールにアクセスする。複数人で管理している場合には、誰がどのような操作をしたのかを確認するためにも役立つ。
「ただし、IAMでユーザーIDを発行してrootを使わないようにすれば安心かというと、そうでもありません。実際にIAMで作成したユーザーIDを乗っ取られてAWSに不正アクセスされて利用料金190万円を請求された被害や、不正利用で6千ドルを請求されそうになった話など、怖い話はいっぱいあります。最終的には、パスワードを複雑化するなどして自分の身は自分で守るしかありません」(多田さん)
このパスワードポリシーも、IAMを使って管理する。最小文字数や、少なくとも1つは大文字(または小文字)を使う、記号を混ぜなければならないなどのポリシーを設定できる。また、セキュリティをより強固にするために多要素認証を使うのもお勧めだという。
「私が好んで使っているのは、ソフトウェアを使った多要素認証です。特に個人的なお勧めといえば、Authy、Smartkey、Google Authenticationの3つですね」(多田さん)
中でも多田さんのイチオシは「Authy」だ。Google Authenticationはスマートフォンを使って認証するので、スマートフォンが壊れたらログインできなくなるという欠点がある。Authyもスマートフォンを使って認証するという点では同じなのだが、Web画面からでも認証が可能なため、万が一スマートフォンが壊れてもサーバ管理業務に支障をきたすことがない。
「AWSのセキュリティ機能として提供されている、秘密の質問も設定しておきましょう。多要素認証に必要なデバイスが壊れたときには、この秘密の質問を使ってAWSコンソールにログインすることができます」(多田さん)
アカウント管理が適切に行なわれているかどうかは、IAMのダッシュボードを目安にするといいそうだ。ダッシュボードには、設定すべきセキュリティ項目がいくつか表示されているので、それらをオールグリーンに保つことを意識して運用してほしいと多田さんは語った。
続いては、個人ユーザーにとってはとっても気になる料金の話題。AWSは従量課金制なので、少ししか使わなければ大した料金はかからない。しかし気にせずに使っていればどんどん料金はかさんでしまう。多額の請求にびっくりしないで済むように、自分の財布のひもは自分で締めなければならない。
「料金管理のポイントは3つ。月額料金を定期的に見て把握すること、Billing Alertで予想外の課金を避けること、タグを付けてリソースごとに料金を把握すること」(多田さん)
AWSはアメリカのサービスなので、基本的な料金体系はドル建てになっている。これではわかりにくいので、アカウント設定の「現地通貨設定」を日本円に変更しておこう。こうすれば月額料金も円建てで表示されるようになる。また、個人で使っている場合には、設定した金額を超えるとメールで知らせてくれるBilling Alertもぜひ設定しておきたい。多田さん自身もBilling Alertに助けられた経験があり、ぜひ設定しておくよう勧めていた。
「毎月1ドルくらいしか使っていなかったのに、5ドルを超過したというアラートが届いたことがあります。慌ててコンソールを確認したら、普段は使っていないElastic Searchの利用額が5ドルを超過していたので、慌ててサービスを停止しました。Billing Alertがなければ月末の請求まで気づくことなく、高い利用料金を請求されるところでした」(多田さん)
また、リソースごとにどの程度のコストがかかっているかを把握するために、EC2やS3のインスタンスにタグ名をつけておくといいとのこと。コストエクスプローラーで料金を確認する際に、各リソースがタグ名で表示されるようになりわかりやすい。
この連載の記事
-
第17回
デジタル
年末のJAWS-UG名古屋はre:Inventの振り返りLT(ただしLong Talk) -
第16回
デジタル
AWS IoTでトイレ予約システムを作った中村さんの戦い -
第15回
デジタル
CMSをフレームワークとして活用し、クイックスタートを実現しよう -
第14回
デジタル
クラウドはアジャイル開発本来の力を引き出し、エンジニアの在り方も変える -
第13回
デジタル
ライター重森が体験したJAWS Festa 東海道 2016熱狂の1日 -
第12回
デジタル
「マイル手帳」のバックエンドをServerless Frameworkで構築 -
第11回
デジタル
しずおかオンラインの榊原さん、VPC内のLambdaの苦労を語る -
第10回
デジタル
しずおかランチ開発で得たLambdaとElasticsearch連携時の認証テク -
第9回
デジタル
サーバーレス事例たっぷりのJAWS-UG東海道 in 浜松 -
第8回
デジタル
8月27日、JAWS-UG東海道 in 浜松に行きまーす! -
第7回
デジタル
10月22日は名古屋へ!JAWS Festa 東海道 2016の申し込み開始 - この連載の一覧へ