Amazon EC2 のベストプラクティス

Security

  • ID フェデレーション、IAM ユーザー、IAM ロールを使用して、AWS リソースおよび API へのアクセスを管理する。
  • AWS アクセス認証情報の作成、配布、ローテーション、および取り消しを行うための認証情報管理のポリシーおよび手順を確立する。
  • セキュリティグループに対して、最小権限となるルールを適用する。セキュリティグループのルール
  • 定期的にインスタンスのオペレーティングシステムやアプリケーションに対してパッチ処理、更新、および保護を行う。

Storage

  • データの永続性、バックアップ、および復元に対するルートデバイスタイプの影響について理解する。
  • オペレーティングシステム用およびデータ用として個別に Amazon EBS ボリュームを使用する。データのボリュームがインスタンス終了後も保持されることを確認する。
  • インスタンスで一時データの格納に使用できるインスタンスストアを使用する。
    • インスタンスを停止、休止、または終了すると、インスタンスストアに格納されたデータは削除されることに注意。
    • データベースストレージにインスタンスストアを使用する場合は、耐障害性を確保するレプリケーション係数が設定されたクラスターがあることを確認する。
  • EBS ボリュームとスナップショットを暗号化する。

リソース管理

  • AWS リソースを追跡および識別するために、インスタンスメタデータおよびリソースのカスタムタグを使用する。
  • Amazon EC2 の現在の制限を表示する。制限の引き上げに対するリクエストは、制限の引き上げが必要となる前に計画する。

バックアップと復旧

  • 定期的に Amazon EBS スナップショットを使用して EBS ボリュームをバックアップし、インスタンスから Amazon Machine Image (AMI) を作成して、それ以降にインスタンスを起動するためのテンプレートとして設定を保存する。
  • 複数のアベイラビリティゾーンにアプリケーションの重要なコンポーネントをデプロイし、データを適切にレプリケートする。
  • インスタンスが再開したときに、動的な IP アドレスを処理するアプリケーションを設計する。
  • イベントを管理し、対応する。
  • フェイルオーバーを処理する準備が整っていることを確認する。基本的な解決策として、手動でネットワークインターフェイスをアタッチすることも、代替インスタンスに Elastic IP アドレスを関連付けることも可能。
  • 自動化されたソリューションとして Amazon EC2 Auto Scaling を使用できる。
  • 障害が発生した場合にインスタンスと Amazon EBS ボリュームを復元するプロセスを定期的にテストする。

Networking

  • アプリケーションの TTL (有効時間) 値を IPv4 と IPv6 で 255 に設定する。小さい値を使用すると、アプリケーショントラフィックの送信中に TTL が期限切れになり、インスタンスの到達可能性の問題が発生する危険性がある。