目的
AWSの主要サービスであるEC2を網羅的に学ぶ
EC2のリージョン、サブネットは後から変更できない。
重要度⭐️⭐️⭐️⭐️⭐️
まぁ、そりゃそうか
スナップショット取って作り直すしかない
EC2の復元
重要度⭐️⭐️⭐️⭐️
EC2の復元の際に、マシン内部のデータはAMIで保持されるがEIP,セキュリティグループ,IAMロールの挙動
EIP
→復元時に新しいEIPがアタッチされる
IPアドレスが変わって困るケースの方が多いので復元する際はEIPをデタッチして再アタッチするようにする
セキュリティグループ
→同じVPCに復元する際は同じセキュリティグループがアタッチ
違うVPCの場合はVPCのデフォルトのセキュリティグループがアタッチされる
IAMロール
→何もアタッチされない
手動でアタッチする(まぁ自動化できるかもしれんが)
AMIについて
AMIとは
マシンイメージ
EC2はこのAMI内の情報を元にOSやソフト、ミドルを構築する
AMIの種類
重要度⭐️⭐️⭐️⭐️⭐️
AMIの種類
①:クイックスタートAMI
→AWS側で用意されたOSだけのAMI
AmazonLinuxなどは無料枠なのでこれを使ったことがある人は多いはず
②:Marketplace AMI
→企業が作成したAMI
OracleならOracleが既にセットアップされた各OSのAMI
みたいな感じで提供
ただし、ミドルのライセンス料+αのため非常に使用料が高い。
あとドキュメントが基本英語。
③:自分のAMI
→既に存在するEC2から取得したAMI
バックアップなどで使用するケースが多い
④:コミュニティAMI
→公式ではなく、有志が作成したAMI(公式もあるが)
OS、ソフト、ミドルがセットになって提供されているケースが多い。
しかし、厳正な審査はないのでセキュリティ的に安全とは言い切れないのであまり使うケースはない。
AMIとEBSスナップショット
重要度⭐️⭐️⭐️
AMIは『EBSスナップショット』+『インスタンス構成情報』
AMIを作成するとそれと依存関係を持つEBSスナップショットも作成される。
EBSスナップショットは『EBSのスナップショット』のみ
AMI自体には料金はかからないので基本的にEC2のバックアップはAMIになると思われる。
EBSスナップショット
EBSスナップショットはS3で保存される。
2回目以降は差分バックアップ方式
EBSスナップショットは有料(約0.05 USD/GB/月)
EC2スナップショットの自動取得&世代管理
Data Lifecycle Manager
重要度⭐️⭐️⭐️
EC2のAMIバックアップの世代管理/自動取得はDLM(Data Lifecycle Manager)で可能
日付/日時でバックアップ頻度を指定できる
また、AMIはリージョン間コピー可能
バックアップのターゲットはタグ指定のみ
クロスアカウントコピーは非対応
AWS Backup
重要度⭐️⭐️⭐️⭐️
Data Lifecycle ManagerはEC2/EBS特化のバックアップサービスに対してこっちはほぼすべてのサービスに対応しています。
自動取得/世代管理/リージョン間コピーにももちろん対応
バックアップの信頼度/柔軟性はData Lifecycle Managerより高いですが、コストは割高です。
AWS Backupはクロスアカウントコピーにも対応
また、RDSなども一括でバックアップできるため全体での復元が容易
でもAWS Backup使ってるケースの方が多い気がしている。。。
AWS backupのEC2インスタンス復元の資料
https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restoring-ec2.html?utm_source=chatgpt.com
EC2の時刻同期
重要度⭐️⭐️
LinuxのEC2の時刻同期はAmazonのNTPが自動設定されている。
また時刻同期に使用するサービスはChorny
名称 :: Amazon Time Sync Service
IPアドレス:: 169.254.169.123
この時刻同期の通信はセキュリティグループで制御できず、外部からこのNTPにはアクセスできない。
時刻同期に関するドキュメント
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/set-time.html
EC2はAMIから作り直すとec2-userが復活する
重要度⭐️⭐️⭐️⭐️
EC2を作成するとデフォルトでroot権限を持った「ec2-user」が作られる
運用上は他のユーザーでsudo切り替えなどを行うため、必要性がなく削除することが多い
sudo userdel -r ec2-user
しかし、AMIから作り直すと復活してしまう
これを防ぐためには削除に加えて「ec2-user」でのログイン自体を禁止する必要あり
ec2-userはデフォルトで存在するユーザーかつrootである関係上、一番攻撃対象になりやすい。必ずログイン自体を禁止しておくこと。
EC2のインスタンスサイズ変更制約
重要度⭐️⭐️
EC2の起動時にはインスタンスサイズを選択する。
これは後から変更できるが互換性のあるインスタンスサイズにしか変更できない。
t2.micro → t4g.micro
↑
世代とプロセッサが違うので不可能
その他の制約については下記公式ドキュメント参照
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/resize-limitations.html
(インスタンスタイプによってはEBSのアタッチ数上限があるのは知らなかった)