blog

program

駆け出したプログラマからの調査報告 #3~AWSでWPをインストール②~ 

6月ですね梅雨ですね。ありとあらゆる防水グッズを駆使して、雨とも仲良くなろうと努めている林田です。

前回の「駆け出したプログラマからの調査報告 #2~AWSでWPをインストール①~」でAWSの概要をご説明させていただきましたので、今回は実際にAWSアカウントの作成と、アカウントを作ったら最初にやっておくべきIAM設定というものについて解説していきたいと思います。

AWSアカウントを作る

何はともあれ、アカウントを作りましょう。
AWSのアカウントを作成するのに必要になるのは、

  • メールアドレス
  • クレジットカード

だけです!

クレジットカード情報は入力必須ではありますが、無料利用枠があるので「とりあえず使ってみようかな」というような使用方法なら、最初一年間は支払いが発生することはないかと思います。また、AWSは各サービスの起動時間にしたがって課金される仕組みになっているので、二年目以降も何も使わなければ費用は不要です。

基本的に上記の二つと登録者の情報を入力していくだけで登録作業は完了しますが、電話認証のところで少し手間取ったのでそれについて書いておきます。

クレジットカード情報の入力まで済むと、本人確認のためにPC画面に表示されている認証コードを電話機から入力するよう求められます。電話はなんでもいいということだったので、自分のiPhoneの番号にかかってくるようにしたのですが、その電話を受けてコードを入力してもなぜか認証が通らなかったのです。

いろいろ調べてみても有用な情報は出てこずしばらく困っていましたが、電話の向こうで自動音声が「数字を読み上げくれても認証できますよ(この私ならね)」というようなことをいっていたのを思い出して、どうせ無理だろうと思いながら試しに読み上げてみたところなんと、認証に通りました。

どうやらiPhoneからだとボタン入力では上手く認識されないらしいので、同じように電話認証が通らなくてお困りの方は数字を読み上げてみられるとよいかもしれません。

鬼門の電話認証を終えたらもう、あなたはAWSアカウントを手に入れたようなものです。
AWSサポートプランの選択というステップもありますが、迷わず「ベーシック(無料)」でいきましょう。

まず最初にやること、それはIAM

アカウントが作成できてから、まず最初にやることはログイン後に開かれるコンソールにところせましと並ぶ、無数のサービス群を眺めてその数に圧倒されながら「おおぉ」という嘆息をもらすことでしょう。しかし圧倒されてばかりではいけません。我々にはそこからすぐさま立ち直って、やっておかなければならないことがあるのですから。そう、それがIAM設定です。これです。

“Identity & Access Management”の略なのですね、IAM。なかなかよくできた名前です。
IAM設定でできること、しなければならないことはその名前の通りです。今回作ったAWSアカウントの下で作業する人々の「認証情報の登録」と、「権限の割り当て」ができるので、まずはその設定をします。
「一人で使うだけだから関係ないや」と思われた方もご注意ください。
AWSアカウントにはルートアカウントの認証情報が含まれているため、そのアカウントが管理するすべてのリソースに対して完全なアクセス権限をもちます。また、このアカウントには権限に制約をつけることができないので、普段の作業にはこのアカウントを使わずに、同様のフルアクセス権限を有するIAMユーザーを作ってそれで作業をされることをおすすめします。そのようにしておけば、万一認証情報が盗まれてしまったときなどにも、AWSアカウントでそのIAMユーザーを削除することで対応することができます。

それでは具体的な設定方法を見ていきましょう。

IAM設定は、「ポリシー」「ユーザー」「グループ」「ロール」という4つの概念によって成り立っています。

ポリシー:

AWSのリソースに対する権限のことで、ユーザーやグループに割り当てることができます。典型的な権限がプリセットで沢山用意されているほか、それらのプリセットを好みにカスタマイズしたり、独自のポリシーを一から自分で作成することもできます。

これは「AmazonEC2RoleforAWSCodeDeploy」というプリセットのポリシーをカスタマイズしようとしているところです。一度作ったポリシーは先ほどのリストに追加され、同じアカウントの中でなら何度でも再利用することができます。

ユーザー:

その名の通り、作業を行う個々のアカウントです。ユーザーを作成してサインイン情報を設定すると、そのユーザーとしてコンソールにサインインできるようになります。そしてそのユーザーには、ポリシーで割り当てられた権限の範囲内に限ってリソースを操作することが許されることになります。また、ユーザー作成時に発行される認証キーを使うことで、個人の開発環境からもS3への画像のアップロードなどの許可された操作を行うこともできます。

グループ:

これも名前の通りですね。同様の権限を割り当てたいユーザーが複数人いるときには、彼らを一つのグループに登録しておいてそこに任意のポリシーを割り当てることで、彼らの権限を一括で管理することができます。

ロール:

上記のポリシーを、人ではなくEC2インスタンスなどに割り当てるのに使うのがロールです。「ん?」といった感じかもしれませんが、例えば、アプリケーションなどからS3に画像を保存しようとする場合、そのための権限をもった認証情報が必要になります。このロールを使うと、認証情報をサーバーにべた書きすることなくそのような権限をEC2インスタンスなどに付与することができるようになるのです。

4つをまとめるとこんな感じでしょうか。

01

ロールは少し難しいですが、とりあえずは上の3つで大丈夫なので、とにかく先へ進みましょう。

まずはフルアクセス権限をもつ管理用ユーザーを作ります。

管理用ユーザーの作成

ナビゲーションの「ユーザー」から「新規ユーザーの作成」を選びます。

作成するユーザーの名前を入力して「作成」を押すと、下のような画面が現れます。

「最後の機会」です。そこまでいわれるとダウンロードしておいた方がいいような気がしてくるなあと思ったあなたの感覚は間違っていません。忘れずにダウンロードしておきましょう。

「閉じる」を押すとユーザー一覧ページに遷移するので、今作ったユーザーの名前があることを確認したら、次はポリシーの設定です。

名前をクリックするとユーザーの設定画面が開きます。「アクセス許可」のタブから「ポリシーのアタッチ」をクリックしましょう。

沢山ありますが、今回は管理用ユーザーを作ることが目的なので「AdministratorAccess」でOKです。ポリシーのアタッチができたら次が最後のサインイン設定になります。コンソールにサインインするためのパスワードを生成します。

「認証情報」のタブを選んで「パスワードの管理」です。設定方法を選択してパスワードを設定すると、下記のページが現れます。また「最後の機会」です。

今回もやはり意地を張らずに、AWSのいいなりになっておきましょう。

さあ、これでようやく管理用のIAMユーザーの作成が完了しました。IAMユーザーでサインインしなおすため、一度サインアウトしましょう。

最後のサインイン情報設定のところでダウンロードしたcredentialsというファイルの、”Direct Signin Link”という項目のURLがIAMユーザー用のサインインパスになります。そこにアクセスしてユーザー名とパスワードを打てば、コンソールにサインインできます。

やりました!入れました!入れましたよね?このユーザーはAWSアカウントと同等の権限を有しているので、今後管理者として行う操作は基本的にこのアカウントで行っていくことになります。

おわりに

今回はAWSアカウントの作成とIAM設定についてみてきましたが、いかがでしたでしょうか。

IAM設定もチーム開発向けにポリシーをカスタマイズしたりしようとすると、どこまでも奥深いサービスなのですが、この連載の目的は「EC2でWordPressサイトを構築」することなので、IAMについてはこの辺で留めておきます。

これでとりあえず一人で開発を行える環境は整ったので、次回からいよいよ本番に突入していきます。EC2インスタンスを立ててサーバーの設定を行うところをご説明させていただく予定であります。

どうかお楽しみに。

このシリーズの記事

AWSでWPをインストール①~AWSを利用するうえで必要な知識~

AWSでWPをインストール②~IAM設定について~

AWSでWPをインストール③~EC2インスタンスの立ち上げ~

AWSでWPをインストール④~EC2インスタンスの環境構築~