AWSのセキュリティに関するベストプラクティス|サービスごとの設定

クラウドサービスの代表的な存在であるアマゾン ウェブ サービス(AWS)のアーキテクチャ設計におけるガイドライン(設計原則)のことを「AWSのベストプラクティス」といいます。AWSのベストプラクティスは、運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化の5項目で構成されています。今回は、そのなかでも特にクラウドサービスのリスクに関わるセキュリティについて解説します。
この記事でわかること
- AWSにおけるベストプラクティスの概要
- AWS Well-Architectedの内容
- 各サービスのベストプラクティス
※当記事は2025年3月に書かれたものであり、以後に展開された最新情報が含まれていない可能性がございます。
AWSにおけるセキュリティのベストプラクティスとは
AWSにおけるセキュリティのベストプラクティスとは、クラウドサービス上で安全にシステムを運用するためのガイドラインのことを指します。不正アクセスやDDoS攻撃など、クラウドサービス上でもさまざまなリスクが存在する中で、明確な基準に沿ってセキュリティ対策を講じることは不可欠です。
一方、AWSを利用する中でゼロからセキュリティ設計を行うことは難易度が高く、知識や経験も必要になってきます。そこで活用できるのが、AWSが推奨するベストプラクティスです。IAMやVPCなど主要なサービスごとに設計の要点が整理されており、サイバーセキュリティに関する知見やノウハウが不足している初心者でも一定のセキュリティ水準を保った構築が可能です。
ただし、ベストプラクティスに定義されている内容が全てのケースで有効であるとは限りません。そのため、システムの目的、制約事項、要求されるセキュリティレベルに応じて活用することが重要です。例えば、外部通信のない開発環境で過剰な制限をかけてしまうと、システム開発のスピードが低下し、作業効率を落とす可能性もあります。導入時は、目的や環境に応じて取捨選択し、実運用での影響を検証することが重要です。
AWS Well-Architectedに関する基礎知識
AWSにはAWS Well-Architectedと呼ばれる設計原則があります。ここでは、AWS Well-Architectedについて詳しく解説しましょう。
AWS Well-Architectedとは
AWS Well-Architectedは、AWSにて高いセキュリティ基準を満たし、効率的なシステム運用を可能とするベストプラクティスを集積したものです。AWSには過去に数多くのシステムを運用してきた経験が蓄積されており、これらのノウハウをベースに生み出されています。
AWS Well-Architectedは、実際にどのようなマネジメントサービスを組み合わせてシステムを設計するかを考える際のガイドラインとして役立ちます。また、AWSが公式に発表しているため、信頼性が高いことも大きな特徴です。
AWS Well-Architected と6つの柱
AWS Well-Architectedフレームワークは以下に示す6つの柱から構成されています。AWSのセキュリティに関するベストプラクティスが詳細に定義されているのは「セキュリティの柱」です。
1:優れた運用効率(オペレーショナルエクセレンス)
AWS上で構築されたシステムは、一定期間安全かつ効率的に運用しなければなりません。システムの効率的な運用に関するベストプラクティスを定義したのが、「優れた運用効率(オペレーショナルエクセレンス)」の柱です。
この柱は、システムの確実な実行、パフォーマンスの監視、運用手順の継続的な改善に焦点を当てています。具体的には、状況に応じたシステム変更の自動化、問題発生時の対応、定常的な管理業務の標準化等に関するベストプラクティスが対象となります。
2:セキュリティ
さまざまなサイバー攻撃や情報漏洩のリスクに対応するため、AWS上に構築するシステムには何らかのセキュリティ対策を施さなければなりません。AWSにおけるセキュリティのベストプラクティスが詳細に定義されているのが「セキュリティ」の柱です
「セキュリティ」の柱では、データの暗号化や改ざん防止、ユーザーのアクセス権管理、セキュリティ面で問題が発生した際の検知や対処といった内容が含まれています。
3:信頼性
システムの用途やかけられるコストによりますが、AWS上で運用されるシステムには高い信頼性や可用性が求められます。例えば、金融や社会インフラを司るシステムであれば、基本的には停止することは許されず、よりミッションクリティカルであると評価できます。
「信頼性」の柱では、システムを停止させないための対策と復旧手順に関するベストプラクティスが定義されています。具体的には、複数拠点にまたがった分散配置、障害発生時の復旧計画などが対象です。
4:パフォーマンス効率
システムを利用するユーザーが存在する以上、AWS上で構築されるシステムにも相応の性能が要求されます。効率的なリソースの活用、パフォーマンスの最大化に焦点を置いているのが「パフォーマンス効率」の柱です。
「パフォーマンス効率」の柱では、システムの用途や要件に基づいた仮想サーバ(Amazon EC2)のインスタンスタイプ選択、システム性能の継続的な監視等に関するベストプラクティスが定義されています。
5:コスト最適化
基本的にシステム開発に費やせる予算は上限があり、AWSにおいても常に費用対効果を考慮した設計を心がけなければなりません。「コスト最適化」の柱では、不要なコスト発生の抑止に重点を置いたベストプラクティスが定義されています。
具体的には、コスト管理用ダッシュボードを活用した継続的なコストの管理、適切なリソースの選択、費用対効果の高いスケールアップ手法に関するベストプラクティスが含まれます。
6:持続可能性
「持続可能性」の柱は、2021年に追加されたものであり、自然環境への影響を最小限に抑えるためのベストプラクティスが集約されています。例えば、リソースの使用率を最大化することによるデータセンターで使用される電力量を削減などが該当します。
AWSセキュリティの7つの設計原則
AWSでは、高水準のセキュリティを実現するために「7つの設計原則」を提示しています。これはAWS Well-Architected Frameworkの「セキュリティの柱」に基づいたものであり、AWSはもちろん、利用する各アカウントにも幅広く提供されるインフラ設計・運用の具体的な指針です。
AWS全体が対象となっており、利用する各アカウントにも適用されます。また、特に中堅〜大規模環境では、抜けや曖昧さがセキュリティ事故につながりやすいため、各原則を理解して実装レベルに落とし込みましょう。
1:強力なアイデンティティ基盤を実装する
AWSでは、AWS IAMという仕組みによりユーザー、サービス、リソースといった単位で利用者の識別子であるアイデンティティを管理できます。AWS IAMの操作権限などを必要最小限にする原則に則って各々のアイデンティティに対して適切なアクセス権を付与すれば、適切ではない操作や、過失・故意を問わず情報漏洩の防止といった対策を講じられます。
2:全アカウントでの証跡確認の実現
セキュリティの設計原則では、システムで運用する全てのアカウントに対してそれぞれの操作履歴を証跡として残すための仕組みが求められます。例えば、AWS アカウント内で実行されるアクションやイベントを記録・管理するためのサービスであるAWS Cloud Trailなどを活用すれば、全てのアカウントに対する操作証跡を管理できる体制を構築できます。その結果、特定のデータベースに対する不審な操作やアクセスを把握して、アラートを発出するなどの対策につながるのです。
3:全レイヤーでセキュリティを適用する
AWSにおいてセキュリティ面で堅牢なシステムを設計するためには、ネットワーク、OS、リソースといった全ての階層で適切なセキュリティ対策が講じられている必要があります。具体的には、Amazon VPC(Amazon Virtual Private Cloud)を利用してネットワークを用途に応じて区切る、システム内部のデータを暗号化する、監視サービスを用いて不正を検出するといった対応が含まれます。
4:セキュリティ対策を自動化する
AWSのセキュリティ対策ではヒューマンエラーの防止などの観点から、可能な限り人手を介在せず、自動的に実行できる仕組みが推奨されています。具体的にはAWS ConfigやAWS Systems Managerといったサービスを組み合わせることでシステムの設定内容を常時監視し、ポリシーに反する変更が検出された際の対処を自動化することができます。
5:伝送中および保管中のデータの保護
AWSだけでなく全てのクラウドサービスは、外部通信の際はインターネットを経由してデータのやりとりや保管を行っています。クラウドサービスは基本的にどこからでもアクセス可能なため、不正アクセスなどのリスクは物理的にオンプレミス環境よりも高いため、データの伝送中や保管中の保護を講じなければなりません。AWSにおいては、伝送中のデータに対してTLS(Transport Layer Security)を使用した暗号化を施すことでセキュリティリスクを低減しています。また、保管中のデータについては、AWS Key Management Service(KMS)を活用することでAES-256などの強力な暗号化アルゴリズムを使ったデータ暗号化が可能です。
6:データに人の手を入れない
AWSに保管している個人情報などの重要なデータに対しては、ミスや悪意のある漏えいを防ぐため、人手を介在させないことも重要な設計原則の一つです。具体的には、ログデータの収集や分析を自動化のほか、データアクセスを認証・権限チェックといったプログラムを強制的に経由するシステムを構築することで、人間による直接的なアクセスの機会を低減できるでしょう。
7:セキュリティインシデントに備える
どのようなシステムであっても、セキュリティ事故は昼夜問わず発生するリスクがあります。AWSでは、組織がシステムに求める要件やセキュリティレベルに応じて、セキュリティ事故が発生した際の調査、対処の手順の策定や復旧、事後分析までのプロセスの確立を推奨しています。また、策定するだけではなくAWSのサービスを活用した事前のシミュレーションなど、人材の面でも実施して迅速に対応できる環境づくりも大切です。
各サービスのセキュリティに関するベストプラクティス
AWSではサービスごとに特有のリスクが存在するため、セキュリティリスクを最小限に抑えるためには、サービスの特性に合致したベストプラクティスを採用しなければなりません。ここでは、代表的なサービス別にセキュリティベストプラクティスを紹介します。IAM、EC2、S3のような基盤サービスに加え、ログ監視・脆弱性スキャン・WAFなどの補助的なサービスもカバーします。
AWS Identity and Access Management (IAM)
AWS IAMでは、ユーザーのアクセスやリソースの利用権限を制御するため、セキュリティの設計において欠かせない部分といえます。AWS IAMにおいては、最小権限の原則に基づき適切なユーザーに必要最小限の権限の付与することが重要です。
また、重要なアカウントに対しては多要素認証(MFA)を設定して不正アクセスを防止するといった対策も推奨されます。さらに、既存の権限を見直して不要な権限やアカウントを削除するといった定期的なメンテナンスの実施も大切です。
Amazon EC2
AWSの仮想サーバであるAmazon EC2においても、適切なセキュリティ設計が求められます。まず、Amazon EC2への不正なアクセスを防止するためにネットワークアクセスを制御し、不要なポートやIPアドレスを遮断することが重要です。さらに、最小権限の原則に基づいてAWS IAMによってアクセス権限を適切に設定できれば、Amazon EC2の不正利用リスクの低減につなげられるでしょう。
Amazon S3
Amazon S3はAWSにおける主要なストレージであり、セキュリティやバックアップを適切に設定しなければ、保管している機密情報の消失や漏えいといったインシデントの脅威に晒されてしまいます。そのため、Amazon S3には以下のように多くのセキュリティ機能が備わっています。
- ポリシーによるアクセス制御
- データの暗号化
- ブロックパブリックアクセス
- アクセスログの記録
- 署名付きURL
- アクセスアナライザー
上記の機能を適切に活用できれば、セキュリティの強度を高められるでしょう。具体的には、他のリソースと同様にAWS IAMによる適切なアクセス権限の設定に加え、データの保管場所であるバケットについてもバケットポリシーによってアクセス制御しなければなりません。また、Amazon S3が持つ暗号化機能を用いて、保存時及びデータ転送時のデータ暗号化も検討しましょう。
AWS CloudTrail
AWS CloudTrailは、ユーザーによる不正な操作を監視するためのサービスであり、その監査ログについても安全に管理しなければりません。
監査ログはAmazon S3に保管するケースが多いことから、Amazon S3への適切なアクセス制御、データ保管の暗号化などにより機密性を確保することが重要です。また、AWS CloudTrailにおいて「ログファイルの整合性検証」の設定を有効化することで、ログファイルの改ざんを検出できます。
Amazon GuardDuty
Amazon GuardDutyは、AWSアカウントやリソースを監視して、悪意のあるアクセスや挙動を検出します。AWSのベストプラクティスにおいては、管理対象の全てのAWSアカウントでの有効化が推奨されています。
ただし、Amazon GuardDutyが対応できるのはあくまで検出までとなります。その後の検出結果に基づくアクションを起こすためには、他のサービスと連携しなければなりません。具体的な連携方法としては、Amazon GuardDutyの検出結果に応じてAWS Lambdaを起動させる、Amazon CloudWatchに連携して通知を出す、などが挙げられます。
Amazon Inspector
Amazon Inspectorは、AWS上の脆弱性を検知することができるマネジメントサービスです。例えば、Amazon EC2上で稼働するOSの脆弱性を定期的にスキャンし、脆弱性が検知された場合に迅速な対応につなげられます。Amazon Inspectorで検出された脆弱性は放置せず、すぐに適切に対処しなければなりません。
具体的な対策としては、脆弱性に対するパッチ適用を行いたい場合、Amazon Inspectorの検出結果に基づき、AWS Systems Managerを連携させてパッチ適用を自動化する方法などがあります。
Amazon Macie
AWS Macieは、個人情報などの機微なデータを識別子保護するためのマネジメントサービスで、Amazon S3に保管されたデータに対して定期的なスキャンを行います。AWS Macieによって機密データを識別することで、特定のAmazon S3バケットへのアクセスを厳格化し、最小権限の法則に基づく権限付与が可能です。
また、Amazon CloudWatch Eventsと連携することで機密データを識別した際に通知を出すこともできます。これによって迅速かつ自動的に機密情報の有無を把握し、必要な対処につなげられます。
AWS WAF
AWS WAFはAWSで運用しているアプリケーションを外部からのサイバー攻撃から保護するためのファイアウォールです。
AWS WAFを活用して、ルールセットを定義することで特定のIPアドレスや地域からのアクセスを制限し、セキュリティリスクを最小化できます。また、ALB(アプリケーションロードバランサー)と連携することでアプリケーションに対して流入する通信に対しても監視及び制御可能な体制の構築を図れます。
AWSのセキュリティ対策にはベストプラクティスの活用を
AWS環境でセキュリティ対策を進める際には、AWS公式のベストプラクティスを活用することが効果的です。IAMやS3、CloudTrailなどサービスごとの指針が用意されており、ゼロベースでルールを構築するよりも、スピーディかつ信頼性の高い設計が可能になります。
ただし、ベストプラクティスを適切に実装するには、AWSのサービス構造やセキュリティ要件に関する一定の知識と理解が求められます。社内に専門人材がいない場合は、無理に内製化を進めるのではなく、プロの支援を受けるという選択肢も有効です。
私たちサーバーワークスでは、AWSに特化した「構築・移行支援サービス」を提供しています。設計段階からベストプラクティスを踏まえたセキュアな構築を行い、要件に応じて既存環境のリプレイスも支援可能です。
AWS導入とセキュリティ強化を同時に進めたい方は、ぜひお気軽にご相談ください。