インスタンスタイプの選び方
一般的に、開発環境はT2、本番環境はM5、が使われる。
Amazon LinuxとAmazon Linux2の違い
- Amazon Linux:Red Hat Enterprise Linux 6ベース
- Amazon Linux2:Red Hat Enterprise Linux 7ベース
これから利用するのであればAmazon Linx2を使うべき。
Red Hat Enterprise Linux 6は2020-11-30にサポートが終了する。
大きな違いとしては、サービスの起動/自動起動のコマンドの違いがある。
また、RHEL6のMySQLはRHEL7ではMariaDBになっている。
- RHEL6
service サービス名 start
service サービス名 status
chkconfig script名 on/off
- RHEL7
systemctl start サービス名
systemctl status サービス名
systemctl enable/disable サービス名
EC2に割り当てられるプライベートIP
EC2インスタンスには、サブネットとして設定したIPアドレスの一部が自動的に割り当てられる。先頭から4つと末尾は予約されているため使えない。
たとえば、172.31.0.0~172.31.255.255のサブネットであれば、172.31.0.4から順に割り当てられる。
セキュリティグループ
ネットワークとEC2インスタンスの間に置かれるファイアウォール。
デフォルトではdefaultという名前のセキュリティグループが適用されている。
(アウトバウンド=全許可、インバウンド=全拒否)
「セキュリティグループ」という名前なのでわかりづらいが、簡単に言うとファイアウォールのポート開放設定のこと。WEBサーバであれば、インバウンドの22,80,443を開放する。 PING応答させるならICMPプロトコルを開放する。 ※ICMPにはポート番号はない
EC2インスタンスのNameタグ
EC2インスタンスのNameタグは必ず設定するべき。
設定しないとランダム文字列が設定されてしまうため。
EC2インスタンスは自分のパブリックIPを知らない
EC2インスタンスに割り当てられているのはプライベートIPだけ。
パブリックIPはインターネットゲートウェイで変換されている。
よって、EC2インスタンスは通常の方法では自分のパブリックIPを知ることはできない。
ECインスタンス自信から以下のURLへアクセスすると、インスタンスメタデータいう特殊な情報を取得することができ、パブリックIPも含まれている。
※curlやwgetでEC2インスタンス上からアクセスする
- http://169.254.169.254/latest/meta-data/
全インスタンスメタデータの取得 - http://169.254.169.254/latest/meta-data/public-ipv4/
でパブリックIPの取得
RDSのネットワーク設定
- RDSインスタンスはEC2インスタンスと同じように、必ずどこかのサブネットに配置する必要がある
通常はEC2インスタンスと同じサブネットに配置する。 - RDSにパブリックIPアドレスを割り当てるべきではない
通常は同一VPC内のEC2インスタンスから接続するので、パブリックIPは不要である。 - RDSインスタンスを作成するとエンドポイント(ホスト名)が割り当てられる
エンドポイントはプライベートIPに名前が付けられたものである。 RDSのプライベートIPアドレスは固定ではないため、接続時は必ずエンドポイントを使用する。 - EC2とRDSは同一アベイラビリティゾーンに配置するべき
別アベイラビリティゾーンだと転送費用(1ドル/100GB)がかかり、わずかだがパフォーマンスが劣化する。また、通常はEC2とRDSのどちらかが止まるとシステムも停止するので、別アベイラビリティゾーンに分けても意味がない。
サブネットグループ
RDSを使うためには、VPCの中に異なるアベイラビリティゾーンのサブネットが作成されていなければならない。
あらかじめ複数のサブネットをサブネットグループとして登録しておく必要がある
なお、デフォルトVPCにはdefaultという名前のサブネットグループが作成済みである。
RDSのセキュリティグループ設定
EC2インスタンスに設定したセキュリティグループからのインバウンドをすべて許可する。EC2のプライベートIP指定で許可しても問題ないが、EC2インスタンスが増えたときを考慮するとセキュリティグループ指定で許可する方がベター。
RDSのスナップショット
RDS管理画面の「スナップショットの取得」でバックアップを作成することができる。 スナップショットデータは課金対象なので、不要なものは削除した方がよい。 スナップショット=バックアップ
RDSには、スナップショットを既存のインスタンスへ復元する機能はない。 スナップショットからの復元を行うと、新しいRDSインスタンスが作成される。
コメント