Kindle本「AWSをはじめよう」のまとめ。
点数
94点
感想
とてもよかった。
本当の初心者でも理解できる内容だった。
基本
CloudWatchで請求アラートを設定
- 右上のユーザー名⇒請求ダッシュボード⇒設定
- 「請求アラートを受け取る」をチェック⇒設定の保存
- 「請求アラートを管理する」リンク⇒アラーム⇒請求⇒アラームの作成⇒「超過」「通知の送信先」を入力⇒アラームの作成
- メールが届くのでConfirm subscriptionをクリック⇒アラームの表示
IAMユーザー作成
グループの作成方法
- サービス⇒セキュリティ、 アイデンティティ、 コンプライアンス⇒IAMグループ⇒新しいグループの作成
- グループ名入力
- ポリシーを選択
- AdministratorAccess:一番強い権限(ルートから請求情報へのアクセスやAWS解約権限を引いたもの)
- PowerUserAccess:AdministratorAccessからIAMに関する権限を引いたもの
普段はルートではなくIAMユーザーを使うようにする。
IAM:Identify and Access Management
ログが残るので、IAMユーザーを1人につき1つ作成するべき。
MFA(多要素認証)
パスワード認証だけでなく、スマホ認証などを追加することがきでる。
- IMA⇒ユーザー⇒ユーザーを選択
- 認証情報タブ⇒MFA デバイスの割り当て⇒仮想 MFA デバイス
- Google認証アプリでQRを読み取る
- コードを2つ入力
専用のMFAデバイス(キーホルダーなど)を購入するか、Google認証システムというスマホアプリを疑似的なMFAデバイスとして使う。
ルートユーザーのMFA有効化
IAM⇒ルートアカウントのMFAの有効化
QRを複数端末で読み取れば、複数端末で認証可能。
CloudTrail
操作履歴を保存してくれるサービス。デフォルトで有効になっている(期間は90日)
管理とガバナンス⇒CloudTrail
アカウントの停止
何を使っているか忘れてしまって全部消せるか心配、という場合はAWSアカウントを停止するという方法もある。
ルートユーザで右上のユーザー名⇒アカウント⇒一番下にあるアカウントの解約
インスタンスを削除せずにアカウントを解約した場合、インスタンスが解約後すぐに消えるわけではない。
90日間は再開可能。
90日を過ぎると同じメアドでアカウントを作ることもできなくなる。
EC2
EC2インスタンス作成
- EC2⇒インスタンスの作成
- Amazon Linux AMI⇒インスタンスタイプ選択
- ディスクサイズ入力
- セキュリティグループ設定⇒秘密鍵のダウンロード
※秘密鍵は再ダウンロード不可なので注意!!
Amazon Linux:RHEL6系=CentOS6
Amazon Linux2:RHEL7系=CentOS7
インスタンスタイプ
- t:汎用
- m:汎用(高性能)
- c:CPU重視
- r:メモリ重視
T2系のバーストモード
たとえばt2.microはCPUが1コアとなっているが、実際はベースラインという「普段はここまで使える」というラインがある。
t2.microのベースラインはなんとたったの10%なので、普段は1/10コアしか使えない。
サーバが暇でCPU使用率がベースラインを下回っていれば「CPUクレジット」というものが貯まっていく。
t2.microなら1時間あたり6ずつ貯まり、最大で144まで蓄積できる。有効期間は24時間。
CPU使用率がベースラインの10%を超えるとバーストモードになり、CPUを100%使えるようになる。
バーストモード中は1分間にCPUクレジットが1消費される。
t2.microだと最大で144分しかバーストできない。
つまりCPU使用率10%を超える状態が2時間半続いたら、バーストが終了し強制的にCPU10%までしか使えなくなってしまう。
今までオンプレミスでCPUが1コアだったからといって、AWSでt2.microを選ぶと実質は0.1コアなのでサイトが落ちまくる可能性がある。
Unlimitedオプション
CPUクレジットが尽きたら追加課金でバーストモードを延長できるT2 Unlimitedというオプションもあるが、延々課金されるくらいなら上位のインスタンスタイプを選ぶべき。
※ T3系はUnlimitedがデフォルトで有効になっているので注意!!
デフォルトユーザ名
ec2-user
rootパスワード設定
sudo su -
passwd
グローバルIP
停止するとIPが変ってしまう。再起動だと変わらない。
Elastic IPで固定にできる。
- Elastic IP⇒新しいアドレスの割り当て⇒割り当て⇒アドレスの関連付け
- インスタンスとプライベートIPを選択
Elastic IPは1つのAWSアカウントで最大5つまで。
Apache
Amazon LinuxのyumではPHPをインストールするとApache2.4もインストールされる。
Linux
初期設定
タイムゾーン設定
vi /etc/sysconfig/clock
でZONE="UTC"
をZONE="Asia/Tokyo"
にするln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
historyコマンドで日付も表示、件数を1000⇒2000に変更
vi /etc/bashrc
で末尾に以下を追記HISTTIMEFORMAT='%F %T '
HISTFILESIZE=2000
言語設定
vi /etc/sysconfig/i18n
でLANG=en_US.UTF-8
をLANG=ja_JP.UTF-8
にする。
※通常のLinuxだとこれだけでいいが、Amazon Linuxの場合、AMIからのインスタンス復元時に戻ってしまうので、以下の編集も必要vi /etc/cloud/cloud.cfg
で末尾にlocale: ja_JP.UTF-8
を追記
インストール済みパッケージのアップデート
sudo yum -y update
ターミナル終了時はexitコマンドで閉じる
historyコマンドはexitコマンドで閉じるときに履歴が書き込まれる。
×でターミナルと閉じたり、ネットワークが切断されると記録されない。
rewrite
yumでインストールしたhttpdは、デフォルトではmod_rewriteが効かない。vi /etc/httpd/conf/httpd.conf
AllowOverrideがNoneになっているのでAllにする
EBSスナップショットの作成
インスタンス停止中、またはEBSボリュームをアンマウントしてから行う必要がある。
AMIの作成
AMIを作成すると、スナップショットとAMIが作成される。
EC2⇒インスタンス⇒右クリック⇒イメージ⇒イメージの作成⇒イメージ名を入力(他はそのまま)⇒イメージの作成
左メニューのスナップショットで作成済みAMIを確認可能。
左メニューのAMIで作成済みAMIを確認可能。
裏側では以下の処理が実行されている。
- インスタンス停止
- EBSのスナップショットを作成
- スナップショットからAMIを作成
- インスタンス起動