翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Network Load Balancer のアクセスログを有効にする
ロードバランサーのアクセスログの作成を有効にする場合は、ロードバランサーがログを保存する S3; バケットの名前を指定する必要があります。このバケットは、バケットにアクセスログを書き込む許可を Elastic Load Balancing に付与するバケットポリシーが必要です。
アクセスログが作成されるのは、ロードバランサーに TLS リスナーがあり、TLS リクエストに関する情報のみが含まれる場合のみです。
バケットの要件
既存のバケットを使用するか、アクセスログ専用のバケットを作成できます。バケットは、次の要件を満たしている必要があります。
要件
-
バケットは、ロードバランサーと同じリージョンに配置されている必要があります。バケットとロードバランサーは、異なるアカウントにより所有できます。
-
指定するプレフィックスに AWSLogs を含めることはできません。指定したバケット名とプレフィックスの後に、AWSLogs で始まるファイル名部分が追加されます。
-
このバケットは、バケットにアクセスログを書き込む許可を付与するバケットポリシーが必要です。バケットポリシーは、バケットのアクセス許可を定義するためにアクセスポリシー言語で記述された JSON ステートメントのコレクションです。
バケットポリシーの例
以下は、ポリシーの例です。Resource 要素については、amzn-s3-demo-destination-bucket をアクセスログの S3 バケットの名前に置き換えます。バケットプレフィックスを使用していない場合は、Prefix/ を必ず省略してください。にはaws:SourceAccount、ロードバランサーで AWS アカウントの ID を指定します。aws:SourceArn については、region と 012345678912 をそれぞれロードバランサーのリージョンとアカウント ID に置き換えます。
- JSON
-
-
{
"Version":"2012-10-17",
"Id": "AWSLogDeliveryWrite",
"Statement": [
{
"Sid": "AWSLogDeliveryAclCheck",
"Effect": "Allow",
"Principal": {
"Service": "delivery.logs.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
"Condition": {
"StringEquals": {
"aws:SourceAccount": [
"012345678912"
]
},
"ArnLike": {
"aws:SourceArn": [
"arn:aws:logs:us-east-1:012345678912:*"
]
}
}
},
{
"Sid": "AWSLogDeliveryWrite",
"Effect": "Allow",
"Principal": {
"Service": "delivery.logs.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/Prefix/AWSLogs/account-ID/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control",
"aws:SourceAccount": [
"012345678912"
]
},
"ArnLike": {
"aws:SourceArn": [
"arn:aws:logs:us-east-1:012345678912:*"
]
}
}
}
]
}
Encryption
Amazon S3 アクセスログバケットのサーバー側の暗号化は、次のいずれかの方法で有効にできます。
† Network Load Balancer アクセスログでは、 AWS マネージドキーを使用することはできません。カスタマーマネージドキーを使用する必要があります。
詳細については、Amazon Amazon S3 ユーザーガイドの「Amazon S3 暗号化 (SSE-S3) の指定」およびAWS KMS 「 (SSE-KMS) を使用したサーバー側の暗号化の指定」を参照してください。 Amazon S3
キーポリシーで、ログの暗号化および復号化する許可をサービスに与える必要があります。以下は、ポリシーの例です。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "delivery.logs.amazonaws.com"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
]
}
以下の手順を使用して、リクエスト情報を収集して S3 バケットにログファイルを配信するように、アクセスログを設定します。
- Console
-
アクセスログを有効にするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインで、[ロードバランサー] を選択します。
-
ロードバランサーの名前を選択して、その詳細ページを開きます。
-
[属性] タブで、[編集] を選択します。
-
[モニタリング] で [アクセスログ] をオンにします。
-
[S3 ロケーション] には、ログファイルの S3 URI を入力します。指定する URI は、プレフィックスを使用しているかどうかによって異なります。
-
[Save changes] (変更の保存) をクリックします。
- AWS CLI
-
アクセスログを有効にするには
modifymodify-load-balancer-attributes コマンドを関連する属性とともに使用します。
aws elbv2 modify-load-balancer-attributes \
--load-balancer-arn load-balancer-arn \
--attributes \
Key=access_logs.s3.enabled,Value=true \
Key=access_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
Key=access_logs.s3.prefix,Value=logging-prefix
- CloudFormation
-
アクセスログを有効にするには
AWS::ElasticLoadBalancingV2::LoadBalancer リソースを更新して、関連する属性を含めます。
Resources:
myLoadBalancer:
Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
Properties:
Name: my-nlb
Type: network
Scheme: internal
Subnets:
- !Ref subnet-AZ1
- !Ref subnet-AZ2
SecurityGroups:
- !Ref mySecurityGroup
LoadBalancerAttributes:
- Key: "access_logs.s3.enabled"
Value: "true"
- Key: "access_logs.s3.bucket"
Value: "amzn-s3-demo-logging-bucket"
- Key: "access_logs.s3.prefix"
Value: "logging-prefix"