サイトアイコン 上尾市のWEBプログラマーによるブログ

「AWSをはじめよう」の感想・備忘録1

Kindle本「AWSをはじめよう」のまとめ。

点数

94点

感想

とてもよかった。
本当の初心者でも理解できる内容だった。

基本

CloudWatchで請求アラートを設定

  1. 右上のユーザー名⇒請求ダッシュボード⇒設定
  2. 「請求アラートを受け取る」をチェック⇒設定の保存
  3. 「請求アラートを管理する」リンク⇒アラーム⇒請求⇒アラームの作成⇒「超過」「通知の送信先」を入力⇒アラームの作成
  4. メールが届くのでConfirm subscriptionをクリック⇒アラームの表示

IAMユーザー作成

グループの作成方法

  1. サービス⇒セキュリティ、 アイデンティティ、 コンプライアンス⇒IAMグループ⇒新しいグループの作成
  2. グループ名入力
  3. ポリシーを選択

普段はルートではなくIAMユーザーを使うようにする。
IAM:Identify and Access Management
ログが残るので、IAMユーザーを1人につき1つ作成するべき。

MFA(多要素認証)

パスワード認証だけでなく、スマホ認証などを追加することがきでる。

  1. IMA⇒ユーザー⇒ユーザーを選択
  2. 認証情報タブ⇒MFA デバイスの割り当て⇒仮想 MFA デバイス
  3. Google認証アプリでQRを読み取る
  4. コードを2つ入力

専用のMFAデバイス(キーホルダーなど)を購入するか、Google認証システムというスマホアプリを疑似的なMFAデバイスとして使う。

ルートユーザーのMFA有効化

IAM⇒ルートアカウントのMFAの有効化

QRを複数端末で読み取れば、複数端末で認証可能。

CloudTrail

操作履歴を保存してくれるサービス。デフォルトで有効になっている(期間は90日)
管理とガバナンス⇒CloudTrail

アカウントの停止

何を使っているか忘れてしまって全部消せるか心配、という場合はAWSアカウントを停止するという方法もある。
ルートユーザで右上のユーザー名⇒アカウント⇒一番下にあるアカウントの解約

インスタンスを削除せずにアカウントを解約した場合、インスタンスが解約後すぐに消えるわけではない。
90日間は再開可能。
90日を過ぎると同じメアドでアカウントを作ることもできなくなる。

EC2

EC2インスタンス作成

  1. EC2⇒インスタンスの作成
  2. Amazon Linux AMI⇒インスタンスタイプ選択
  3. ディスクサイズ入力
  4. セキュリティグループ設定⇒秘密鍵のダウンロード

※秘密鍵は再ダウンロード不可なので注意!!
Amazon Linux:RHEL6系=CentOS6
Amazon Linux2:RHEL7系=CentOS7

インスタンスタイプ

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で固定にできる。

  1. Elastic IP⇒新しいアドレスの割り当て⇒割り当て⇒アドレスの関連付け
  2. インスタンスとプライベートIPを選択

Elastic IPは1つのAWSアカウントで最大5つまで。

Apache

Amazon LinuxのyumではPHPをインストールするとApache2.4もインストールされる。

Linux

初期設定

タイムゾーン設定

vi /etc/sysconfig/clockZONE="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/i18nLANG=en_US.UTF-8LANG=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を確認可能。

裏側では以下の処理が実行されている。

モバイルバージョンを終了