AWSのITコストを削減 Simpline

選ばれ続けること

 

エンジニアブログ

ホーム - エンジニアブログ - [AWS]NLBのアクセスログ

[AWS]NLBのアクセスログ

2019.03.04

こんにちは。middleです。


知らない間にNLBにアクセスログ機能が追加されてたので、本日はそちらについてです。


 


★今回のお題


NLBのアクセスログを有効化したい


早速やってみましょう

↓↓↓


Englishページしかまだないようですが、公式ドキュメントはこちらです。


手順としてはまず、保管先のS3バケットの設定を実施した上で、NLBログの有効化を実施します。


 


★(前提)ログ有効化できるNLBについて


アクセスログに対応したといってもすべてではなく、リスナーのプロトコルがTLSのもののみです。TCPのものは対応してません。


まあなんというか、「NLBがアクセスログに対応した」というより、「NLBがTLSのTerminationが可能になった」という方が正しいんですね。


■参考:

New – TLS Termination for Network Load Balancers


TLS Listeners for Your Network Load Balancer - Elastic Load Balancing


 


 


★ログ保管先S3バケット設定について


バケットポリシーで「s3:PutObject」と「s3:GetBucketAcl」権限を許可する必要があります。


Principalは「delivery.logs.amazonaws.com」なところが、ALBやCLBと違います。


 



{

  "Version": "2012-10-17",

"Statement": [

{

"Sid": "AWSLogDeliveryWrite",

"Effect": "Allow",

"Principal": {

"Service": [ "delivery.logs.amazonaws.com" ]

  },

"Action": [ "s3:PutObject" ],

"Resource": "arn:aws:s3:::バケット名/prefix/AWSLogs/アカウントID/*",

"Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}}

},

{

"Sid": "AWSLogDeliveryAclCheck",

"Effect": "Allow",

"Principal": {

"Service": [ "delivery.logs.amazonaws.com" ]

},

"Action": [ "s3:GetBucketAcl" ],

"Resource": "arn:aws:s3:::バケット名"

}

]

}



※なんだか行頭スペースが勝手に調整されちゃうので、詳しくは下記リンクをご覧ください。


■参考:

Access Logs for Your Network Load Balancer - Elastic Load Balancing


 


 


★NLBアクセスログ有効化方法


・マネジメントコンソール

→説明タブ属性欄の、「属性の編集」から有効化します。


 


・CLI

→「modify-load-balancer-attributes」コマンドで有効化します。


 


・CloudFormation

ALBと同様、propertiesの「LoadBalancerAttributes」でKey&Valueを指定します。


 


 


今までのリスナープロトコルTCPなNLBについては依然アクセスログが対応していないので、そこは失念しないようにしましょう。


お疲れ様でした :)

1 Star 0 いいねしてね!
Loading...