五島移住エンジニアの日々

2024年夏、五島に移住します!移住に関する情報や、エンジニアとしてのアウトプットなど中心に書いていきます!

AWSクラウドプラクティショナー 第9章 管理サービス

クラウドラクティショナー勉強録シリーズ。
toyamadori.hatenablog.com



一般技術キーワード

フォールトトレランス

耐障害性のこと。

概念や手法

  • 冗長性
  • 自己修復
  • フェイルオーバー
  • グレースフルデグレード
    • 機能の一部が制限された状態でも動作し続けることができるように設計すること
  • モニタリングと通知

CloudWatch

メトリクスの収集、可視化、ログの収集などを行うサービス。

標準メトリクス

AWSが追加設定無しで自動的に収集するメトリクス情報。
あくまでOSの範囲内の情報にとどまるので、それ以上はAWSユーザー側の責任でカスタムメトリクスとして設定し収集する。

(標準メトリクスの例)

  • EC2 インスタンスメトリクス
    • CPU使用率
    • ネットワーク入出力
    • ディスク読み書き
  • S3 バケットメトリクス
  • RDS データベースメトリクス
    • データベース接続数
    • データベースのストレージ使用量

CloudWatchエージェント

カスタムメトリクスを書き込むプログラム。
EC2へインストールし、IAMロールを作成すれば使用できる。

SNS

Amazon Simple Notification Serviceの略。
CloudWatchからSNSへ通知し、そこから更にメールやLambdaと連携ができる。


Trusted Advisor

AWSアカウントのベストプラクティスに基づいて、最適化の提案やセキュリティの改善などを提供するためのツール。

コスト最適化

ここを見直せばコストを削減できるという情報を提供してくれる。

パフォーマンス

  • 使用率の高いEC2インスタンス
  • セキュリティグループのルールの増大 多ければ多いほどフィルタリングなどに時間がかかりパフォーマンス低下につながるため
  • CloudFrontのキャッシュのヒット率

セキュリティ

  • S3バケットのアクセス許可
  • リスクの高いポート開放情報のピックアップ
  • EBSやRDSのスナップショットが意図せずパブリックになっていないか
  • ルートアカウントのMFA、IAMの使用 IAMユーザーがいないアカウントはルートアカウントを使用しているということなので要注意

フォールトトレランス

  • EBSのスナップショットが作成されていないか / 作成してから時間が経過していないか
  • EC2やELBが複数のAZにバランス良く配置されているか
  • RDSがマルチAZになっているか

サービス制限

意図しない操作や不正アクセスで過剰請求が発生しないように、デフォルトではEC2のインスタンス数などが制限されている。
制限を上回る利用が見込まれる場合は別途申請が必要となる。


その他の管理ツール

CloudTrail

AWSアカウント無いのAPI呼び出しの記録。

ColoudFormation

AWSリソースやサービスをテンプレートと呼ばれるJSONまたはYAMLで記述し、そこからStackというリソースの集合体を作成するサービス。
このような機能をIaCInfrastructure as Code)と言う。
(DockerイメージとDockerコンテナの関係に近い?)

Elastic Beanstalk

Apatche, NginxなどのWebアプリ向け環境を簡単に構築し、継続的デプロイの自動化や管理を行うサービス。
CloudFormationと違ってテンプレートを作成する必要がない。
Beanstalkは「豆の木」という意味で、"ジャックと豆の木"の木のように雲(クラウド)に届くもの、という意味があるそう


練習問題で引っかかったところ

  • EC2の標準メトリクスにディスク空き容量は含まれない
    OSの範囲に含まれそうなものだが、そもそもOSの選択肢がWindows, Linuxなど自由に選択できたり、ファイルシステムも多岐にわたるので、統一したメトリクスを提供することが難しいため。
  • カスタムメトリクスは有効 / 無効で制御できるものではない
    CloudWatchエージェントを使用しEC2へ書き込む。