AWS初期設定 2023年

目次

AWSアカウントの初期設定

AWSを使い始めて最初にどこまでやっていればよいか、様々な情報を基に整理しました。

設定項目一覧表

RFC2119のレベル定義に基づいて、様々な情報を基に個人の見解で評価、整理しました。

レベル概要
MUST(REQUIRED, SHALL)しなければならない
SHOULD(RECOMMENDED)する必要がある・推奨される
MAY(OPTIONAL)してもよい・選択できる
SHOULD NOT(NOT RECOMMENDED)しないほうがよい・推奨されない
MUST NOT(SHALL NOT)してはならない
カテゴリサービス名概要レベル
事前準備/設計命名規則命名規則SHOULD
Google Authenticatorアプリ導入MUST
セキュリティAWS IAM(root)MFA認証設定MUST
アクセスキーの削除MUST
AWS IAMIAMパスワードポリシーの設定MUST
IAMグループの作成MUST
IAMユーザーの作成MUST
MFA認証の設定MUST
アカウントエイリアスの作成MAY
AWS IAM Access Analyzer有効化/作成SHOULD
マネジメントコンソールIPアドレス制限MAY
Amazon GuardDuty(有料)有効化SHOULD
S3保護の有効化SHOULD
信頼されている/脅威IPリストの作成MAY
通知設定MAY
S3エクスポート設定MAY
AWS Security Hub(有料)有効化SHOULD
通知設定MAY
Amazon Detective(有料)有効化SHOULD
Amazon VPCデフォルトVPCの削除MAY
契約・コストマイアカウントお支払い通貨の設定SHOULD
秘密の質問の設定SHOULD
代替の連絡先の設定MAY
デフォルト無効リージョンの確認MAY
IAMユーザによる請求情報へのアクセス設定MAY
Budgets予算アラートの設定SHOULD
予算レポートの設定MAY
AWS Artifact準拠法を日本法に変更(不要)MAY
AWS Cost Explorer有効化SHOULD
時間単位とリソースレベルのデータの有効化MAY
サイズの適正化に関する推奨事項の有効化SHOULD
AWS Compute Optimizer有効化SHOULD
AWS Cost Anomaly Detection有効化SHOULD
BillingCost and Usage Reportsの有効化MAY
コスト配分タグの設定MAY
PDF請求書の設定MAY
無料利用枠の使用アラートの設定SHOULD
請求アラートの設定MAY
ログ・モニタリングAWS CloudTrail有効化MUST
CloudTrail Insightsの有効化SHOULD
Athenaのテーブル作成MAY
Amazon EventBridgeマネジメントコンソールのサインイン通知SHOULD
AWS Config有効化MUST
Configルールの作成SHOULD
AWS DevOps Guru有効化SHOULD
Amazon S3 Storage Lens有効化SHOULD
AWS personal Health Dashboard通知設定SHOULD
Trusted Advisor通知設定SHOULD
環境構築時Amazon VPCVPCフローログの有効化SHOULD
Amazon EC2(EBS)EBSのデフォルト暗号化設定MAY
Amazon S3アカウントのブロックパブリックアクセス設定MAY

設定手順

  1. 事前準備
    • 命名規則
    • Google Authenticatorインストール
    • AWSマネジメントコンソールにサインイン
  2. セキュリティの設定
    • ルートアカウントにMFA設定
    • ルートアクセスキーの削除
    • IAMパスワードポリシー強化
    • Security Token Service(STS)を東京リージョン以外は無効
    • IAMグループの作成
    • IAMユーザーの作成
    • アカウントエイリアスの作成
    • ルートアカウントをサインアウトしてIAMユーザーに切り替え
    • IAM Access Analyzer
    • Amazon GuardDutyの設定(有料)
    • AWS Security Hubの設定(有料)
    • Amazon Detectiveの設定(有料)
    • デフォルトVPC削除
  3. 契約・コストの設定
    • マイアカウントの設定
      • 支払い通貨をドルから日本円へ変更
      • 代替の連絡先を追加
      • 秘密の質問の設定
      • IAMユーザーによる請求情報へのアクセス許可
    • AWSサポートへの加入
    • Budgetの設定
    • AWS Cost Explorerの設定
    • AWS Compute Optimizerの設定
    • AWS Cost Anomaly Detectionの設定
    • Cost & Usage Reportsの設定
    • Billingの設定
    • コスト配分タグの設定
    • 準拠法/管轄裁判所の設定(不要)
  4. ログ・モニタリングの設定
    • AWS CloudTrailの設定
    • マネジメントコンソールのサインイン通知
    • AWS Configの設定
    • Amazon DevOps Guruの設定
    • Amazon S3 Storage lensの設定
    • AWS Personal health Dashboardの通知設定
    • AWS Trusted Advisorの設定
  5. その他のセキュリティに関する設定
    • VPCフローログ有効化
    • Amazon EC2(EBS)のデフォルト暗号化設定
    • Amazon S3のブロックパブリックアクセス設定
    • WAF
STEP
事前準備
STEP
命名規則

AWSリソースの命名規則をゼロから考えるのは大変なので、serverworks社が公開している命名規則例を利用させていただきます。

AWSリソースAWSリソースコード命名規則
VPCvpcvpc-<システムコード>-<環境名>-[任意の値]-[連番]vpc-sampleapp-prd、vpc-sampleapp-prd-001
VPC Endpointvpcevpce-<システムコード>-<環境名>-<用途>-[任意の値]-[連番]vpce-sampleapp-prd-ssm、vpce-sampleapp-prd-s3-001
MFA端末名mfamfa-<社員番号>-<メールアドレス>-[連番]mfa-12345-xxxx@example.co.jp、mfa-12345-xxxx@example.co.jp-001
VPC Peeringvpcpvpcp-リクエスタVPC名略称-to-アクセプタVPC名略称-[用途]vpcpeering-appprd-to-appstg
VPC Flow Logsflowlogsflowlogs-<ログ出力先>-[連番]flowlogs-s3-001、flowlogs-cwlogs-001
VPC Public Subnetpublic-subnet<システムコード>-<環境名>-public-subnet-[任意の値]-AZ名-[連番]sampleapp-prd-public-subnet-1a、sampleapp-prd-public-subnet-1a-001
VPC DMZ Subnetdmz-subnet<システムコード>-<環境名>-dmz-subnet-[任意の値-AZ名-[連番]sampleapp-prd-dmz-subnet-1a、sampleapp-prd-dmz-subnet-1a-001
VPC Private Subnetprivate-subnet<システムコード>-<環境名>-private-subnet-[任意の値]-AZ名-[連番]sampleapp-prd-private-subnet-1a、sampleapp-prd-private-subnet-1a-001
VPC Transit Gateway Attachment Subnettgw-subnet<システムコード>-<環境名>-tgw-subnet-[任意の値]-AZ名-[連番]sampleapp-prd-tgw-subnet-1a、sampleapp-prd-tgw-subnet-1a-001
Route Tablertb<システムコード>-<環境名>-rtb-{public/dmz/private/tgw}-[連番]sampleapp-prd-rtb-public、sampleapp-prd-rtb-public-001
Internet Gatewayigwigw-vpc名 ※VPC名はリソースコード以降を記述igw-sampleapp-prd、igw-sampleapp-prd-001
NAT Gatewayngwngw-{public/private}-AZ名-vpc名 ※VPC名はリソースコード以降を記述ngw-public-1a-sampleapp-prd-001、ngw-private-1a-sampleapp-prd-001
Security Groupscgscg-<システムコード>-<環境名>-<役割・用途>-[任意の値]-[連番]scg-sampleapp-prd-web、scg-sampleapp-prd-web-001
Direct Connect Gatewaydxgwdxgw-<システムコード>-<環境名>-[任意の値]-[連番]dxgw-sampleapp-prd-tgwconnect-001、dxgw-sampleapp-prd-tgwconnect-001
Direct Connect Connectiondxconneciondxconection-<システムコード>-<環境名>-[任意の値]-[連番]dxconnecion-sampleapp-prd-tgwconnect-001
Direct Connect VIFdxvifdxvif-<キャリア名>-<システムコード>-<環境名>-{public/private/tgw}-[連番]dxvif-os1-sampleapp-prd-tgw-001、dxvif-attokyo-sampleapp-prd-private-001
Transit Gatewaytgwtgw-<システムコード>-<環境名>-[任意の値]-[連番]tgw-sampleapp-prd-001、tgw-sampleapp-stg-001
Transit Gateway RouteTabletgw-rtbtgw-rtb-<システムコード>-<環境名>-[任意の値]-[連番]tgw-rtb-sampleapp-prd、tgw-rtb-sampleapp-prd-001
Transit Gateway Attachmenttgw-atttgw-att-<システムコード>-<環境名>-[任意の値]-[連番]tgw-att-sampleapp-prd、tgw-att-sampleapp-prd-001
EC2ec2ec2-<システムコード>-<環境>-[任意の値]-[連番]ec2-sampleapp-prd-web、ec2-sampleapp-prd-db-001
AMIamiami-インスタンスID-取得日時(YYYYMMDDhhmm)ami-i-xxxxxxxxxxxxxx-202211301330
EBSebsebs-<システムコード>-<環境>-[任意の値]ebs-sampleapp-prd-web-001、ec2-sampleapp-prd-web-002
EBS Snapshotebs-snapshotebs-snapshot-ボリュームID-取得日時(YYYYMMDDhhmm)ebs-snapshot-vol-xxxxxxxxxxxxxx-202211301330
ENIenieni-<システムコード>-<環境>-[任意の値]-[連番]eni-sampleapp-prd-web、eni-sampleapp-prd-db-001
EIPeipeip-<システムコード>-<環境>-[任意の値]-[連番]eip-sampleapp-prd-bastion、eip-sampleapp-prd-nat-001
Key Pairkeypairkeypair-<システムコード>-<環境名>-[任意の値]-[連番]keypair-sampleapp-prd-bastion、keypair-sampleapp-prd-web-001
IAM User(コンソールログイン用)<社員番号>-メールアドレスxxxx@example.co.jp
IAM User(アクセスキー発行用)secret-<システムコード>-<利用環境>-[任意の値]secret-sampleapp-poc
IAM Groupiamgroupiamgroup-<システムコード>-<用途・役割>-[任意の値]iamgroup-sampleapp-maintenance、iamgroup-sampleapp-admin
IAM Roleiamroleiamrole-<エンティティタイプ>-<システムコード>-<環境名>-[任意の値]iamrole-custom-sampleapp-prd、iamrole-service-sampleapp-prd-for-ec2
IAM Policyiampolicyiampolicy-<システムコード>-<環境名>-<権限・用途>-[任意の値]iampolicy-sampleapp-prd-DenyCreateInstance
SCPscpscp-<役割・用途>scp-DenyCreateAccessKey、scp-ForceEncryption
OUou<役割・用途>SSO、Security、LogIntegration
AWS Budgets(スタンドアロン)budgetsbudgets-<システムコード>-<期間>-[任意の値]budgets-sampleapp-monthly-all-resources
AWS Budgets(Managementアカウント)budgetsbudgets-{OU/アカウントID}-<期間>-[任意の値]budgets-111122223333-monthly、budgets-SalesOU-monthly
AWS Budgets Reportsbudgets-reportbudgets-report-<Budgets名>※Budgets名にはリソースコードは含めないbudgets-report-sampleapp-monthly-all-resources、budgets-report-111122223333-monthly
Athena(ワークグループ)workgroupworkgroup-<データソース>-<クエリ実行したいログ種別>-[任意の値]workgroup-s3-config、workgroup-s3-cloudtrail
KMSkmskms-<AWSサービス名>-[任意の値]-[連番]kms-guardduty、kms-s3-001
Resource Access Managerramram-<共有サービス名>-[共有リソース名]-[任意の値]-[連番]ram-tgw
AWS Backup Planbackup-planbackup-plan-<AWSサービス名>-<リソース>-<取得頻度(日)>backup-plan-ec2-AMI-7、backup-plan-ebs-snapshot-1
CloudFormation StackSetscfncfn-<用途・役割>-[任意の値]cfn-activate-config、cfn-create-basic-config-rules
S3 Buckets3s3-<システムコード>-<環境名>-<用途・役割>-アカウントIDs3-sampleapp-prd-cloudtrail-111122223333
S3 LifeCycle Rules3-lifecycles3-lifecycle-<アクション>-<期限日数>-[任意の値]s3-lifecycle-delete-365、s3-lifecycle-move-365-to-glacier
CloudTrailtrailtrail-[任意の値]-<用途・役割>trail-audit、trail-sampleapp-s3-dataevent
SNS Topicsns-topicsns-topic-<用途・役割>sns-topic-securityhub-notification
EventBridge Rulesevent-rulesevent-rules-<用途・役割>event-rules-securityhub-notification
EventBuseventbuseventbus-<用途・役割>eventbus-custom-app
CloudWatch Logs LogGroupcw-loggroup/aws/[サービス名]/[リソース名]/[ログ種別]/aws/ec2/sampleapp-dev-001/app_log
CloudWatch Logs LogStreamcw-logstream/[リソース名]/[パス]/cw-logstream/var/log/messages/
ALBalbalb-<システムコード>-<環境>-[連番]alb-sampleapp-prd、alb-sampleapp-prd-001
ALB Target Groupalb-tgalb-tg-<システムコード>-<環境>-<役割>-[連番]alb-tg-sampleapp-prd-web-001、alb-tg-sampleapp-prd-web-002
Config Aggregatorconfig-agrconfig-agr-<用途・役割>config-agr-org-aggregation、config-agr-regional-aggregation
Config Rulesconfig-rulesconfig-rules-<役割・用途>config-rules-RestrictedSSHRDPPorts、config-rules-required-tags
STEP
AWSマネジメントコンソールにサインイン

サインアップ時に設定したルートアカウントのEメールアドレスとパスワードでログインします。

STEP
Google Authenticatorの導入

MFA(Multi-Factor Authentication)による多要素認証を導入するために、スマートフォンにGoogle Authenticatorを導入します。 Google Authenticator 開発元:Google LLC

AppStore https://apps.apple.com/jp/app/google-authenticator/id388497605

Google Play https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=ja&gl=US

STEP
セキュリティの設定
STEP
ルートアカウントにMFA設定

[AWSマネジメントコンソール]→右上の[アカウント]を選択→[セキュリティ認証情報]を選択。

多要素認証(MFA)から[MFAデバイスの割り当て]を選択します。
※既存設定済の割り当てがあるので1行追加されていますが、新規作成時は何も表示されていない

命名規則に従ってデバイス名を設定します。<例. mfa-xxxx@example.co.jp-001>

QRコードを表示を押すとQRコードが表示されるので、Google AuthenticatorでQRコードをスキャンします。表示されたMFAコード(6文字)を入力して、30秒後に更新された次のMFAコード(6文字)を入力します。連続したコードであればどのタイミングのものでもOK。

正常に登録されると以下の通り、デバイスが追加されます。

一度ログアウトすると、ログイン時に多要素認証の画面が追加されるようになります。

STEP
ルートアクセスキーの削除

rootアカウントのアクセスキーが漏洩してしまうと、rootメールアドレス変更、全ユーザのログインパスワードの改変、AWSアカウントの解約、リソース不正利用によるクラウド破産、機密情報漏洩等のリスクがあり、rootアカウントのアクセスキーはよほどの理由がない限り、存在しない状態が望ましいです。

ルートアクセスキーが存在するか確認しましょう。もしも存在する場合は、[アクション]→[削除]を選択します。

[無効化]してからしか[削除]できないので、[無効化]します。

[無効化]された後に、テキストフィールドにアクセスキーIDを入力して[削除]します。

アクセスキーが削除されているか確認します。

STEP
IAMパスワードポリシー強化

IAM(Identity and Access Management)は、AWS上でユーザーやグループを作成できるサービスです。ここで、設定するパスワードpolicyは、IAMユーザーに対してのみ適用され、ルートアカウントには適用されません。

[アカウント管理]→[アカウント設定]→[パスワードポリシー]の[編集]を選択します。

初期設定では、[IAMのデフォルト]となっています。

必要に応じて各パラメータを設定します。最低12文字以上が推奨されていますが、それ以上にMFAによる多要素認証による防御が最も重要です。

パスワードポリシーが更新されていればOK。

STEP
Security Token Service(STS)を東京/大阪リージョン以外は無効

STS(Security Token Service)は、ユーザーに対して AWS ID を定義せずに AWS リソースへのアクセスを許可できる仕組みで、IDフェデレーションが可能となります。

[アカウント設定]→[STS]→[エンドポイント]から東京と大阪以外をすべて[非アクティブ]に設定します。

STEP
IAMグループの作成

IAMユーザを作成する際は、IAMグループを作成し、IAMグループに対してIAMポリシーを割り当てるようにします。最初から適切な権限ポリシーのグループを作成するのは難しいので、AWSの標準ポリシーから順次絞っていくことをお勧めします。

最初に管理者用のIAMグループを作成します。[ユーザーグループ]→[グループを作成]を選択します。

グループ名を定義します。(例. iamgroup-administrator-admin)
ポリシーをプロパティまたはポリシー名でフィルタの欄に[AdministratorAccess]でフィルターし、検索リストに出てきた[AdministratorAccess]にチェックして、[グループを作成]を選択します。

グループが作成されたことを確認します。

STEP
IAMユーザーの作成

[ユーザー]→[ユーザーを追加]を選択します。

作成するadmin権限のユーザー名を入力します。(例. mkadmin)
AWSマネジメントコンソールにアクセスできるように、[コンソールアクセスを有効化]にチェックします。
カスタムパスワードで自分で決めたいパスワードを入力して、[次へ]を選択します。

[ユーザーをグループに追加]が選択されていることを確認して、ユーザーグループから先ほど作成したグループ名にチェックを入れて、[次へ]を選択します。

[ユーザーの作成]を選択します。

新規に作成したユーザー用のサインインURL、ユーザー名、パスワードが表示されます。
必要に応じてcsvファイルをダウンロードして安全に保管ください。

ユーザーが正常に作成された場合、ユーザーに表示されます。
管理者権限を持つユーザーであり、MFAを設定しておきましょう。作成したユーザー名を選択します。

作成したユーザーの情報が以下の通り、設定されています。

[セキュリティ認証情報]→[多要素認証(MFA)]→[MFAデバイスの割り当て]を選択します。
ルートアカウント時と同様の手順で設定します。

STEP
アカウントエイリアスの作成

IAMユーザでマネジメントコンソールにサインインする際、12桁のAWSアカウントIDも入力する必要がありますが、このアカウントIDの代わりに任意の文字列のエイリアスを設定できます。

[IAM]→[ダッシュボード]の右側の[アカウントエイリアス]の[編集]を選択します。

12桁のAWSアカウントIDの代わりに設定したいエイリアスを設定します。

以降は、エイリアスのサインインURLからログインできます。

STEP
ルートアカウントをサインアウトしてIAMユーザーに切り替え

以降の作業は、IAMユーザーに切り替えて作業を実施していきます。
アカウントを選択して、[サインアウト]を選択します。

上記エイリアスのサインインURLにアクセスすると、すでにアカウントエイリアスが記載された状態でログイン画面に遷移します。設定したユーザー名、パスワード、MFAからログインします。
初回ログイン時は、パスワードの変更が促される画面が表示されます。

STEP
IAM Access Analyzer

外部AWSアカウントやIdP(IDプロバイダー)等に対するアクセス許可状況を確認できるサービスです。意図していない権限を外部エンティティに対して付与していないか無料で確認できるので、設定しておくことをお勧めします。利用するリージョン毎に有効化する必要があるので注意しましょう。

ダッシュボード右上のリージョンを設定したいリージョンに変更しておきます。(例. 東京)
[IAM]→[アクセスレポート]→[Access Analyzer]→[アナライザーを作成]を選択します。

名前を設定して、[アナライザーを作成]を選択します。(例. ConsoleAnalyzer-administrator-ap-northeast-1)

アナライザーが作成完了していればOK。

STEP
Amazon GuardDutyの設定(有料)

AWS環境を継続的にモニタリングして不審なアクティビティや脅威を検知してくれるサービスです。
利用するリージョン毎に有効化する必要があるので、注意が必要です。

検知のみで対応は別途対応で、詳細確認したい方は以下のサイトを参考ください。

[検索]にGurdDutyと入力して遷移、利用したいリージョンを確認して、[今すぐ始める]を選択します。

[GuardDutyを有効にする]を選択すると、サービスが開始します。30日は無料トライアル。

初期状態では何も出力されていませんが、不審なアクティビティがあれば検出されていきます。

使用状況を確認することができます。

マルウェアスキャンも利用状態となっています。

設定から[GuardDutyの停止][GuardDutyの無効][ログのS3へのエクスポート]等を設定できます。

信頼されているIPリスト、脅威IPリストを事前に定義しておくことで、精度を向上させることもできます。

S3保護もデフォルトで有効になっています。

EKS Protectionもデフォルトで有効になっています。

Malware Protectionもデフォルトで有効になっています。

RDS保護もデフォルトで有効になっています。

追加したアカウントに対してGuardDutyを適用します。

GuardDutyは、GuardDutyのコンソール90日分表示以降は破棄されていきます。デフォルトでは保存されないため、必要に応じてS3にログを保管します。S3のログは暗号化されて保管されるため、新規にKMSでキーを作成する必要があります。

S3バケットの[今すぐ設定する]を選択します。

先にKMSキーを作成するので、「KMSコンソールに移動して新しいキーを作成する]を選択します。

[キーの作成]を選択します。

デフォルトの設定のまま、[次へ]を選択します。

キーのエイリアスを設定します。(例. kms-guardduty-ap-northeast-1)

キーの管理者権限を設定します。今回は、管理者のユーザーIDを設定します。

キーの使用者権限を設定します。今回は、管理者のユーザーIDを設定します。

デフォルトのキーポリシーでは、GuardDutyのポリシーが定義されていないので、最後に追記します。

以下のコードを追記して、[完了]を選択します。

,
{
    "Sid": "Allow GuardDuty to use the key",
    "Effect": "Allow",
    "Principal": {
        "Service": "guardduty.amazonaws.com"
            },
            "Action": "kms:GenerateDataKey",
            "Resource": "*"
}

キーが作成されていればOK。

F5で画面を再読み込みします。キーエイリアスを選択できるか確認下さい。
問題なければS3バケットとして[新しいバケット]を作成、名前をつけます。(例. s3-guardduty-ap-northeast-1-administrator)
[保存]を選択します。

問題なければ、Amazon S3にバケットが作成されています。

STEP
AWS Security Hubの設定(有料)

AWS Security Hubは、セキュリティのベストプラクティスのチェックを行い、アラートを集約し、自動修復を可能とするクラウドセキュリティ管理サービスです。
AWS基礎セキュリティのベストプラクティスは、AWSの基本的なサービスをカバーできるためお勧めですが、コストが若干高いので注意が必要です。

Security Hubを利用するには、AWS Configの有効化が前提となるので、AWS Configを有効にします。

[検索]に[Config]と入力して遷移、[今すぐ始める]を選択します。

セットアップ画面で、[グローバルリソース(AWS IAMリソースなど)を含める]にチェックを入れます。
S3バケット名を設定します。(例. s3-config-ap-northeast-1-administrator)
[次へ]を選択します。

特に何もチェックしないまま、[次へ]を選択します。

[確認]を選択します。

ダッシュボードが表示されればOK。

[検索]に[AWS Security Hub]と入力して遷移、[Security Hubに移動]を選択します。

[セキュリティ基準]の4つすべてにチェックを入れて、[Security Hubの有効化]を選択します。

[概要]のダッシュボードが表示されていればOK。

セキュリティ基準の設定を変更できます。

インサイトでは、事前に定義されたフィルターもしくは新規にインサイトのフィルターを作成できます。

セキュリティチェックで検出された結果が出力されます。

3rd Party製品やAWSのサービス群と統合管理できます。

追加したアカウントに対してSecurity Hubを適用します。

STEP
Amazon Detectiveの設定(有料)

Amazon Detectiveでは、DutyGuardと連携して潜在的なセキュリティ問題や不審なアクティビティの根本原因を簡単に分析、調査し、素早く特定できます。AWSリソースからログデータを自動的に収集し、機械学習、統計的分析、グラフ理論を使用して、リンクされたデータセットを構築します。

GudarDutyはあくまで脅威検知であり、検出されたイベントにどう対処するかはユーザー側で対応する必要があるので、分析と調査と連動しない手はありません。非常に安い金額で利用できるので、有料ユーザーで管理する場合には利用を推奨します。

[検索]に[detective]と入力して遷移、[開始方法]を選択します。

IAMポリシーは必要に応じてユーザーまたはロールに付与しますが、今回はAdministratorAccessを付与しているので、そのまま[Amazon Detective を有効化]を選択します。

メンバーアカウントが有効になると、GuardDuty の検出結果とリソースを確認できるようになります。
特にアカウント管理で管理アカウントを追加する等なければ、現時点での設定は特に不要です。

概要ページ

検出結果グループ

検索からタイプを選択して指定して実際にはイベントを調査します。

全般の設定画面

詳細設定

使用状況から課金状況を確認

STEP
VPCフローログ有効化とデフォルトVPC削除
STEP
デフォルトVPC削除

デフォルトVPCを使用して環境を構築するケースはほぼありません。デフォルトVPCを用いてリソースを配置してしまうと、リソースを削除しないと削除できなくなってしまうため、早い段階で削除しておきましょう。

[検索]に[VPC]と入力して遷移します。
[アクション]→[VPC の削除]を選択します。

[デフォルト VPC の削除]を希望することを承認しますにチェックします。
フィールドに、[デフォルト VPC の削除]と入力して、[削除]を選択します。

STEP
デフォルトVPC復元

ほとんどありませんが、デフォルトVPCを復元したい場合、以下の手順で復元可能です。

[アクション]→[デフォルト VPC を作成]を選択します。

[デフォルト VPC を作成]を選択します。

以下の通り、デフォルトVPCが復元されました。

STEP
契約・コストの設定
STEP
マイアカウントの設定
STEP
支払い通貨をドルから日本円へ変更

[アカウント]→[ホーム]→[お支払い通貨の設定]から[JPY – Japanese Yen]を選択します。

STEP
代替の連絡先を追加

必要に応じて代替先の連絡先を追加します。rootユーザのメールアドレス以外の連絡先を追加できます。

STEP
秘密の質問の設定

AWSカスタマーサービスがAWSアカウントの所有者であることを確認するために利用されることがあります。一度設定すると削除はできませんが、変更は可能です。

STEP
IAMユーザーによる請求情報へのアクセス許可

rootユーザー以外にも請求情報へアクセス権限を付与する場合は、rootユーザーにて以下の設定を追加下さい。
[IAMユーザー/ロールによる請求情報へのアクセス]→[編集]から[IAMアクセスのアクティブ化]をチェック。

STEP
AWSサポートへの加入

AWSサポートプランの管理から遷移できます。デフォルトでは、ベーシックプランとなっており、必要に応じてアップグレードします。

STEP
Budgetの設定

予算の閾値を設定します。閾値に対してアラート送信できます。
予測コストが利用できるようになるまでには約5週間必要です。

[アカウント]→[Budgets]を選択します。

ここでは、月次コスト予算を設定しています。
・テンプレートを使用(シンプル)
・月次コスト予算
・予算名(例. bugets-administrator-monthly-all-resources)
・予算額(例. $75.00)
・Eメールの受信先を設定

予算ルール

予算の履歴と予測を確認できます。

次に、必要に応じてBudget Reportの設定をしていきます。
[Budgets reports]→[予算レポートを作成する]を選択します。

月初め1日から始まるマンスリーレポートを設定します。
・予算レポート名を入力します。(例. budgets-report-administrator-monthly-all-resources)
・予算レポートに含めるコスト予算を選択します。
・レポートの頻度、開始日付、Eメールの受信先を設定します。

予算レポート

STEP
AWS Cost Explorerの設定

AWS Cost Explorerは、実績と予測のコストを可視化するサービスです。APIや一部のオプション機能は有料ですが、基本は無料です。

[Cost explorer]→[Cost Explorer を起動]を選択します。

初めて起動する場合は、コストと使用状況のデータの準備に時間を要しており、24時間後にもう一度アクセスするようにガイドされます。準備できると以下のように現在の利用状況が表示されます。

Cost Explorerでは、サービスごとや日付、リージョン等、詳細な分析が可能です。

定型レポートから分析を確認することも新規にレポートテンプレートを作成することも可能です。

[サイズの適正化に関する推奨事項]は、無料でリソースのサイズに関するアドバイスを受けることができます。前提として、[設定]→[Amazon EC2 リソースの推奨事項を受け取る]にチェックを入れましょう。

AWS Cost Explorerでの詳細な分析をするために、[時間単位とリソースレベルのデータ]にチェックを入れることもできますが、こちらは有料となりますので、必要に応じて設定しましょう。

後程 AWS Compute Optimizerを設定することで、以下の通りサイズの適正化に関する推奨事項を表示してくれます。

STEP
AWS Compute Optimizerの設定

[検索]に[Compute Optimizer]と入力して遷移して、[ご利用開始]を選択します。
AWS Compute Optimizerは無料で使えるので、使わないに越したことはありません。

[オプトイン]を選択します。

リソースを使っている場合、最適化された状態か、リソース過多の状況かを自動的に評価してくれます。

必要に応じてアカウントを追加します。

リソースタイプ毎に推奨事項を評価してくれます。

STEP
AWS Cost Anomaly Detectionの設定

コストの異常を機械学習により検出してくれるサービスです。

[Cost Explorer]→[コスト異常検出]→[ご利用開始にあたって]を選択します。

ここでは、サービス使用履歴パターンに基づいて自動的に調整される設定をします。
・[AWSのサービス・推奨事項]を選択
・モニター名を入力します。(例. budgets-adetection-administrator-all-resources)
・[次へ]を選択します。

アラートの設定をします。
・[新しいサブスクリプションの作成]
・サブスクリプション名(例. administrator)
・アラート頻度(例. 日次の要約)
・アラート受信者のメールアドレス
・閾値(例. $25以上の異常なコスト利用があった際に指定メールアドレスに通知)
・[モニターを作成]を選択します。

モニタリングが設定されました。

STEP
Cost & Usage Reportsの設定

コストに関するレポートをCSV形式でS3に保管してくれます。S3に保存したレポートは、AthenaやBIツールを利用して分析できます。コスト配分タグを利用することで、レポートにタグ情報を追加することができます。

[アカウント]→[Cost & usage reports]→[レポートの作成]を選択します。

レポート名を入力して、[次へ]を選択します。(例. costusage-administrator-monthly-all-resources)

新規にs3バケットを作成します。[設定]を選択します。

新規バケットを設定します。
・[バケットの作成]を選択
・S3バケット名を入力(例. s3-costusage-administrator)
・リージョン(例. アジアパシフィック(東京))
・[保存]を選択します。

配信オプションを設定します。
・プレフィックス(例. costusage)
・使用量の時間詳細度(例. 時間別)
・レポートバージョニング(例. 既存レポートを上書き)
・データ統合の有効化は一旦不要で[次へ]を選択します。

問題なければ[レポートの作成]を選択します。

設定が反映されます。

S3バケットから保存先のリンクに遷移できます。

STEP
Billingの設定

請求書データ(PDFファイル)をメールで受け取ることができます。

[アカウント]→[請求設定]→[PDF 形式の請求書をEメールで受け取る]にチェックを入れる。

STEP
コスト配分タグの設定

AWSでは、AWSリソースに付与することができるメタデータを「タグ」と呼んでおり、何らかの基準・目的に従ってリソースを分類・識別・検索するために使用されます。

現時点では、リソースがないため設定しませんが、今後リソースを利用する際に以下意識してタグを定義しておくと、コスト配分タグの設定がしやすくなります。

コスト配分タグキー概要
EnvironmentAWSリソースが構築されている環境(本番/検証/開発/DR等)
ServiceAWSリソースが利用されているアプリケーションやシステムを識別
DivisionCodeAWSリソースを所有・管理している部署を識別
CompanyAWSリソースを所有・管理している企業を識別
STEP
準拠法/管轄裁判所の設定(不要)

従来、アカウント開設直後は、AWSカスタマーアグリメントの準拠法が米国ワシントン州法になっていましたが、2022年に「Amazon Web Services Japan Godo Kaisha」の場合は、準拠法は日本国法、管轄裁判所は、東京地裁と定められたため、作業は不要となりました。

STEP
ログ・モニタリングの設定
STEP
AWS CloudTrailの設定(有料)

CloudTrail は、デフォルトで AWS のサービス全体の管理イベントをログに記録し、無料でご利用いただけますが、S3の使用料金が多少発生します。CloudTrail コンソールで CloudTrail を使用すると、追加費用なしでアカウントのコントロールプレーンアクティビティの直近 90 日間の履歴を表示、検索、ダウンロードすることができますが、その他拡張機能は有料です。

[検索]に[CloudTrail]と入力して遷移、[証跡の作成]を選択します。

[証跡名]を入力して、[証跡の作成]を選択します。(例. trail-administrator-audit)

ログ保管先のS3バケットが自動的に生成されています。

ダッシュボードでは、証跡設定を確認できます。

イベント履歴では、90日分のログを確認できます。

CloudTrail Insightsを有効にした場合は利用できます。今回は利用しません。

CloudTrail Lakeを有効にすると利用できます。今回は利用しません。

AWS organizationsによる組織委任管理者を設定できます。

STEP
マネジメントコンソールのサインイン通知

従来マネジメントコンソールへのログインは、バージニア北部リージョンにアクセスされ、ログが記録されていましたが、仕様変更に伴いランダムにリダイレクトされることになりました。
これに伴い、従来バージニア北部のみの設定で可能だったAmazon SNS(Simple Notification Service)とAmazon EventBridgeによるサインイン通知の仕組みでは対応できなくなりました。

CloudTrailのログをCloudWatchに出力し、サブスクリプションフィルターを利用してAWS LambdaでイベントをSNSにパブリッシュする関数を作成、SNSによるEmailに送信する方法を試された方がいらっしゃいます。今回は実装しませんが、必要に応じて設定ください。

STEP
AWS Configの設定(有料)

AWSリソースに変更があった際に内容を記録し、変更の追跡を行うことができるサービスです。
インシデント発生時の調査等にも役立ちますが、有料です。

今回は、Security Hubを設定しているので、Security Hub関連で利用しているルールがすでに設定されています。ここでは、Security Hub準拠以外の追加ルールは設定しませんので、確認のみです。

[検索]に[config]と入力して、遷移します。Security Hub関連のルールの準拠状況が表示されていました。

コンプライアンスに関連する標準フレームワークから、適合パックをデプロイすることも可能です。
NISTやPCI DSS要件等を満たす必要がある場合は、追加設定します。

Security Hub関連のルールが追加されていることが確認できます。

AWS Configが記録したリソースを検索できます。

サンプルクエリ、または独自の新しいクエリで抽出することも可能です。

設定でサービスをオフにする等、変更可能です。

STEP
Amazon DevOps Guruの設定(有料)

Amazon DevOps Guruは、「アプリケーションの運用パフォーマンスと可用性を簡単に向上させる、機械学習 (ML) を利用したサービスです。DevOps Guru は、通常の運用パターンから逸脱した動作を検出するため、顧客に影響を与える前に迅速に運用上の問題を特定できます。」(公式引用

STEP
Amazon S3 Storage lensの設定(基本メトリクスは無料)
STEP
AWS Personal health Dashboardの通知設定
  1. ログ・モニタリングの設定
    • AWS CloudTrailの設定
    • マネジメントコンソールのサインイン通知
    • AWS Configの設定
    • Amazon DevOps Guruの設定
    • Amazon S3 Storage lensの設定
    • AWS Personal health Dashboardの通知設定
    • AWS Trusted Advisorの設定
STEP
AWS Trusted Advisorの設定
STEP
  • URLをコピーしました!
目次