EC2内でcurlコマンドを用いて簡単にインスタンスIDなど情報を取得する方法

[インスタンスIDを取得する方法]

curl -s -S http://169.254.169.254/latest/meta-data/instance-id/

[取得可能な情報のリストを取得する方法]

curl -s -S http://169.254.169.254/latest/meta-data/

[参考リンク]
lance104.hatenablog.jp
curl コマンド | コマンドの使い方(Linux) | hydroculのメモ

チケットを関連付けしようとすると「関連するチケット 同じプロジェクトに属していません」と怒られる

[前提]
redmine上にAというプロジェクトに対して、BおよびCというサブプロジェクトを作成している。

[事象]
Bサブプロジェクトで作成しているチケットに対して、Cサブプロジェクト内のチケットを関連づけしようとすると「関連するチケット 同じプロジェクトに属していません」というエラーメッセージが発生する。

[原因]
Redmineの設定漏れ

[対応方法]
管理 - 設定 - チケットトラッキングの"異なるプロジェクトのチケット間で関連の設定を可"のチェックボックスをONにする。

[補記事項]
同じプロジェクト内のサブプロジェクト同士位はデフォルトで関連付けさせて欲しい。。

入門Redmine 第5版

入門Redmine 第5版

P104 署名付きURL

S3には署名付きURLという機能が存在し、これを用いれば簡単にある特定の人に対してのみダウンロード可能なサイトを用意できる。
署名付きURLは作成したユーザーに成り代わってアクセスする機能なので、安全面を考えると、既存のIAMユーザー権限で生成するのではなく、特典ダウンロード専用IAMユーザーなどを作って、そのユーザーで署名URLを発行するのが望ましい。もしくは、都度ユーザー(専用ユーザー1,2,3…)を作成して、それぞれに対して短い期限を設定するなど。
CloudFrontでは、更に一定日時以降しか閲覧できない、一定日時までしか閲覧できない、特定のIPアドレスからしか閲覧できないなどの条件も設定可能である。

Amazon Web Services完全ソリューションガイド

Amazon Web Services完全ソリューションガイド

分散システム関連

トレンドになっていたので。
2フェーズコミット中にサーバーがこけた場合はどうなるんだろうと考えていたけど、やはり不備るケースっていっぱいあるんですね。。

www.slideshare.net

(関連参考資料)
ビザンチン将軍問題 - Wikipedia
sharply.hatenablog.com

分散システム (未来へつなぐデジタルシリーズ)

分散システム (未来へつなぐデジタルシリーズ)

P123 Pythonからメールを送信する

・emailモジュールとsmtplibモジュールを利用
SMTPサーバとしてGmailのサーバーを使うのがお手軽であるが、認証が必要で、さらにTLS/SSL利用が必須なのでSMTPの代わりにSMTP_SSLを利用する必要が有
OP25Bに対応するためにはP323の様な実装が必要

P122 Voluptuous

Pythonの基本的なデータ型を定義できるライブラリ
Schemaオブジェクトでスキーマを定義し、関数として呼び出すことで引数のオブジェクトのバリデーションを実施可能

P117 @retryデコレーター

リトライ処理を簡潔に書けるライブラリ

# stop_max_attempt_number:最大リトライ回数
# wait_exponential_multiplier:指数回数的(1,2,4,8…)なwaitを仕掛ける事ができ、初回のウェイトをミリ秒単位で指定
@retry(stop_max_attempt_number=3, wait_exponenntial_multiplier=1000)