【超初心者のAWS道場①】新規プロジェクトの立ち上げ時に、既存のAWSアカウントの請求に紐付ける方法

# はじめに

転職前の会社だとインフラ周りの開発に携わることが出来なかったため、現在の会社に転職しました。
面接過程でもその話は何度も質問していて経験できるということで転職を決めたのに、実際に入って見ると「**今は**インフラ・バックエンドの開発要件はない」とのこと・・・！（おいおい！！）
しかし！現在の会社のインフラ全般を構築し、インフラエンジニアとして独立した師匠に弟子入りをし、1から教えてもらえることになったのでその内容を備忘録として残します。
（この記事を書いているちょうど今、バックエンドとインフラでの新規開発要件がきたので業務＋勉強でハードな毎日です・・・）

私のAWSのレベル感としては、静的Webサイトのホスティング・WPを使用したインフラ構築、資格はAWS Cloud Practitionerは保有している程度（＝超初心者）です。

# 今回やりたいこと
- 既存であるAWSのリソースに影響が出ないよう、勉強用の組織（AWSアカウント・IAMユーザー×3）を作る
- 請求は既存のアカウントにまとめる

# 概要
師匠からこれから課題を色々出す前作業として↑をやっておいてほしいと指示があったんですが、結論全然できませんでした！笑
理由としては私は個人レベルでテキトーにAWSを触っていただけで、資格取得の勉強はしたものの自分の身には何にもなってなかったんだと多います・・・
やっぱり個人レベルと業務レベルとでは違うなぁ・・・と痛感しました。。。

**AWS Organization**
AWS Organizationsとは、複数のAWSアカウントを一元管理できるAWSのサービスです。複数のAWSアカウントをグループ化し、そのグループごとに共通のポリシー（して良いこと、悪いこと）を設定することができます。

**AWSアカウント**
**1組織に1つ**あるすべてのリソースやサービスにアクセスすることが可能な強力なルート権限を持ったアカウント。通常は使用せず、別途IAMユーザーを作成して運用することが推奨されている。AWSアカウントが支払い情報を持つことができるので、別請求に分けることももちろん可能です。
（私は1組織に複数のAWSアカウントを作ってしまったことにより、うまく紐付けることができずに苦戦しました・・・）

**IAMユーザー**
IAMユーザーとはAWSアカウントによって生成されるユーザー。複数作成することが可能で、各IAMユーザに対してリソースのアクセス権を割り当て(これをIAMポリシーと呼ぶ)、業務や管理はIAMユーザーで行うことが推奨されている。

詳しくはこちら▼
[AWS Organizationsとは？その仕組みと実現できること、ユースケースを解説](https://www.ashisuto.co.jp/db_blog/article/aws-organizations.html)
[AWS アカウント、IAM ユーザー、IAM グループ、IAM ロールの違い](https://awsjp.com/AWS/hikaku/AWSAccount-IAUser-IAMGroup-hikaku.html)

# 手順
既存のAWSアカウントへログインし、AWS Organizationsへ遷移し、「組織を作成する」をクリックする
![qiita01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/35454bef-92f5-6550-740f-c9bcb9954bd6.png)

正常にAWS組織が作成されると、Root配下に既存AWSアカウントが管理アカウントとして表示される
![qiita02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/38ad16a9-7ee6-0222-deaf-a41489fe0e99.png)

確認メールが送信されているので「Verify your email address」をクリックする
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/67612fcd-4367-a493-b403-06ff95e1c4a4.png" width=40%>

クリックしたら、自動でAWSのページが開きます。
「Eメールアドレスは正常に確認されました。」が出ていたら準備OK！
「AWSアカウントを追加」をクリックする
![qiita04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/60d3ddf0-49b9-978f-95dc-4fec494aa629.png)

AWSアカウントを追加するときに、
①AWSを新規で作る
②既存のアカウントを招待する
どちらか選択できます。

②の場合だとAWSアカウントを作成するときにクレジット情報の登録が必要になってくるので、私みたいに請求をまとめたい人は①を選択する方がいいと思います。
今回は①の流れを説明します。
![qiita05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/9cb8c20a-a0b4-49f9-c364-d1b880de969d.png)
AWSアカウント名・アカウント所有者の E メールアドレスは任意のものを入力、IAM ロール名も任意ですが今回はデフォルトのOrganizationAccountAccessRoleで進めます。
「AWSアカウントを作成」をクリック。

アカウント所有者の E メールアドレスにアカウント開設のメールが届いていたらOK！

AWSのサインインページから、ルートユーザーを選択し↑でメールが届いていたアドレスを入力し「次へ」をクリック
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/216769bd-b6b6-d683-1b21-cd465ec5f1f3.png" width=40%>

パスワードは作成した段階では決めていないので、「パスワードをお忘れですか？」からリセットする
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/58f8572d-dd6c-8e4e-c9e1-c1e9964383f5.png" width=40%>
メールが届くのでそこから自分の任意のものに再設定をし、ルートユーザーサインインで再設定したパスワードを入力するとログインできるので、これでAWSアカウントの作成完了！
この時点で請求は既存のAWSアカウントに紐づいているのでご安心ください。

ここからは新規AWSアカウントからIAMユーザーを作成して行きます。
IAMのページへ遷移し、サイドメニューのアクセス管理＞ユーザーをクリック
![qiita08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/b3ade105-cc79-1fe9-ff99-3f7855dd6f82.png)

「ユーザーを追加」をクリック
![qiita09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/a3da34d0-a6c4-ccc2-fb9e-2cc16323669d.png)

ユーザー詳細の設定内の、ユーザー名の数分だけユーザーが作成されるので同じ権限のユーザーがたくさんいる場合には一気に作った方が楽です。
追加する場合は、「別のユーザーの追加」をクリックするとユーザー名の入力欄が追加されるので任意の数だけ使用してください。

AWSアクセスの種類を選択は好きなものを選んでください。
私は画像のような設定にし、「次のステップ：アクセス権限」をクリック
![qiita10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/605015fe-14d4-8109-fe52-631e13547bb0.png)

今回のIAMユーザーは全て同じグループで管理し、グループにポリシーを付与して使用します。
同じかたは「グループの作成」をクリック
![qiita11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/db74605c-385f-1641-e8e8-1863ed016741.png)

グループ名とアタッチしたいポリシーを選択し、「グループの作成」をクリックし、元の画面の「次のステップ：タグ」をクリック
![qiita12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/a788cca7-665b-d432-566a-4e06e2ebcacc.png)

タグは特に設定しないので、そのまま「次のステップ」をクリック
確認し、問題なければ「ユーザーの作成」をクリック
![qiita13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/1753e6ef-9df1-d79a-a2c3-032a7c9061d8.png)

ユーザーが作成されました。
使用する人への共有はCSVかメールで送ることが可能です。
![qiita14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/a6b7b88d-159f-9ef8-72f6-27a70b717a61.png)

実際の操作の時はCSVにしましたが、メールでも便利そう。文面コピーしてコミュニケーションツールで投げてもいいかも。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/0c3c04ae-02e8-a01f-9fbd-f68218cddc20.png" width=40%>

「閉じる」をクリックし、元の画面に今作成したIAMユーザー名が出ていたら完了です！
![qiita16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2605461/62a5c653-e245-7e40-dd50-e07347366a0c.png)

あとはCSVやメール等で共有したアカウントに、実際に使用するユーザーにログインしてもらえば大丈夫です。
こうやってまとめると簡単だなーとか思うのに、やってる時はだんだんよくわからなくなってきて？？？でしたw

# つまづいたポイント
①AWSアカウントとIAMユーザーの違いがよくわかっていなかったこと！
②1組織には、1AWSアカウントのみ！
③既存AWSアカウントから新規AWSアカウントが作成できるのに、新規AWSアカウントを先に作成してしまいその時に不要なクレジット情報を登録してしまったこと！

実際の課題の前段階でつまづいてしまい師匠から若干引かれてしまいましたが、汚名払拭できるようにゆる〜く頑張ります！