AWS Configを有効にしてみる

東京リージョンでAWS Configが使えるようになったこともあり、使ってみることにしました。
とりあえずやってみたメモ。


マネジメントコンソールからAWS Configの管理画面を表示。


f:id:think-t:20150412151920p:plain


S3バケットとSNS Topicの設定を行います。S3バケットはAWS Config用に新規作成します。


f:id:think-t:20150412151924p:plain


AWS Configが情報収集するためのIAM Roleを作成します。基本これだけでOK.


f:id:think-t:20150412151928p:plain


それでは検索をしてみます。今回はインスタンスの変更点を見てみます。


f:id:think-t:20150412151941p:plain


インスタンスタイプの変更が記録されていました。


f:id:think-t:20150412151949p:plain


最初に記録をとるよう設定しておくと、後で何かと使えそうです。


今日はこんなところで。

参考

.gitkeepファイルをすべてのディレクトリに作成する

Gitでコードを管理する場合、空ディレクトリが存在すると、管理対象になりません。


こんなときは、find コマンドの -exec オプションを使って、.gitkeepファイルを
全てのディレクトリにとりあえず作ってしまうのが楽です。


たとえば、Chefで新しいcookbookを作ったとき。

$ knife cookbook create mycookbook -o .                                                                                                                                                                                                            
WARNING: No knife configuration file found
** Creating cookbook mycookbook
** Creating README for cookbook: mycookbook
** Creating CHANGELOG for cookbook: mycookbook
** Creating metadata for cookbook: mycookbook

$ ls -laR mycookbook/
mycookbook/:
合計 52
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:28 2015 ..
-rw-r--r--.  1 myuser myuser  467  3月 15 15:28 2015 CHANGELOG.md
-rw-r--r--.  1 myuser myuser 1480  3月 15 15:28 2015 README.md
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 attributes
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 definitions
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:28 2015 files
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 libraries
-rw-r--r--.  1 myuser myuser  284  3月 15 15:28 2015 metadata.rb
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 providers
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 recipes
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 resources
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:28 2015 templates

mycookbook/attributes:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..

mycookbook/definitions:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..

mycookbook/files:
合計 12
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 default

mycookbook/files/default:
合計 8
drwxr-xr-x. 2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 3 myuser myuser 4096  3月 15 15:28 2015 ..

mycookbook/libraries:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..

mycookbook/providers:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..

mycookbook/recipes:
合計 12
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..
-rw-r--r--.  1 myuser myuser  136  3月 15 15:28 2015 default.rb

mycookbook/resources:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..

mycookbook/templates:
合計 12
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:28 2015 ..
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:28 2015 default

mycookbook/templates/default:
合計 8
drwxr-xr-x. 2 myuser myuser 4096  3月 15 15:28 2015 .
drwxr-xr-x. 3 myuser myuser 4096  3月 15 15:28 2015 ..


こんな感じでfindコマンドを使うと、楽です。

$ find mycookbook -type d -exec touch {}/.gitkeep \;

$ ls -laR mycookbook/
mycookbook/:
合計 52
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:28 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep
-rw-r--r--.  1 myuser myuser  467  3月 15 15:28 2015 CHANGELOG.md
-rw-r--r--.  1 myuser myuser 1480  3月 15 15:28 2015 README.md
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 attributes
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 definitions
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:35 2015 files
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 libraries
-rw-r--r--.  1 myuser myuser  284  3月 15 15:28 2015 metadata.rb
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 providers
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 recipes
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 resources
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:35 2015 templates

mycookbook/attributes:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

mycookbook/definitions:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

mycookbook/files:
合計 12
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 default

mycookbook/files/default:
合計 8
drwxr-xr-x. 2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 3 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--. 1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

mycookbook/libraries:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

mycookbook/providers:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

mycookbook/recipes:
合計 12
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep
-rw-r--r--.  1 myuser myuser  136  3月 15 15:28 2015 default.rb

mycookbook/resources:
合計 8
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

mycookbook/templates:
合計 12
drwxr-xr-x.  3 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 10 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--.  1 myuser myuser    0  3月 15 15:35 2015 .gitkeep
drwxr-xr-x.  2 myuser myuser 4096  3月 15 15:35 2015 default

mycookbook/templates/default:
合計 8
drwxr-xr-x. 2 myuser myuser 4096  3月 15 15:35 2015 .
drwxr-xr-x. 3 myuser myuser 4096  3月 15 15:35 2015 ..
-rw-r--r--. 1 myuser myuser    0  3月 15 15:35 2015 .gitkeep

今日はこんなところで。

Oracle JDKをCLIで直接ダウンロードする方法

今日はTIPSをメモ。


Oracle JDKLinuxで使う場合、直接RPMファイル等をダウンロードしたい場合があります。


wgetで「--no-check-certificate」「--no-cookies」「--header」オプションをつけるとうまくいく模様。


本日時点で最新版のJava SE Development Kit 8u40で試してみました。

$  wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm
--2015-03-15 13:17:10--  http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm
download.oracle.com をDNSに問いあわせています... 42.127.234.73, 42.127.234.88
download.oracle.com|42.127.234.73|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Moved Temporarily
場所: https://edelivery.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm [続く]
--2015-03-15 13:17:10--  https://edelivery.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm
edelivery.oracle.com をDNSに問いあわせています... 23.37.150.140
edelivery.oracle.com|23.37.150.140|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Moved Temporarily
場所: http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm?AuthParam=1426393151_62f6eb3f2a8ce42c742574ab302a7510 [続く]
--2015-03-15 13:17:11--  http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm?AuthParam=1426393151_62f6eb3f2a8ce42c742574ab302a7510
download.oracle.com:80 への接続を再利用します。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 152185219 (145M) [application/x-redhat-package-manager]
`jdk-8u40-linux-x64.rpm' に保存中

100%[=============================================================================================================================================================================================================================>] 152,185,219 3.69M/s 時間 52s     

2015-03-15 13:18:03 (2.81 MB/s) - `jdk-8u40-linux-x64.rpm' へ保存完了 [152185219/152185219]


うまくやれば、自動インストールができますね。
Chefに組み込んでみよう。

今日はこんなところで。

CloudFormationのParameterで正規表現を使う場合の話

今日はタイトル通りのメモです。


CloudFormationで正規表現を使いたい場合のリファレンスをメモ。
Parametersのパラメータ内でAllowedPatternを使いたい場合など
Java正規表現に準拠しているんですね。


今日はこんなところで。

CloudFormationでElastiCacheを設定してみる

CloudFormationでやってみたシリーズです。
CloudFormationでVPC上にElastiCacheを作成するサンプルを作ってみました。


githubにアップロードしました。
使えそうだったら使って見ていただけるとうれしいです。


今回は以下のようなことをやってみました。

  • ElastiCacheのCacheClusterを作成
    • ClusterはVPC内に作成
    • Clusterが使うSubnetは2つ選択
    • CacheEngineはMemcachedを選択
    • ParameterGroupを作成

今日はこんなところで。