AWSの登録とIAMでのユーザー作成についてまとめました。
前項で、ホスティングサービスにAmazon Lightsailを選択し、実利用までを駆け足で説明しましたが、設定関係で解りにくかった事や設定に躓いた事などをまとめてみます。
私自身、AWSを使用するのが初めてなので、基本的な概念や用語の意味に対する理解度が浅く、使用前は理解出来なかった事などありますが、実際に使用してみると、非常に使いやすいサービスです。
AWSを実際に使用する際に、登録後、登録したアカウントで、そのまま各機能をインストールして使用していくわけではありません。
AWSの機能に対する、実行権限を持つ”別アカウント”を作成し、作成した”別アカウント”で、AWSのサービスにアクセスして、サービスやインスタンスをインストールしたり設定を行い実際に使用して行きます。
この実行権限を持つ”別アカウント”を作成し管理する機能が
”IAM > 正式にはAWS Identity and Access Management”となります。
私もIAMで作成したインスタンスの実行を行える”別アカウント”を使用し
- LightsailにDrupalを設定
- Route53にてドメインを取得
- LightsailでDNSを設定
- Amazon Work Mailでメールアカウントを設定
- Amazon Simple Email Serviceでメールの配信設定
の設定を行っています。
AWSを使用した事がない方が、AWSのドキュメントを読む際に、このIAMって何?となる機能で、私も実際に使用するまで、何故必要なのかがいまいち理解できていなかった機能となります。
今回、AWS登録後、実行権限を持つ別アカウントを管理するIAMについてまとめてみます。
LightsailもAWSのサービスの一つなので、使用するにはAWSにアカウントを作成する必要があります。
まずは、AWSに登録してアカウントを取得します。
- https://aws.amazon.com/jp/ を開きページ上部右の"今すぐ無料サインアップ"をクリックします。
- AWSの新規サインアップ が開きます。英語になっていますのでページ上部右の言語で日本語を選択します。
- ルートユーザーのメールアドレスに使用するメールアドレスを指定し、新しいアカウント名を入力します。
- Eメールアドレスの確認をクリックします。
- AWSにログインしますので、個人/法人、氏名、住所、携帯電話番号などの連絡先情報を入力します。
- クレジットカード情報を入力します。
- サインアップを行うと、携帯電話にSNSで4桁の認証番号が届きます。
- この認証コードを入力し、その後表示されるサポートプランを選択します。
- サインアップをするとAWSのコンソール画面が開きます。
- ログインパスワードや2段階認証などの設定を行います。
これでAWSのアカウントが作成されます。このアカウントが以降でいうルートアカウントになります。
AWSに登録後、ユーザー管理を行う機能であるIAMにて、実際にAWSの機能を使うユーザーを設定する必要があります。IAMは正式にはAWS Identity and Access Managementとなっていて、AWSの機能:AWSではリソースと表現されています:に対してのユーザー毎に使用できる権限を設定する機能になります。
AWSの基本に、登録者がルートと言われる全権を持つユーザーと認識されます。個人の場合、登録者が実際にWEBサイトを構築していくのですが、実際に登録者と同一で、AWSの全機能を触れるユーザーを別で用意する必要があります。
この理由は、セキュリティーの観点と、日常アクセスしていたアカウントが使えなくなるなどの非常時に、サービスにアクセスし復旧出来るエマージェンシー的な役割が必要であり、この役割を全権を持つ登録者に与えています。この登録者のアカウントとは別に、実際にAWSの機能に触れる別アカウントでシステムの構築などを行う事で、実務を行っているアカウントと、緊急時に対応出来る全権を持つアカウントを切り分け、セキュリティーとエマージェンシーの対策をしています。
以下にAWSのルートアカウントとIAMで取得したアカウントの概念をまとめてみます。
3-1.Concepts of AWS and IAM.
Root [ AWS ]
// ルートユーザー = 登録者 > 全権を持ち請求やユーザーの権限を設定出来るアカウントとして使用、普段は利用しないアカウントになります。
// 例) Takeda_AdminというアカウントでAWSに登録しAWSの基本設定を行うが、インスタンスは使用しない
Root > [ AWS Identity and Access Management(IAM) ]
// 最初のIAMの設定は登録者であるTakeda_AdminがAWSの管理画面で設定する。
Root > IAM > [ グループ ]
// IAMのユーザーが所属するグループ。グループ毎に使用できるAWSの機能を設定
// adminというグループを作成し、AWSの機能をフルで使えるグループを作成
Root > IAM > グループ > [ ユーザー ]
// IAM > グループ > ユーザーとなっています。
// 用途によりますが、個人なら1アカウントを作成します。権限は請求管理を除いたAWSの全サービスにアクセス出来る権限を選択します。この事でインスタンスの選定やインストール、設定を行えるアカウントとなります。ここで作成したアカウントをAWSのインスタンスを実行するアカウントとして使用します。
// 例) 作成したadminグループにTakeda_iam01というアカウントを作成しAWSの機能をフルで使える権限を設定。
3-2.Actual use.
// ルートユーザーのログイン
https://signin.aws.amazon.com/console
IAMのログイン画面が表示されますが"ルートユーザーのEメールを使用したサインインを選択"
// 普段は使用せず。
// IAMで設定したユーザーのログイン
https://<12桁の数字>.signin.aws.amazon.com/console
12桁のIAMアカウントが先頭に記されたURLからログイン
普段はこちらでログインを行い、インスタンスの追加や設定をこのアカウントで行う
// LightsailのDrupalのインストールやRoute53でのDNSの設定もこのアカウントで全て行っています。
- AWSの登録 請求情報などの設定:この登録者がルートアカウントになります。
- ルートアカウントでIAMを使用して”実行権限を持つルート以外の実行アカウント”を作成します。
- 上記構成図でルートアカウントは"Takeda_Admin"とします。
- IAMで作成したアカウントが以降AWSを使用するアカウントになります。
- IAMで作成した実際にAWSを使用していくアカウントを"Takeda_iam01"とします。
- "Takeda_iam01"で"https://<12桁のアカウント>.signin.aws.amazon.com/console"にサインインします。
- ここから今後LightsailやDrupalをインストールして行きます。
のような流れで、IAMでAWSを普段使用するアカウントを作成します。作成したアカウントでAWSに目的のインスタンスをインストールしたり設定を行い動かして行きます。
IAMについては外部から漠然と見ていると、必然性が理解出来ないのですが、実際に使用してみると、セキュリティーや、緊急時のエマージェンシー対応など良く考えられています。
本来は、多人数でAWSを使い、システム構築や管理を行う際に、システムに関わる担当者毎の権限管理を行うための機能であり、大掛かりな開発や、大規模なシステム用途を管理する機能を持つインスタンスになります。
以下に今回の記事でまとめたAWSの登録とIAMについての公式ガイドのリンクをまとめます。
- AWSアカウント取得 > 請求とユーザー管理
- IAMで設定した実行ユーザー > 各インスタンスのインストールや設定
を行い、実行ユーザーを作成した事で、AWSのアカウントにLightsailにDrupalをインストール出来る環境になりました。
今回、AWSに登録し、登録したアカウントとは別に、実際にAWSを使用する別アカウントをIAMで作成するというAWSの指示に従い、設定を行った事で、IAMの機能や意味、必然性が理解出来ました。今回、IAMで作成した実行アカウントで、今後のAWSのインスタンスの実行を出来る環境が整いましたので、次項は、Lightsailの選択とDrupalのインストールについてまとめて行きます。
Installing Lightsail and Drupal.
次項では、LightsailにDrupalをインストールして行きます。