Skip to content

Instantly share code, notes, and snippets.

@s-fujimoto
s-fujimoto / cloudfront-logstash.conf
Created April 27, 2016 11:02
Logstash configuration file for throwing CloudFront logs to Amazon ES
input {
s3 {
bucket => "<CLOUDFRONT_LOG_BUCKET>"
prefix => "<CLOUDFRONT_LOG_KEY_PREFIX>"
region => "<BUCKET_REGION_NAME>"
}
}
filter {
@s-fujimoto
s-fujimoto / aws_http_requests.py
Last active March 6, 2021 04:53
request to amazon elasticsearch service on aws signature version 4
from elasticsearch.connection.http_requests import RequestsHttpConnection
from botocore.awsrequest import AWSRequest
from botocore.auth import SigV4Auth
from botocore.credentials import Credentials
from botocore.utils import InstanceMetadataFetcher
from elasticsearch.compat import urlencode
import os
try:
import requests
REQUESTS_AVAILABLE = True
@s-fujimoto
s-fujimoto / s3-to-es-lamba.py
Created November 14, 2015 15:57
Import Elasticsearch from ELB access log for AWS Lambda Function
##################################################
### Elasticsearch host name
ES_HOST = "search-******************.ap-northeast-1.es.amazonaws.com"
### Elasticsearch prefix for index name
INDEX_PREFIX = "awslogs"
#################################################
### ELB access log format keys
ELB_KEYS = ["timestamp", "elb", "client_ip", "client_port", "backend_ip", "backend_port", "request_processing_time", "backend_processing_time", "response_processing_time", "elb_status_code", "backend_status_code", "received_bytes", "sent_bytes", "request_method", "request_url", "request_version", "user_agent"]
#!/usr/bin/env python
import twitter
import boto3
import os
keyword = 'dev.classmethod.jp'
region = 'us-east-1'
size = 10 * 100
#!/usr/bin/env python
import twitter
import boto3
import os
keyword = '#reinvent'
lang = 'en'
region = 'us-east-1'
size = 100 * 100
@s-fujimoto
s-fujimoto / request_amazon_es.py
Last active January 17, 2020 09:37
request to amazon es controled iam policy
#!/usr/bin/env python
from boto.connection import AWSAuthConnection
import requests
import json
import sys
def main():
host = sys.argv[1]
@s-fujimoto
s-fujimoto / s3-to-es-lambda-with-ingest.py
Last active May 9, 2019 19:57
Transfer s3 to Elasticsearch log from by Lambda
import boto3
import os
import gzip
from datetime import datetime
from botocore.awsrequest import AWSRequest
from botocore.auth import SigV4Auth
from botocore.endpoint import BotocoreHTTPSession
from botocore.credentials import Credentials
def lambda_handler(event, context):
@s-fujimoto
s-fujimoto / collect_vulnerability.py
Last active October 21, 2018 10:53
collect vulnerability for AWS Lambda
#####################################################################################
### Select from low, middle, high. If you choice middle, script collect middle and high.
SEVERITY = "middle"
### Select from daily, weekly, monthly
INTERVAL = "daily"
### Specify Publish Topic Arn for SNS
TOPIC_ARN = "arn:aws:sns:*******:************:**********"
##################################################
### Elasticsearch host name
ES_HOST = "search-******************.ap-northeast-1.es.amazonaws.com"
### Elasticsearch prefix for index name
INDEX_PREFIX = "elb_log"
### ELB name for type name
ELB_NAME = "*****"
@s-fujimoto
s-fujimoto / approve_release.py
Created March 27, 2017 01:41
Approve CodePipeline approval action with Lambda function
import boto3
def lambda_handler(event, context):
pipeline_name=event['PIPELINE_NAME']
stage_name=event['STAGE_NAME']
action_name=event['ACTION_NAME']
cp = boto3.client('codepipeline')
state = cp.get_pipeline_state(name=pipeline_name)