CloudFormerで作成したテンプレートの注意点

CloudFormerを使用して既存のAWS上の環境をテンプレートにして、同じ環境を新たに作成したい事があるかと思うけれども、そういった場合、CloudFormerを使用して作成したテンプレートをそのまま使うと問題になるんじゃないかなと思った点があったのでメモ。

  • AWSリソースの名前が指定されていないので、そのまま使用するとリソース名が自動生成となる。
  • EC2のリソースを監視しているCloudWatchアラームをテンプレートにした場合、監視先のインスタンスIDが紐付いたままになる。(同じEC2のリソースを監視するアラームが新たに作成される)
  • CloudWatchLogGroupのアラームは、テンプレートを使用して作成した場合、CloudWatchLogGroupに同じ内容のアラームが追加で作成される。(同じ内容のアラームが新たに作成される)

リソース名が自動生成されるのは、作成したテンプレートにリソース名を指定するようにすれば対応可能。
下記はSNSにリソース名を指定した例。

CloudWatchアラームに関しては、他に良い方法があるかもしれないけれども、一度テンプレートを使用してアラームを作成後、変更を加えるか、もしくはテンプレートを使用しないで作成する必要があると思う。

AWS SDK for GOでのCloudSearch検索方法

前提条件として

  • CloudSearchでDomainが作成されている
  • CloudSearchに検索するためのデータが登録されている

が実施済みなこと。

下記のコードでGo言語を使用して、CloudSearchから検索できる。

まず、リージョンとCloudSearch Domainへのエンドポイントを指定して、cloudsearchdomainのインスタンスを作成する。
次にSearchInput構造体に検索文字列を設定して、最後にcloudsearchdomainのSearchメソッドで検索を行う。

これでCloudSearchから検索結果を取得できる。

また、同様の方法でCloudSearchのサジェスタを使用して、入力候補を取得する事ができる。

CloudSearchからの検索方法と同じように、構造体に入力候補を取得する為の情報を入力した後、Suggestメソッドで入力候補を取得可能。
Go言語の使い方は下記、AWS SDK for GoのAPI Referenceを見るとサンプルが付いているので判りやすい。
AWS SDK for GO API Reference

取得した入力候補をjsonにしてフロントエンドにレスポンスとして返し、フロントエンド側で入力候補を表示するように実装すれば、Googleの検索ボックスみたいにオートコンプリートを表示させる事ができるようになる。

JAWS DAYS 2016に参加してきました

AWSのユーザグループであるJAWS-UGによる一年に一度のイベントの
JAWS DAYS 2016に参加してきました。

会場であるベルサール新宿グランドに着くと、
早速JAWS DAYS 2016のカンバンが出迎えてくれました。

JAWS-DAYS-2016

受付で登録を行い、会場へ。
私が受付をした時間は早かったので、会場内の人はまだ少なかったですが、
30分ほどすると徐々に増えてきて、開始5分前には立ち見の人が出るほど人が増えてきました。

開始時間の10:00になると、開会宣言の後にJAWS-UG代表の金春さんのキーノートが始まります。
内容はJAWS-UGのこれまでとこれから、そしてコミュニティについての話でした。
技術的な話はなかったですが、コミュニティに参加することの大切さを考えさせられる話でした。

金春さんのキーノートの後は、各セッションが始まります。
皆さん自分の興味のあるセッションに向かって我先にと向かって行きます。
かくいう私もそうでした(笑)

各セッションはAWSを実際に使用した人の話であったり、
AWSのソリューションアーキテクトの方による各サービスの詳しい内容・制限事項の話だったりと
AWSをまだまだ勉強中の自分にはプラスになるものばかりでした。

特にAPI Gateway&lambdaのセッションは立ち見もあふれて
ブースに入りきらないほどで、皆さんの関心の高さが伺えました。
↓はAWS西谷さんのスライド資料です。
http://www.slideshare.net/keisuke69/aws-lambda-amazon-api-gateway-deep-dive

そして各セッションが終わった後は懇親会とLT大会の始まりです。
懇親会に参加する皆さんが一堂に会して、LTを肴にお酒を飲みます。

LTは5分という短い時間でしたが、セッションに負けないくらい
濃い内容ばかりで、経験溢れる方の話もあれば、なんと大学院生の登壇者もいました。
大学院生とは思えないしっかりした内容・話し方でびっくりしました。

懇親会の最後にはAWS samurai 2015に選出された皆さんの紹介です。
エバンジェリスト高岡さん司会のもと、
2015年にコミュニティに貢献された4名の方が紹介されました。
選出された皆さんおめでとうございます。
AWS-samurai-2015

次のJAWS DAYSは来年ですが、また参加したくなる内容のイベントでした。
参加してない方がいれば、来年是非参加してみてください。

RDS for Oracleのトレースファイル

アラートログ・リスナーログと同じく、RDS for Oracleのトレースファイルもサーバから直接取得できない為、AWSより代わりの取得方法が提供されている。

マネジメントコンソールより取得もできるし、SQLを使用しても取得できる。

SQLを使用して取得する場合、アラートログ・リスナーログと異なる点としては、ディレクトリ内に存在するトレースファイルの一覧を取得してからファイル名を指定して中身を取得しないといけない。

トレースファイルの一覧を取得する方法は2通りある。

トレースファイルの一覧よりファイル名を取得後、下記SQLでファイルの内容を取得できる。

RDS for Oracleのアラートログ・リスナーログ

通常のOracle DBであれば、アラートログ・リスナーログの取得はDBがインストールされているサーバにログインするなどすれば取得することが可能だが、RDS ではDBが起動しているサーバへのログインが出来ないため直接取得はできない。

代わりにマネジメントコンソールからの取得もできるが、RDS for Oracleではアラートログ・リスナーログの内容をViewで提供しているので、下記SQLを使用しても取得できる。

「alertlog」、「listenerlog」はアラートログ・リスナーログの内容を取得できるViewに対して設定されたパブリック・シノニム。
また、パブリックユーザに対してSELECT権限が付与されているので、DBに接続できるユーザであればどのユーザでもSELECTが可能。

DUAL表と同じイメージで使用できる。