AWS IAM Switch Roleのリストを増やすChrome Extensionを作った

AWS Management Console において、AWSアカウントから他のAWSアカウントにスイッチロールできますが、これの最近の履歴が5つまでしか表示されない。あくまでも最近使ったものという位置付けなんだと思います。 某仕事上、1つのアカウントから多数の他のアカウントに Switch Role にせざる得ないので専用の URL をブックマークしていました。しかし、これでも毎回補完された入力フォームが挟まれて怠い(このページ遷移が結構かかります)。 このような理由で、Switch Role の履歴(リスト)を拡張する Chrome Extension を作りました。Chrome Web Store で公開しているので簡単にインストールできます。 chrome.google.com 特徴 Switch Role の履歴に設定に定義されたプロファイル(アカウント)の分が項目増えるリスト拡張される。 リストには <プロファイル名> | <AWSアカウントID> と AWSアカウントID がわかりやすくなる。 色指定ができる(固定色ではない)。 スイッチロール後に黒いヘッダーの下部に指定色のバーが表示されてより現在のプロファイルが識別しやすくなる。 Chrome Sync (端末間) で設定は共有されます。 設定 ブラウザの URL バー右に並ぶ拡張のアイコンをクリックして、ポップアップしたテキストエリアに CLIで同様の設定となる ~/aws/config ファイルと同様のフォーマットで定義して保存するだけです。色指定 (例.color = ffcc99) も CSS ライク(先頭 # なし)で指定できます。GitHubの README を詳しくは参照ください。 GitHub - tilfin/aws-extend-switch-roles: Extend your AWS IAM switching roles by Chrome extension

2016年8月9日 · Toshimitsu Takahashi

AWS EC2にインスタンス一覧から選択してSSHできるスクリプトを作った

EC2 に SSH する度に AWS コンソールからインスタンスの詳細選んで Elastic IP をコピペしてキーファイルを指定して実行というのが怠いので便利スクリプトを作ってみた。 単に SSH 第1引数にプロファイル名を指定します。 ~/.aws/credentials に定義されている中から選択します(引数なしで実行するとプロファイルがわかります)。 $ ec2ssh profile1 0) server-dev 60.100.45.XXX i-abcdefgx keypair-dev 1) server-stg 60.100.45.YYY i-abcdefgy keypair-stg 2) server-prod 60.100.45.ZZZ i-abcdefgz keypair-prod Input target EC2 number> 2 Last login: Wed Jan 20 15:19:00 2016 from xxxx.xxxx.xxx.xxx __| __|_ ) _| ( / Amazon Linux AMI ___|\\___|___| https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/ \[ec2-user@ip-10-0-0-1 ~\]$ ファイルをEC2からローカルにコピー EC2 の /tmp/log.tgz をローカルの ~/work/ にコピーする。 引数に get, EC2内ファイルパス, ローカルコピー先パス の順に指定する。 コピー先が未指定ならカレントディレクトリになる。 ...

2016年2月25日 · Toshimitsu Takahashi

AWS Elastic Beanstalk へ CI からデプロイ時に特定コンフィギレーションをスキップするには

CI サービスから自動的に AWS Elastic Beanstalk にアプリケーションをデプロイしたいときに .ebextensions フォルダに置いたコンフィギレーションファイルをスキップさせたいときがある。 awsebcli の eb deploy コマンドでは、Git リポジトリのカレントブランチの HEAD コミットをアーカイブしてアップロードする。Elastic Beanstalk (以下、EB) の仕様上、EB 環境毎に EC2 インスタンスの設定(.ebextensions)をデプロイ処理時に切り分けるには、container_commands において環境変数を参照して行うしかない。それ以前に走る files や Resources の設定は固定になってしまう。 eb deploy コマンドの --staged オプションを指定すると、Git リポジトリの staged 状態を反映してアーカイブを作成してくれる。 つまり特定の設定ファイルをスキップしたければ git rm .ebextensions/skip.config を行ってから、eb deploy --staged target-eb-env を叩くようにすれば良いのだ。 例えば CI サービスの設定 yaml などに次のように定義する。 - git rm .ebextensions/skip.config - eb deploy --staged target-eb-env 特定の処理を追加したいときは別の場所に設定ファイルを用意しておいて、git mv で .ebextensions フォルダに移動すると良いだろう。 - git mv other-ebextensions/add.config .ebextensions - eb deploy --staged target-eb-env

2015年9月26日 · Toshimitsu Takahashi

S3バケットにローテーションしてバックアップする serverbackup-s3

さくら VPS サーバをいくつか借りていて、ホストの設定ファイルやデータべ―スダンプなどのバックアップを AWS S3 に置いています。S3 へのアップロードは無料なので、それなりに大きなファイルを毎日バックアップしても心配する必要はありません。 元々個別にスクリプト書いて、tar.gz したアーカイブファイルを s3sync で同期していました。その後仕組みをある程度まとめて Gitlab で内部管理していたんですが、デプロイキーの扱いが面倒だったため、今回 GitHub に上げました。 serverbackup-s3 tilfin/serverbackup-s3 · GitHub 特徴 バックアップファイルのローテーション 複数の S3 バケットに日毎に振り分けられる。例えば、奇数日は東京、偶数日はシンガポールのバケットへということが可能。 バックアップスクリプトをサービスごとに分けて管理できる。 使い方 s3sync & serverbackup-s3 のインストール s3sync は開発が止まっていて、Ruby 1.9 以降に未対応だったり、etc ディレクトリの位置がアレだったりするのですが、その辺を修正した私のフォークしたリポジトリを使うと簡単です。 以下の例では、/backup の下にバックアップ処理をまとめます。 $ sudo -i # mkdir /backup # cd /backup # mkdir log # mkdir tmp # git clone --depth 1 https://github.com/tilfin/s3sync.git # git clone --depth 1 https://github.com/tilfin/serverbackup-s3.git s3sync の設定 # cd /backup/s3sync/etc # vi etc/s3config.yml s3config.yml に AWS のアクセスキーとシークレットキーをセットします。 ...

2014年2月27日 · Toshimitsu Takahashi