Skip to content

Instantly share code, notes, and snippets.

@tkuchiki
tkuchiki / memo.md
Last active April 29, 2019 09:59
Docker for Mac on Parallels

VM をシャットダウンした状態で > VM の設定 > ハードウェア > ブート順序 > 詳細に以下を入力

kernel.nvmx.enable=1

メモリを 4GB 以上割り当てる

@tkuchiki
tkuchiki / memo.md
Last active April 13, 2019 15:03
timezone について
@tkuchiki
tkuchiki / get-ec2-security-credentials
Last active June 24, 2018 03:46
get ec2 security credentials
#!/bin/sh
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
base_url="http://169.254.169.254/latest/meta-data/iam/security-credentials"
iam_role=`curl -s $base_url/`
curl -s "$base_url/$iam_role"
@tkuchiki
tkuchiki / memo.md
Last active November 1, 2017 02:09
パブリックアクセス可能なVPC 内で起動したインスタンスの hostname は VPC内/外で別の IP を返す
  • パブリックアクセス可能なVPC 内で起動したインスタンス(EC2 だけでなく、RDS なども)の hostname ec2-xx-xx-xxx-xx.REGION.compute.amazonaws.com は VPC 外では global IPを返し、VPC 内では private IP を返す
    • RDS などをパブリックアクセス可能な状態で起動すると、CNAME で ec2-xx-xx-xxx-xx.REGION.compute.amazonaws.com が返る(中身が EC2 だから)

関連: VPC 内の DB インスタンスに同じ VPC 内の EC2 インスタンスがアクセスする
http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html#USER_VPC.Scenario1

# VPC内
$ dig ec2-xx-xx-xxx-xx.REGION.compute.amazonaws.com ns
@tkuchiki
tkuchiki / modify_aurora_writer.sh
Created August 4, 2017 03:21
Aurora Writer のインスタンスサイズを変更した後、もう一度 Writer にする
#!/bin/bash
set -u
INSTANCE="${1}"
SIZE="${2}"
CLUSTER="${3}"
echo "modify db instance: ${INSTANCE} ${SIZE}"
aws rds modify-db-instance --db-instance-identifier ${INSTANCE} --db-instance-class ${SIZE} --apply-immediately
@tkuchiki
tkuchiki / shell.md
Created August 2, 2017 01:05
pip でインストールしたモジュールが /usr/lib と /usr/local/lib どちらに入っているか調べる

/usr/local/lib 以下に入っているモジュールの一覧を出力

$ for p in $(pip list --format=columns | awk 'NR > 2 {print $1}'); do pip show $p | grep ^Location | grep -qs local && echo $p ; done

/usr/lib 以下に入っているモジュールの一覧を出力

$ for p in $(pip list --format=columns | awk 'NR > 2 {print $1}'); do pip show $p | grep ^Location | grep -vqs local && echo $p ; done
@tkuchiki
tkuchiki / _memo.md
Created July 27, 2017 02:58
apache(httpd) でファイルの有無で 503 を返すようにする
  • DocumentRoot = /var/www/html なので 503.html は /var/www/html/503.html にあるとする
  • /tmp/503 があればステータスコード 503 + 503.thml を返す

/tmp/503 は cron や at で作成、削除すれば一定期間だけ自動でメンテにできそう。

# メンテ開始
at $(LANG=C date +"%H:%M %Y-%m-%d" -d "2017-07-27T08:00") -f /path/to/start_maintenance.sh

# メンテ終了
@tkuchiki
tkuchiki / _memo.md
Last active July 26, 2017 08:29
Redmine 3.3.1 から 3.4.2 にアップグレード時の CSS の対応
  • http://www.redmine.org/issues/23310 に対応していない theme の場合、表示が崩れる
  • 暫定対応として、デフォルトテーマの CSS を一部そのまま使う
    • public/stylesheets/project_jump.css を設置
  • app/views/layouts/base.html.erb で project_jump.css を読み込むように修正
@tkuchiki
tkuchiki / yum.md
Created July 18, 2017 02:41
yum groupinstall "Development Tools" は docker build でキャッシュされない気がするので、package を展開して yum install に置き換える
$ yum groupinfo "Development Tools" | egrep -v "(Loaded|Group|Description|Packages)" | awk '{print $1}' | sed -e 's/^+//g' | tr '\n' ' '
 autoconf automake binutils bison flex gcc gcc-c++ gdb gettext kexec-tools latrace libtool make patch pkgconfig rpm-build strace system-rpm-config systemtap-runtime byacc crash cscope ctags cvs diffstat doxygen elfutils gcc-gfortran git indent intltool ltrace patchutils rcs subversion swig systemtap texinfo valgrind ant bzr-python27 chrpath cmake dejagnu expect gcc-gnat glibc-utils imake jpackage-utils lslk mercurial-python27 mod_dav_svn nasm perltidy python27-babel python27-docs rpmdevtools rpmlint systemtap-initscript
@tkuchiki
tkuchiki / import_job.sh
Created July 6, 2017 05:35
rundeck api
#!/bin/bash
TOKEN="${1}"
PROJECT="${2}"
curl -s -X POST \
-H "X-Rundeck-Auth-Token: ${TOKEN}" \
-F "xmlBatch=@/tmp/job.yaml" \
"http://localhost:4440/api/19/project/${PROJECT}/jobs/import?fileformat=yaml"