そもそもAWSとは?
- AWSとはAmazon Web Servicesの略で、Amazonが提供しているクラウドコンピューティングサービスの総称。
- 世界中にサービス拠点(リージョン)を持ち、利用したい人はアカウントを作成するだけで、AWS が提供する 170 以上のサービス、たとえばサーバーやデータベースの機能をWebブラウザだけですぐに利用が可能になる。
従来の物理サーバーとの違いとは
- クラウドコンピューティングサービスが登場する前まで、サーバーを利用する必要があれば自社の建物の中などにサーバー機器を設置して「オンプレミス」で運用するのが一般的だった。
- クラウドコンピューティングでは、「サーバー機器を購入する」「管理する」「スペースを確保する」「納期の間、待つ」といった必要がなくなる。
参考
rootユーザーとIAMユーザー
rootユーザーとは?
- AWSのrootユーザーとは、AWSアカウント作成時に設定したメールアドレスとパスワードでログインできるユーザーのこと。
- このルートユーザーは、すべてのリソースに対して無制限なアクセスが可能なので、もし認証情報(メールアドレスとパスワード)が悪意のある第三者に漏洩しアカウントへの侵入を許した場合、非常に危険。
- そのため、公式ユーザーガイドのベストプラクティスにもこう記載されている。
AWSアカウントのルートユーザーのベストプラクティス
ルートユーザーの認証情報が必要なタスクがある場合を除き、AWS アカウントのルートユーザーにはアクセスしないことを強くお勧めします。
IAMユーザー
- rootユーザーで作業することが好ましくないので、IAMユーザーを作成し権限を付与して使用する。
- IAMユーザーはAWSアカウント内で作成できるユーザーで、紐づけられたIAMポリシー(今回はAdministratorAccess)によって操作できる内容が変化する。
- IAMポリシーを様々なリソースにアタッチして利用する。
- IAMユーザーにIAMポリシーを直接アタッチすることは推奨されていない。
- IAM(Identity and Access Management)の主要サービスはSAAで問われることも多く把握しておく。
参考
- なぜAWSのrootユーザの利用が危険なのか?〜アカウント作成後の運用方法についてまとめてみた〜
- IAMによるAWS権限管理 – プロジェクトメンバーへの権限付与方針に潜む闇
- 【AWS IAM】IAMユーザー、IAMグループ、IAMロール、IAMポリシーの違いを整理
- AWS IAM の概念をざっくり理解する - サーバーワークスエンジニアブログ
Cloud9
- Cloud9では開発に必要なソフトウェアがほとんど最初から入っているため、ローカル開発環境の構築が必要なく、どのパソコンからでも同じ環境下で開発を進めることができる。
- Cloud9自体は無料のサービスだが、実態はEC2インスタンス(独自のサーバーも可)なので実際に使用した分に対しては料金が発生する。
- Cloud9ではインスタンスが動いていることを意識しなくていいためつい放置してしまいがちだが、不要な課金を防ぐためにも自動停止時間を設定し、使用後は削除しておく。
参考