セキュリティと運用について
セキュリティの確保
Security:セキュリティ
AWS内のデータ/システム/アセットを保護しモニタリングによりセキュリティを高める
【設計事項】
◾️全てのレイヤーでのセキュリティを適用
◾️アクセス追跡、モニタリングの確実な実施
◾️条件ドリブンのアラートをトリガーとしてセキュリティイベントへの応答を自動化
◾️AWS責任共有モデルに基づく対象範囲の保護に集中する
◾️セキュリティのベストプラクティスの自動化
・ソフトウェアベースのセキュリティ設定を使用し、
迅速でコスト効率のいいスケーリングを安全に実行する
・仮想サーバーのカスタムベースラインイメージによる新サーバーへの適用自動化
・インフラストラクチャ全体のテンプレ化による管理
セキュリティの主要サービス
◾️データ保護 ELB、EBS、S3、RDS、KMS
◾️権限管理 IAM、MFA
◾️インフラ保護 VPC
◾️検出制御 Cloud Trail、CloudWatch、AWSGuardDuty、AmazonInspector
データ保護:暗号化
多くのDBサービスはKMSと統合されており、暗号化を容易に実施できる CloudHSMは不正使用防止策が取られている専用HWモジュール(HSM)により暗号キーを保護するサービス 厳しい暗号化要件に対応するために利用
S3はデータ保護のためにAWS認証情報によるアクセス制御と暗号化を実施 ◾️サーバーサイド暗号化 ・AWSのサーバーリソースを利用して格納データの暗号化を実施 ・暗号化タイプ:SSE-S3 / SSE-KMS / SSE-C
◾️クライアントサイド暗号化 ・暗号化プロセスをユーザー側で管理する ・暗号化タイプ AWS KMSで管理されたカスタマーキーで暗号化 クライアントが管理するマスターキーで暗号化
RDSはセキュリティグループによる制御とデータ接続の暗号化とリソースの暗号化を実施 ◾️セキュリティグループ ・DBのSGでDBインスタンスへのアクセス制御 ・VPCのSGでVPC内のインスタンスへのアクセス制御 ・EC2のSGでEC2インスタンスへのアクセス制御
◾️データ接続の暗号化 ・SSL / TLSを用いてアプリケーションとDBインスタンス間のデータ接続を暗号化
◾️リソースの暗号化 ・暗号化オプションにより保管データを暗号化
責任共有モデル
セキュリティに対してAWSとユーザーとで責任分界して対応する責任共有モデルとなっている
ユーザー側の責任範囲 ・IAMによるアカウント管理 ・セキュリティグループの設定 ・アプリケーションのロールベースのアクセス設定 ・ネットワーク / インスタンスオペレーションシステム(バッチ)などの設定 ・OS / ホストベースのファイアーウォール設置
権限管理:AWS Directory Service
ディレクトリサービスとはユーザーに関わる各種情報を保管してユーザー認証を実現する仕組み
◾️管理するユーザー情報 ・ID、ユーザー名、名字氏名、部署、グループ、担当、電話番号、メールアドレス、パスワード
◾️実現する機能 ・IDとアクセス管理 運用効率の向上、コンプライアンス向上、セキュリティの強化など
・アプリのアクセス制御 ファイル共有 パッチ管理など
AWSに新しいディレクトリを作成するか、既存のActiceDirectory認証を利用した制御を実現 ◾️Simple AD AWSに新規ディレクトリを作成
◾️AD Connector 既存のディレクトリをAWSに接続
権限管理:Security Token Service(STS)
STSは限定的で一時的なセキュリティ認証情報を提供するサービス
権限管理:Amazon Cognito
シンプルでセキュアなユーザーのサインアップ、サインイン、およびアクセスコントロールをアプリケーションに実装
サブネットの分割
サブネットはインターネットアクセス範囲を定義するために利用する
◾️パブリックサブネット ・インターネットと接続が必要なリソースを揃える ・インターネットとのアクセス制御に利用する
◾️プライベートサブネット ・インターネットから隔離することでセキュリティを高める
VPCアクセス制御
VPCはセキュリティグループとネットワークACLで制御する ◾️セキュリティグループ ・インスタンス単位で制御 ・ステートフル
◾️ネットワークACL ・サブネット単位 ・ステートレス
検出制御
監視やモニタリングを継続的に実施してセキュリティを高める
◾️CloudTrail AWSユーザーの行動ログを取得し、ガバナンス・コンプライアンス、および運用とリスクの監視を行えるように支援する
◾️CloudWatch AWSリソースとAWSで実行するアプリケーションに対して、様々なメトリクスやログを収集、追跡するモニタリングサービス
◾️AWSGuardDuty AWS上で悪意のある操作や不正な動作を継続的にモニタリングする脅威検出サービス
◾️Amazon Inspector 自動的にアプリケーションを検証し、その露出・脆弱性・ベストプラクティスからの逸脱状況を確認し、セキュリティ評価を実施するサービス
監視やモニタリングを継続的に実施してセキュリティを高める ◾️AWS WAF 可用性、セキュリティ侵害、リソースの過剰消費といった一般的なウェブの脆弱性からウェブアプリケーションまたはAPIを保護するウェブアプリケーションファイアウォール
◾️AWS Shield マネージド型の分散サービス妨害(DDoS)に対する保護サービス、AWS Shieldにはスタンダードとアドバンストの2つの階層があり、サポート範囲が異なる
◾️IAM Access Analyzer 外部エンティティと共有されているAmazon S3バケットやIAMロールなど組織とアカウントのリソースを識別し、セキュリティ上のリスクであるリソースとデータへの意図しないアクセスを特定
◾️AWS Security Hub セキュリティアラートを一元的に表示して管理し、コンプライアンスチェックを自動化 監査結果から修正すべき設定の数と現在のセキュリティ状態が把握する
AWS KMS
簡単にデータを暗号化するためのマネージド型暗号化サービス
・暗号鍵の作成、管理、運用を実施するマネージドサービスでAWSマネジメントコンソール、AWSSDKまたはCLIを使用してキーを作成、インポート、ローテーション、削除、管理する ・IAMと連携して鍵のアクセス管理を実施 ・カスタマーマスターキー(CMS)の無効化・有効化・削除を実施し、1年ごとの自動キーローテーションすることが可能 ・CMKを外部から持ち込んで管理することも可能 ・キーを保護するためにFIPS140-2の検証済みまたは検証段階のハードウェアセキュリティモジュールを使用 ・AWSCloudTrailと統合されており、全てのキーの使用ログを表示 ・RDSやS3などの多数のAWSサービスに適用可能 ・KMS SDKを利用することで、アプリケーションにおける暗号化も可能
AWS KMS
RDSでは保存されるデータ・リソースの暗号化と接続の暗号化を実施可能 ◾️カスタマーマスターキー ・暗号化を実行する上で最初に作成されるマスターキー ・暗号化キーを暗号化する ・ローテーションされる
◾️カスタマーデータキー(暗号キー) ・実際のデータの暗号化に利用するキー ・KMSで生成されてCMKで暗号化される
◾️エンベローブ暗号化 ・マスターキーで暗号化をせずに、暗号化したデータキーを利用して暗号化する暗号化方式
エンベローブ暗号化
AWS KMSは簡単にデータを暗号化するためのマネージド型暗号化サービス ・データキーとマスターキーによる暗号化を実施 ・カスタマーマスタキー(CMK)を利用してデータキーを暗号化する
AWS Certificate Manage
Secure Sockets Layer / Transport Layer Sercurity(SSL / TLS)証明書のプロビジョニング、管理、デプロイを実施
コスト最適化
Cost Optimization:コスト最適化 不要なリソースを削減し、最適な料金選択によりコストを最適化すること
【設計事項】 ・不必要なリソース削減 ・透明性のある費用賊課 ・マネージド型サービスの利用によるコスト削減 ・スケールによるコストメリット ・データセンターへの投資不要化
コスト最適化主要サービス
◾️需要と供給の一致 AutoScaling
◾️コスト効率の高いリソース EC2購入方式、TrustedAdvisor
◾️支出の認識 CloudWatch、見積もりツール
◾️継続した最適化 AWS最新情報、TrustedAdvisor
AWSを安く使う
最もシンプルで一番最初にやるべきコスト最適化は無料枠利用の最大利用と最適な料金オプションの選択
AWSの課金方式
AWSは利用料に応じた柔軟な価格設定となっている
◾️従量課金 従量課金による利用料に応じた価格設定が基本
◾️予約による低価格 EC2などの特定のサービスにはリザーブド価格(予約による低価格販売)が実施されている
◾️使うほど安い AWSではボリュームディスカウントを受けることができ、使用量が増えるほど節約できる
AWSの料金設定
他のクラウドサービスとの競争のために頻繁に料金改定がなされるため利用毎に料金表を確認することが基本
EC2の購入オプション
EC2の購入オプションは利用形態や利用期間などに応じて多岐にわたるため、コスト最適な選択をすることが重要 ◾️オンデマンドインスタンス ◾️スポットインスタンス ◾️リザーブドインスタンス ◾️ハードウェア専有インスタンス ◾️DedicatedHost ◾️ベアメタル
EC2のリサーブドインスタンス
利用期間を長期指定して利用する形式で、オンデマンドに比較して最大75%割安になる ◾️利用期間 ・スタンダード 1年40%割引 3年60%割引
・コンバーティブル 1年31%割引 3年54%割引
◾️AZ / インスタンスサイズ / ネットワークタイプ変更可否 ・スタンダード 有
・コンバーティブル 有
◾️インスタンスファミリー / OS / テナンシー / 支払オプションの変更可否 ・スタンダード なし
・コンバーティブル 有
◾️リザーブドインスタンスマーケットプレイスでの販売可否 ・スタンダード 可能
・コンバーティブル 今後となる可能
◾️ユースケース ・一定した状態または使用量が予測可能なワークロード ・災害対策などキャパシティ予約が可能なアプリケーション
EC2のスポットインスタンス
予備のコンピューティング容量を、オンデマンドインスタンスに比べて割引(最大90%引)で利用できるEC2インスタンス
◾️予備用を入札式で利用するためとても安い(最大90%引き) ◾️軌道に通常よりも少し時間がかかる ◾️予備用のため途中で削除される可能性がある →一時的な拡張などの用途で利用
物理的対応可能なインスタンス
物理サーバーにインスタンスを起動して制御が可能なタイプのインスタンス ◾️ハードウェア専有インスタンス ・専用HWのVPCで実行されるEC2インスタンス ・ホストHWのレベルで他のAWSアカウントに属するインスタンスから物理的に分離する ・同じAWSアカウントのインスタンスとはHWを共有する可能性がある
◾️Dedicated Host ・EC2インスタンス容量を完全にお客様専用として利用できる物理サーバー ・サーバーにバインドされた既存のソフトウェアライセンスを利用可能
◾️Bare Metal ・アプリケーションは基盤となるサーバーのプロセッサーとメモリーに直接アクセス可能なインスタンス ・AWS各種サービスとの連携が可能でOSが直接下層のハードウェアにアクセス可能
AWS Organizationによる一括請求
AWSOrganizationsの一括請求で、メンバーアカウント間でリザーブドインスタンスを共有化したり、S3などの利用量に応じた課金がお得になる
◾️ボリュームディスカウント適用 ・S3などボリューム料金階層があるサービスの場合、多く利用するほど価格が低くなると 一括請求で複数アカウントをまとめてボリューム料金に統合することでコスト削減が可能
◾️リザーブドインスタンスの共有 一定の条件においてメンバーアカウント間で購入したリザーブドインスタンスが共有される ・AWS Organizationsで有効か ・同じAZ内に購入する ・同じインスタンスタイプである
Saving Plan
1〜3年の期間に一定の使用量を守ることによりコストを削減 ・リザーブドインスタンスと同様に1年または3年の期間に特定の量の処理能力(USD / 時間で測定)を使用する契約を結ぶことで適用される割引契約 ・AWSコンピューティング使用料金を最大72%節約できる ・AmazonEC2、AWSFargate、AWSLambdaに適用可能
価格算定ツールを利用する
AWS公式ツールを利用して見積もりや価格比較を実施する ◾️簡易見積もりツール 利用するAWSサービスに対する月額料金を見積もることができます
◾️TCO計算ツール AWS利用した場合とオンプレミス環境やコロケーション環境との価格比較ができます
◾️PricingCalCulator ビジネスや個人のニーズに沿った個別の予測コスト見積もりを実施することができます
コストの可視化
CloudWatchのbilling機能により請求額通知を可能とし、TrustedAdvisorからアドバイスをもらう
Trusted Advisor
コスト最適化とセキュリティと耐障害性とパフォーマンス向上についてアドバイスを提供するサービス ・コスト最適化 ・セキュリティ ・耐障害性 ・パフォーマンス向上
運用上の優秀性
Operational Excellecnce:運用上の優秀性 運用の優秀性とは計画変更が起こった場合や予期せぬイベントの発生時において、自動化された運用実務および文書化されテストされレビューされた手順があること
・コード化された運用実行(環境自動化) ・ビジネス目的に沿った運用手順 ・定期的かつ小規模で増加的な変更管理 ・予期せぬイベントへの対応テストの実施 ・モニタリングにより障害を予測する ・運用上の失敗やイベントから学習する ・運用手順を繰り返しアップデートする
運用上の優秀性の主要サービス
◾️準備 CloudFormation、Codeシリーズ、RunbookPlaybook
◾️運用 SystemManager、ServiceCatalog、CloudTrail、AWSArtifact、AWSGuardDuty、CloudWatch、AWSConfig、APIGateway
◾️進化 継続的かつ段階的な改善のために時間とリソースを割り当て、運用の有効性と効率性を向上させる
AWS CloudTrail
AWSユーザーの操作(API操作やユーザーのサインインアクティビティ)をロギングするサービス
・ルートアカウント / IAMユーザーのオペレーションとトラッキング ・CloudTrailログファイルは暗号化されてS3に保存 ・KMSによる暗号化もサポート
AWS Config
AWSリソースのレポジトリ情報からリソース変更履歴や構成変更を管理するサービス ・定期的に構成情報のスナップショットをS3に保存 ・構成情報に基づきシステム構成があるべき状態担っているかを評価 ・評価基準にはAWSルールまたは独自ルールを適用
AWS Configには構成変更を管理するストリームと履歴管理するヒストリーと構成要素を保存するスナップショットがある ◾️ConfigraionStream ・リソースが作成、変更、削除に対して作成され、構成ストリームに追加される ・SNSトピック連携して通知設定が可能
◾️ConfigurationHistory ・任意の期間における各リソースタイプの構成要素を履歴として蓄積 ・S3バケットに保存
◾️ConfigurationSnapshot ・ある時点での構成要素の集合 ・自動で定期的あるいは変更トリガで作成 ・S3バケットに保存
AWS Service Catalog
AWSで承認されたITサービスのカタログを作成するおよび管理する支援サービス ◾️IT運用管理者 ・CloudFormationのテンプレートを利用して、管理されるAWSリソース定義や、これらの利用権限をカタログとして一元管理する構成を提供
◾️ユーザ部門 ・IT運用管理者が作成したカタログにより、権限がなくとも求める機能に応じたAWS環境を必要に応じて起動が可能になる
AWS Artifact
重要なコンプライアンス関連情報の頼りになる一元管理型のリソース ◾️AWS Artifact Reports 世界各地にある監査機関の指定する基準や規制を遵守状況をテストおよび確認したコンプライアンスレポートを提供
◾️AWS Artifact Agreements AWSアカウントとの契約の確認、受託、管理を実施
AWS GuardDuty
VPCフローログ、CloudTrailログ、DNSログや悪意のあるIPやドメインリストなどを分析して処理する継続的なセキュリティモニタリングサービス
AWS Systems Manager
利用中のAWSサービスやリソースをモニタリングして、運用タスクを自動化するサービス ◾️問題検出の時間短縮 EC2などのをリソースグループごとに運用データを確認できるため、アプリケーションに影響を与えうるリソースの問題を素早く特定可能
◾️運用の自動化 EC2パッチ、更新、設定変更、削除、停止およびデプロイなどを自動化
◾️可視化と制御 各リソースグループの最新状態を簡単に可視化して制御できる
◾️ハイブリット管理 AWSサーバーとオンプレミスのサーバーとを1つのインターフェースで管理可能
CloudWatchの概要
AWSリソースとAWSで実行するアプリケーションのモニタリングサービスで、様々なログやメトリクスを監視できる ・モニタリング、監視の集約化、トラブルシューティング、ログ解析、自動アクション、運用状況の確認
◾️CloudWatch(メトリクス監視) AWS上で稼働するシステム監視サービスで、死活監視、性能監視、キャパシティ監視を実施
◾️CloudWatchLogs CloudWatchと連動したログ管理プラットフォームサービス EC2上のOS・アプリケーションのログやAWSマネージドサービスのログを取得する
◾️CloudWatchEvents CloudWatchはAWSリソースに対するイベントをトリガーにアクションを実行 オペレーションの変更に応答し、応答メッセージ送信、機能のアクティブ化、変更、状態情報収集による修正アクションを実行する