Skip to content

Instantly share code, notes, and snippets.

View okochang's full-sized avatar
🏠
Working from home

okochang okochang

🏠
Working from home
View GitHub Profile
@okochang
okochang / create_ami.sh
Created March 16, 2012 05:33
ami backup script for ec2 instance
#!/bin/sh
## EC2 confiration
export JAVA_HOME="Set your java home path"
export EC2_HOME="Set your ec2 home path"
export EC2_PRIVATE_KEY="Set your aws private-key"
export EC2_CERT="Set your your X509-cert"
export EC2_URL="Set using ec2 url"
export EC2_REGION="Set using ec2 region"
@okochang
okochang / introduction_sqs.rb
Created August 4, 2013 09:17
AWS SDK for Rubyを使ってSQSを操作する手順の紹介
# -*- coding: utf-8 -*-
require 'aws-sdk'
access_key = 'set your access key'
secret_key = 'set your secret key'
sqs_region = 'sqs.ap-northeast-1.amazonaws.com'
queue_name = 'okochang_que'
sqs = AWS::SQS.new(
:access_key => access_key,
:secret_key => secret_key,
@okochang
okochang / evaluate_vpc_flow_logs_enabled_for_aws_config.py
Last active March 31, 2018 01:52
Sample rule for AWS Config Rules that evaluate vpc flow logs enabled or disabled
import boto3
import datetime
import json
config = boto3.client("config")
ec2 = boto3.client("ec2")
def evaluate_flowlog(vpc_id):
response = ec2.describe_flow_logs(
Filter=[
@okochang
okochang / ses_file_send.rb
Created February 24, 2012 08:10
awssdk for ruby send email with attaching file
# -*- coding: utf-8 -*-
require 'aws-sdk'
# ACCESS_KEYとSECRET_KEYを定義します
ACCESS_KEY = 'YOUR_ACCESS_KEY'
SECRET_KEY = 'YOUR_SECRET_KEY'
# 送信メールの本文を作成します
body = 'Sample email attaching file.'
# ファイルを読み込みbase64フォーマットにエンコードします
@okochang
okochang / introduction_ec2.rb
Created February 22, 2013 16:50
AWS SDK for Rubyを使ってEC2を起動して削除するまでの流れ
# -*- coding: utf-8 -*-
## EC2インスタスを起動するまでの流れで、スクリプトではないので注意して下さい
require 'aws-sdk'
ACCESS_KEY = 'set your access key id'
SECRET_KEY = 'set your secret key'
EC2_REGION = 'ec2.ap-southeast-1.amazonaws.com'
ec2 = AWS::EC2.new(
:access_key_id => ACCESS_KEY,
:secret_access_key => SECRET_KEY,
@okochang
okochang / iam_policy_for_evaluate_vpc_flow_logs_enabled.json
Created January 26, 2016 15:39
Sample AWS IAM policy for evaluate_vpc_flow_logs_enabled_for_aws_config.py
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"config:PutEvaluations",
@okochang
okochang / create_and_rotate_image_of_myself.rb
Created June 16, 2013 13:37
EC2インスタンスから実行して自分自身のAMI取得とAMIの世代管理をするスクリプト。 実行する場合はEC2インスタンスのタグを指定した上で実行する事。
# -*- coding: utf-8 -*-
require 'net/http'
require 'aws-sdk'
instance_id = Net::HTTP.get('169.254.169.254', '/latest/meta-data/instance-id')
ec2_region = 'ec2.' + Net::HTTP.get('169.254.169.254', '/latest/meta-data/placement/availability-zone').chop + '.amazonaws.com'
image_name = instance_id + '-' + Time.now.strftime("%Y%m%d%H%M")
comment = "automatically generated image"
@ec2 = AWS::EC2.new(
@okochang
okochang / aws.yml
Created August 4, 2013 03:36
AWS SDK for Rubyで各サービスのリージョンを指定する方法一覧
# -*- coding: utf-8 -*-
## AWS SDK for Rubyで各サービスのリージョンを指定する方法一覧
AWS.config(
:access_key_id => 'set_your_access_key_id',
:secret_access_key => 'set_your_secret_key',
:auto_scaling_endpoint => 'autoscaling.ap-northeast-1.amazonaws.com',
:cloud_formation_endpoint => 'cloudformation.ap-northeast-1.amazonaws.com',
:cloud_front_endpoint => 'cloudfront.amazonaws.com',
@okochang
okochang / introduction_support.rb
Last active December 18, 2015 10:59
AWS SDK for Rubyを使ったサポートアクセスする手順の紹介
# -*- coding: utf-8 -*-
require 'aws-sdk'
ACCESS_KEY = 'set your access key'
SECRET_KEY = 'set your secret key'
support = AWS::Support.new(
:access_key_id => ACCESS_KEY,
:secret_access_key => SECRET_KEY,
).client
@okochang
okochang / introduction_iam.rb
Created May 30, 2013 00:43
AWS SDK for Rubyを使ってIAMを操作する手順の紹介
# -*- coding: utf-8 -*-
## AWSのIAM用APIを使ってみたログであり、スクリプトではありません。
require 'aws-sdk'
ACCESS_KEY = 'set your access key'
SECRET_KEY = 'set your secret key'
alias_name = 'okochang'
user_name = 'yanase'
user_policy_name = 'admin_user_policy'
user_policy = '{"Statement":[{"Effect":"Deny","Action":["support:*"],"Resource":"*"},{"Effect":"Allow","Action":"*","Resource":"*"}]}'
group_name = 'administrator'