Amazon Web Services ブログ

AWS エンタープライズサポートの更新 – トレーニングクレジット、オペレーションレビュー、最良アーキテクチャ(Well-Architected)

私はシアトルの EBC (エグゼクティブブリーフィングセンター) で AWS の新規のお客様や潜在顧客について話すことがよくあります。すでに多くの方々がクラウドがもたらすメリットを把握し、既存のアプリケーションと新たに構築するクラウドネイティブのアプリケーションを組み合わせて利用するプランを立てています。大方の場合、AWS への移行は企業や団体にとって大規模な変化と近代化を意味するため、シニアリーダー達はクラウド駆動のシステムを巧みに設計、構築、操作する上で必要な情報やリソースを自社のテクニカルチームに備えておきたいと考えています。こうしたお客様の多くはミッションクリティカルなアプリケーションをクラウドに移動させるために AWS エンタープライズサポートプランを利用しています。従来のサポートプランと同様に、エンタープライズサポートは問題発生時にテクニカルサポートスタッフとリソースへのアクセスを提供します。また従来のプランとは異なり、エンタープライズサポートでは堅牢でコスト効率が高く、管理が簡単でスケーラブルに優れたアプリケーションの構築をサポートしています。AWS Trusted Advisor による細かい指示や専任スタッフが提供するようなサポートの質、自動化したデータ駆動型のアドバイスなどを好んで利用しているという声を AWS のお客様から頂いています。

新しいエンタープライズサポートのメリット
本日、AWS エンタープライズサポートプランに新しい 3 つのメリットを追加しました。新規および既存のプラン加入者は、この新機能を無料でお楽しみいただけます。

トレーニングクレジット – トレーニングパートナーの qwikLabs と協力し、エンタープライズサポートをご利用されているお客様は年間 500 の qwikLabs トレーニングクレジットを使用できるほか、クレジットの追加時に 30% の割引を利用することができます。qwikLabs のトレーニングコースは AWS のトピックを幅広く取り上げています。入門者向けのコースは無料、後のコストは 1 クレジットから 15 クレジットです (詳しくは コースカタログをご覧ください)。

エンタープライズサポートをすでにご利用されているお客様で、クレジットや割引の利用をご希望の場合は AWS テクニカルアカウントマネージャー (TAM) にお問い合わせください。

クラウドオペレーションレビュー – エンタープライズサポートのお客様は、クラウドオペレーションレビューを使用してクラウド内での操作において抜けている点がないか確認することができます。特定のお客様から収集した操作上のベストプラクティスをもとに、このプログラムはご自分のクラウド操作のレビューと関連のマネジメントプラクティスを提供します。このプログラムは 4 つの柱から形成され、クラウドベースのシステムで優れた操作を実現するための準備、モニタリング、操作、最適化に重点を置いています。

TAM を使用してクラウドオペレーションレビューを設定することができます。

最良アーキテクチャレビュー – エンタープライズサポートをご利用のお客様は、ミッションクリティカルなワークロードに対し最良アーキテクチャレビューを使用することもできます。クラウドオペレーションレビューはユーザーとプロセスに重点を置きますが、このレビューではお客様が AWS のベストプラクティスに対してどのくらい近いか確認することができます。当社の目標は、お客様が安全で信頼性が高くパフォーマンスに優れたコスト効率の良いアーキテクチャの構築をサポートすることです。最良アーキテクチャプログラムの詳細については「優れた設計を導入していますか?」をご覧ください。

Jeff;

Amazon EMR に保存データと転送中データの暗号化オプションを追加

AWS をご利用のお客様は Amazon EMR (Apache HadoopApache Spark エコシステムを形成する全範囲のツールを含む) を使用して様々なタイプのミッションクリティカルなビッグデータのユースケースを処理しています。以下の例をご覧ください。

  • Yelp 毎日テラバイト以上のログファイルと写真を処理
  • Expedia クリックストリーム、ユーザー操作、データ提供を処理
  • FINRA 毎日数十億件の証券取引の記録を分析
  • DataXu 毎月 30 兆件の広告チャンスを判断

こうしたお客様 (詳しくはその他のビッグデータのユースケースを参照) は、多くの場合ミッションクリティカルであり安全に保護する必要がある重要なデータを処理しています。

AWS では、EMRFS を使用する Amazon S3 や HDFS の透過的なデータ暗号化など、EMR 用のデータ暗号化オプションを複数ご提供しています。こうしたソリューションは保存データを保護する場合には優れていますが、一時ファイルに保存しているデータやジョブステップの間にあるデータには対処していません。暗号化オプションはそれぞれ有効にしてから設定する必要があるため、暗号化の実装を必要以上に面倒なものにしていました。

ただし、それはもう過去のこと。

新しい暗号化のサポート
本日、AWS は EMR の新しい包括的な暗号化ソリューションをリリースしました。今後は EMR で使用する Apache Spark、Apache Tez、Hadoop MapReduce で保存データや転送中データを簡単に暗号化することができます。

保存データの暗号化は次のストレージタイプに対処しています。

  • EMRFS 経由で S3 に保存したデータ
  • 各ノードのローカルファイルシステムで保存したデータ
  • HDFS を使用してクラスターに保存したデータ

転送中データの暗号化は次のフレームワークでネイティブなオープンソースの暗号化機能を利用します。

  • Apache Spark
  • Apache Tez
  • Apache Hadoop MapReduce

この新機能は Amazon EMR セキュリティ設定を使用して設定することができます。EMR コンソールEMR CLI、または EMR API 経由で設定を作成できます。
EMR コンソールに一連のセキュリティ設定が追加されました。

新しく作成するには [Create] をクリックします。

名前を入力してから新機能に指定するモードと各アスペクトを入力します。モードやタイプに基づき、コンソールが追加情報の入力をリクエストします。
S3 暗号化:

ローカルディスクの暗号化:

転送中データの暗号化

証明書プロバイダーのタイプを PEM にした場合は、暗号化に使用したい PEM ファイルを含む Zip ファイルの S3 内の保存先を入力してください。カスタムを選択した場合は、JAR ファイルの S3 内の保存先とカスタム証明書プロバイダーのクラス名を入力してください。

希望通りに設定したら [Create] をクリックします。セキュリティ設定がコンソールに表示されます。

この操作を完了後、新しく EMR クラスターを作成する際に設定を特定できるようになります。この機能は Amazon EMR リリース 4.8.0 または 5.0.0 を使用しているクラスターでご利用いただけます。詳しくは「セキュリティ設定を使用した Amazon EMR の暗号化」をご覧ください。

Jeff;

Amazon RDS for OracleでOracle UTL_MailとJuly 2016 PSU Patchesがご利用可能になりました

UTL_MAILパッケージをご利用頂くことでRDS for Oracleデータベースから直接メールを送信頂けるようになりました。お使いのDBインスタンスでUTL_Mailを有効にするためには、新しいオプショングループを作成するか、既存のオプショングループをコピーもしくは編集をしOracle UTL_MAILオプションを追加します。その後、このオプショングループをDBインスタンスの作成時か変更時に設定を行ないたいDBインスタンスへ適用します。現在、32KBまでの1つの添付ファイルとASCIIとEBCDIC文字コードのみをサポートしています。Amazon RDSではUTL_MAILをOracle version 12.1.0.2.v5 以上、12.1.0.1.v6以上、 11.2.0.4.v9以上でサポートしています。またこれらのバージョンはJuly 2016 Oracle Patch Set Updates (PSU)を含んでいます。

Amazon RDSはOracle社から提供されているbug fixを、四半期ごとに提供されるDatabase Patch Set Updates (PSU)にて適用しています。現在、Oracle July 2016 PSUがAmazon RDS for Oracleでご利用頂けます。AWS Management Console中の”Launch DB Instance Wizard”から所望のDBエンジンバージョンを選択肢、数クリックで新しいOracle “11.2.0.4.v9″、 “12.1.0.1.v6″と”12.1.0.2.v5″DBインスタンスを作成出来ます。既存のデータベースインスタンスをアップグレードする場合は、AWS Management Console中の”Modify”オプションを選択し、所望のデータベースエンジンバージョンを設定します。プロダクションデータベースインスタンスのアップグレードを行う前に、プロダクションデータベースのスナップショットからテスト用のDBインスタンスを起動し、アップグレード手順や時間のテストやアプリケーションのテストを行うことを推薦します。

Amazon RDS for OracleでUTL_Mailを利用する詳細な手順はドキュメントをご覧ください。また、RDSでのOracle PSUサポートに関してはこちらをご覧ください。

星野 (原文はこちら)

API Gateway のアップデート – API 開発を簡素化する新機能

Amazon API Gateway で、堅牢でスケーラブルなアプリケーションバックエンドの構築と実行を簡単に素早く最近追加された使用プランで、API に関与するパートナー開発者のエコシステムを作成することができます。では、いくつかの用語を確認しながら始めましょう。

エンドポイント – HTTP リクエストに応答する URL (API Gateway によって提供される) です。これらのリクエストは、GET、PUT、POST などの HTTP メソッドを使用します。

リソース – エンドポイント内にある名前の付いたエンティティで、階層パスと呼ばれます。

動作 – 特定のリソース上で、HTTP リクエストに対応してコードが HTTP メソッドを使用して実行するアクションです。

統合 – エンドポイント、リソース、および HTTP メソッドと実際のアクションとの間でやり取りされる API Gateway マッピングです。

現在、API Gateway が提供する統合モデルを拡張して、新しい API エンドポイントの構築と既存のアプリケーションの移植を容易にするための複数の新しい機能をサポートしています。

greedy パス変数 – 一般的なパス ( /store/ など) に分類されるリクエストのグループのパスと動作を個別に指定する代わりに、パスへのすべてのリクエストを傍受してそれらを同じ機能にルーティングする、「greedy」ルートを指定できるようになりました。たとえば、単一の greedy パス (/store/{proxy+}) は、 /store/list-products, /store/add-product、および /store/delete-product) に対するリクエストを傍受します

ANY メソッド – それぞれの HTTP メソッド (GET、POST、PUT など) に個別の動作を指定する代わりに、catch-all ANY メソッドを使用して、すべてのリクエストに対して同じ統合動作を定義できるようになりました。

Lambda 関数統合 – 新しいデフォルトのマッピングテンプレートで、すべてのリクエストを Lambda 関数に送信し、戻り値を HTTP 応答に変換します。

HTTP エンドポイント統合 – もう 1 つの新しいデフォルトマッピングテンプレートで、すべてのリクエストを HTTP エンドポイントに送信し、その応答を変更せずに返します。これにより、わずかのセットアップ作業を行うだけで API Gateway を HTTP プロキシとして使用できます。

詳しい内容を見てみましょう。

Greedy パス変数
新しい e-コマース API を作成しているところだとしましょう。次のように開始します。

次に、 /store リソースを作成します。

次に、greedy パス変数を使用して、 /store 内のリソースに対するすべてのリクエストを傍受します (プロキシリソースとして設定されていることも確認する必要があります)。

なぜなら、 {proxy+} がサブリソースのリクエストを実際のリソースにルーティングするため、リソースパスの最終要素として使用される必要があるからです。これ以外の場所で使用するのは無意味です。 {proxy+} はあらゆる深さのパスに一致させることができます。上記の例は、 /store/us/clothing, /store/us/clothing/children などにも一致します。

プロキシは Lambda 関数または HTTP エンドポイントに接続できます。

ANY メソッド
HTTP メソッドでリソースとメソッドを定義するときに、それぞれの HTTP メソッドに対して個別の動作を指定する必要はなくなりました。

代わりに、ANY を選択して、リソース上のすべてのメソッドに対して同じ統合動作を使用することができます。

これにより、セットアップがより明確でシンプルかつ容易なものになります。お使いのコード (リソース上のすべてのメソッドに対する統合ポイント) は、メソッド名を調べて適切なアクションを実行します。

ANY メソッドは、上記のように greedy パス変数を使用すると自動的に作成されます。これは個別のリソースにも使用できます。メソッドを作成してその設定を変更するだけで、個別のメソッドの設定を上書きすることができます (DELETE を別の方法で使用するなど)。

Lambda 関数統合
Lambda 関数を使用して動作を実装するのがこれまでになく簡単になりました。新しい組み込みの Lambda 統合テンプレートは、HTTP リクエスト要素 (ヘッダー、クエリーパラメーター、ペイロード) を関数が直接使用できる形式にマップします。テンプレートは、関数の戻り値 (ステータスコード、ヘッダー、本文要素) を適切に構造化された HTTP 応答にマップします。

ドキュメントからコピーしたシンプルな関数を次に示します (「プロキシ統合のための Lambda 関数」を参照)。

この関数を次のように /store に接続します。

次に、それをデプロイして (デプロイに関する説明は示しません)、次のようにテストします。

関数が予想通りに実行され、コンソールに応答の本文、ヘッダーが表示され、ログファイルが作成されます。これが最初の部分です。

次に Lambda コンソールに移動して、使用した関数の CloudWatch ログを調べます。

ここにあるとおり、関数の 10 行目に黄色で強調表示したメッセージがあります。

このように、マッピングや変換の設定に時間をかけずに、API リソースで HTTP リクエストに応答する Lambda 関数を作成することができるようになります。事実、Lambda コンソールに新機能を追加したことで、このプロセスがいっそう簡単になりました。新しい Lambda 関数作成の最初のステップの 1 つとして、API Gateway エンドポイントを設定できるようになりました。

HTTP 関数統合
また、EC2 インスタンスまたはオンプレミスで実行されている HTTP エンドポイントに API リクエストを送信できるようにもなりました。もう一度繰り返しますが、マッピングや変換を設定する手間はもう必要なくなりました。代わりに、統合タイプHTTP を選択して HTTP プロキシ統合をクリックし、エンドポイントの名前を入力するだけです。

HTTP メソッドANY を選択すると、受信されたリクエストのメソッドがエンドポイントにそのまま送信されます。ANY を選択しなかった場合は、呼び出しの一部として示される値にメソッドが設定されます。

今すぐ利用可能
上記の機能は今すぐご利用いただけます。無料で今日からお使いいただけます。

Jeff;

Amazon RDS for SQL Serverがローカルタイムゾーンをサポートしました

Amazon RDS SQL Serverでローカルタイムゾーンをサポートしました。アプリケーションでお使いのタイムゾーンをAmazon RDS for SQL Serverインスタンスに設定頂けます。

こちらの機能はDBインスタンスのタイムゾーンをご指定の物に設定します。RDS for SQL Serverを作成する際にタイムゾーンを変更する場合は、AWS Management ConsoleのSelect your Time Zoneドロップダウンメニューを利用します。インスタンス作成後はタイムゾーンを変更することが出来ません。このオプションを変更すると、OSレベルでのタイムゾーンの変更が行われ、全てのdateカラムと値に影響がある点ご注意ください。その為、タイムゾーンの変更による影響を事前に調査することを推薦します。ローカルタイムゾーンを設定したデータベースインスタンスを作成する前に、テストデータベースインスタンスで変更を検証することをお勧めします。

Amazon RDS for SQL Serverのローカルタイムゾーンサポートに関する更に詳細な情報は、ドキュメントをご覧ください。

星野 (原文はこちら)

週刊 AWS – 2016 年 9 月 12 日

ご協力ありがとうございました!合計 25 人の内外部の寄稿者が、今回の週刊 AWS の作成に協力してくださいました。自分もぜひ参加していみたいという方は (re:Invent でランチ無料の可能性あり)、GitHub の週刊 AWS をご覧ください。

月曜日

9 月 12 日

火曜日

9 月 13 日

水曜日

9 月 14 日

木曜日

9 月 15 日

金曜日

9 月 16 日

土曜日

9 月 17 日

日曜日

9 月 18 日

新しい & 注目のオープンソース

  • aws-rotate-key が AWS キーを簡単に回転させます。
  • cognito-authenticator-cli が CLI 経由で Cognito から AWS アクセスキーを取得します。
  • saml-2-aws は ADFS 3.x で SAML を使用し AWS の一時的な認証情報を取得してログインできるようにする CLI ツールです。
  • aws-tools は AWS の管理に便利なツールです。
  • cloudformation-simple-cliAWS CloudFormation を使用して作成した AWS プロジェクトのインストール、アップデート、削除を行う場合のコマンドラインツールです。
  • cloudfront-signerAmazon CloudFront プライベートコンテンツとストリーミングパスに署名する場合の Ruby gem です。
  • cog-cmd は CloudFormation とのインタラクションに使用する Cog コマンドの一式です。
  • aws-node-kickoff はノードサーバーで EC2 を初期化します。
  • aws-proxy は AWS のリバースプロキシです。
  • python-run-lambda はローカルで実行、テストする Python Lambda 関数のユーティリティから成り立ちます。

新しい SlideShare プレゼンテーション

新しいお客様事例

  • 米国イリノイ州のシカゴ市は AWS の柔軟性と俊敏性を利用して OpenGrid をリリース。シカゴの歴史上もっとも注目を浴びたテクノロジーの導入になりました。OpenGrid はリアルタイムのオープンソース状況認識プログラムで、市民の暮らしの改善や市の運営の効率性を高めることを目的としています。
  • Dable はビッグデータをベースに顧客の好みの傾向をもとに製品やコンテンツを勧めるオムニチャネルのカスタマイズ化プラットフォームを開発しています。同企業は AWS Lambda、Amazon Lambda、Amazon Redshift を使用してデータをリアルタイムで分析します。これにより顧客にコスト効率が高く短期間内にサービスを勧めることを可能にしています。
  • Gett は AWS を使用することで年間成長率 300% を維持し年間 800,000 USD を節約、新しいビジネス洞察を得ています。同企業はオンラインのタクシー予約サービスを提供しヨーロッパ、イスラエル、米国にわたり数百万人が利用しています。Gett は同社のウェブサイトとモバイルウェブアプリケーションを AWS で実行し、Amazon EC2 スポットインスタンスを使用してコストを最適化しています。
  • Kyowa Hakko Kirin は SAP、ERP といったエンタープライズリソースプランのソフトウェアの実稼働に AWS を使い始めました。Kyowa Hakko Kirin は処方薬を製造し販売する製薬会社です。企業のシステムやデータをすべて物理サーバーからクラウドに移動している間も、プロセスを続行しながら予約インスタスの使用や週末に不要なインスタンスを停止するなどして、コスト節約を実現しています。同企業は結果としてクラウドデータを開発しているのです。
  • National Bank of Canada の Global Equity Derivatives Group (GED) は何百ものテラバイトになる金融データの分析処理や、数日ではなく 1 分でデータ操作を行ったり、オペレーションの拡張や最適化に AWS を使用しています。GED は株式取引ソリューションやサービスを世界中の幅広い企業や団体に提供しています。同企業は AWS クラウドで TickVault プラットフォームを使用してデータ分析を行っています。

新しい YouTube 動画

近日開催のイベント

サポート募集

来週をお楽しみに。それまでは、Twitter でフォローして、RSS フィードをサブスクライブしてね。

新機能 – AWS コストエクスプローラーの追加のフィルタリングオプション

AWS コストエクスプローラーは、AWS 使用量の視覚化、理解、管理に役立つ強力なツールです (詳細については、「The New Cost Explorer for AWS」を参照してください)。サービスまたはリンクされたアカウント別に使用量を表示でき、日または月単位を選択できます。アカウント、期間、サービス、またはお客様が特に関心を持っているタグに基づいて、カスタムフィルターを作成することもできます。使用量の可視性をさらに高めるため、いくつかの追加のフィルタリングオプションを導入しました。現在では、さらにきめ細かなレベルでフィルタリングし、最も基本的な課金単位までズームインして費用を表示できるようになりました。また、ズームアウトし、AWS 使用量および請求の主要コンポーネントに合った高位のレベルで使用量を分類することもできます。

ズームイン
お気付きかと思いますが、AWS は使用量を非常に詳細なレベルで追跡できます。S3 ストレージの毎時のギガバイト、EBS 使用量の毎月のギガバイト、毎時の EC2 使用量、内部または外部へのデータ転送ごとのギガバイトなどです。これらの費用を、[Usage Type] フィルタリングオプションを使用して詳細に確認できるようになりました。コストエクスプローラーに移動して [Filtering] メニューから [Usage Type] を選択すると、基本的な請求単位に基づいてフィルタリングできるようになりました。たとえば、m4.xlarge インスタンスの毎日の使用量を表示できます。

ズームアウト
詳細情報が必要なときもあれば、概要が必要なときもあります。RDS の使用量、S3 API リクエストの使用量、EBS 磁気ストレージの使用量を知りたいときもあります。この操作は、[Usage Type Group] を基にしてフィルタリングすることで実行できます。私の毎日の EC2 使用量は次のとおりです

フィルタリングに使用できる他の使用量タイプグループをいくつか次に示します (メニューの高さについては、ブラウザで特別な操作を行っています)。

今すぐ利用可能
これらの新機能は今すぐすべての AWS リージョンで利用できます。

Jeff;

AWS CloudFormation の更新 – YAML、クロススタック参照、簡略化された置換

AWS CloudFormation では、テンプレートを作成して、スタック全体 (関連する AWS リソースのコレクション) を宣言により表すことができます。スタックを定義し、希望のリソースとそれらの相互関係を指定および設定して、スタックの必要な数のコピーを起動できます。CloudFormation では、リソースを自動的に作成およびセットアップし、リソース間の順序付けの依存関係の対応に配慮することもできます。現在、CloudFormation には 3 つの重要な機能を追加中です。

  • YAML Support – CloudFormation テンプレートを YAML で記述できるようになりました。
  • クロススタック参照 – あるスタックから値をエクスポートし、別のスタックで使用できるようになりました。
  • 簡略化された置換 – テンプレート内で文字列の置換をより簡単に行うことができます。

それらについて説明します。

YAML のサポート
CloudFormation テンプレートを YAML (「YAML はマークアップ言語ではない」の頭文字) で記述できるようになりました。これまでは、テンプレートは JSON で記述されていました。YAML と JSON の表現力は同等ですが、YAML は人間が読み取れる形式であるよう設計されているのに対して、JSON は (正直なところ) そうではありません。YAML ベースのテンプレートでは句読点の使用が少なく、記述と読み取りがかなり簡単です。また、コメントの使用が許可されます。CloudFormation は、ハッシュ結合、エイリアス、および一部のタグ (バイナリ、imap、ペア、TIMESTAMP、セット) の例外を除き、実質的にすべての YAML をサポートします。

YAML で CloudFormation テンプレートを記述する場合、同じ最上位の構造 (DescriptionMetadataMappingsOutputsParametersConditions、および Resources) を使用します。これは、パラメーター定義を図示したものです。

Parameters:
  DBName:
    AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
    ConstraintDescription: 英字で始まり、英数字のみにする必要があります。
      
    Default: wordpressdb
    Description: WordPress データベース名
    MaxLength: '64'
    MinLength: '1'
    Type: String

YAML を使用すると、省略された新しい構文を使用して CloudFormation 関数を参照できます。たとえば、GetAttBase64、および FindInMap などです。既存の構文 ("Fn::GetAtt") または新しいタグベースの構文 (!GetAtt) を使用できるようになりました。”!” は タグの YAML 構文の一部であり、「論理 NOT」演算子ではないことに注意してください。古い構文を次に示します。

- Fn::FindInMap:
    - AWSInstanceType2Arch
    - Ref: InstanceType
    - Arch

新しい構文を次に示します。

!FindInMap [AWSInstanceType2Arch, !Ref InstanceType, Arch]

おわかりのように、新しい構文は短く簡潔になっています。ただし、2 つのタグを隣接して使用することはできません。2 つの形式を混ぜて、ネストすることもできます。たとえば、 !Base64 !Sub は無効ですが、 !Base64 Fn::Sub は有効です。

CloudFormation の API 関数 (CreateChangeSetCreateStackUpdateStack など) では、JSON または YAML でテンプレートを使用できるようになりました。 GetTemplate 関数は元の形式でテンプレートを返します。CloudFormation designer では現在は YAML テンプレートはサポートされませんが、ロードマップには含まれています。

クロススタック参照
AWS の多くのお客様は、1 つの “システム” CloudFormation スタックを使って環境 (VPC、VPC サブネット、セキュリティグループ、IP アドレスなど) を設定し、その他の複数の “アプリケーション” スタックを使って入力 (EC2 および RDS インスタンス、メッセージキューなど) を行っています。これまで、アプリケーションスタックで、システムスタックによって作成されたリソースを参照するための簡単な方法がありませんでした。

1 つのスタックから値を作成してエクスポートし、カスタム CloudFormation リソースを作成する手間をかけることなく、他のスタックでそれらを使用できるようになりました。最初のスタックでは次のような値がエクスポートされます。

Outputs: 
  TSSG: 
    Value: !Ref TroubleShootingSG
    Export:
      Name: AccountSG

次に、他のスタックは新しい ImportValue 関数を使用してそれらを参照します。

EC2Instance:
  Type: AWS::EC2::Instance
	Properties:
	  SecurityGroups:
  	    - !ImportValue AccountSG

エクスポートされた名前は AWS アカウントおよびリージョンで一意である必要があります。別のスタックで参照されたスタックを削除することはできず、エクスポートされた値を変更または削除することはできません。

簡略化された置換
多くの CloudFormation テンプレートでは、コマンドライン、ファイルパス、およびスタックが作成されるまでに完全に決定できないその他の値を作成するために、複雑な文字列操作を行っています。これまでは、この操作には fn::Join を使用する必要がありました。この結果、JSON 構文との組み合わせにより、理解や管理が困難な乱雑なテンプレートが作成されました。テンプレート開発のこの重要な側面を簡略化するため、当社は新しい置換関数である fn::Sub を導入します。この関数は変数 (構文 ${variable_name}で示される) を評価された値で置き換えます。以下の例をご覧ください。

configure_wordpress:
  commands:
    01_set_mysql_root_password:
      command: !Sub |
           mysqladmin -u root password '${DBRootPassword}'
      test: !Sub |
           $(mysql ${DBName} -u root --password='${DBRootPassword}' >/dev/null 2>&1 </dev/null); (( $? != 0 ))
    02_create_database:
      command: !Sub |  
           mysql -u root --password='${DBRootPassword}' < /tmp/setup.mysql
      test: !Sub |
           $(mysql ${DBName} -u root --password='${DBRootPassword}' >/dev/null 2>&1 </dev/null); (( $? !=0))

${} または ${variable}を生成する必要がある場合は、単純に ${!} または ${!variable}を記述します。

対象の更新
このリリースの一部として、AWS Key Management Service (KMS)、EC2 スポット群、および Amazon EC2 Container Service のサポートを追加しました。詳細については、「CloudFormation Release History」を参照してください。

今すぐ利用可能
これらのすべての機能は今すぐご利用いただけます。

Jeff;

Earth on AWS: AWS の地理空間データ

AWS のオープンデータチームのメンバーで私の同僚、Joe Flasher が新たな Earth on AWS プロジェクトについて説明するため、ゲスト投稿者としてブログを公開しました。

Jeff;


 

AWS は地球観測衛星のランドサット 8 号が撮影した画像を集めた公開データセット、Landsat on AWS を 2015 年 3 月にリリースしました。Landsat on AWS をリリースしてから 1 年以内に記録された Landsat データのリクエスト数は 10 億件を超え、AWS はユーザーによる革新的なデータの使用方法から様々なインスピレーションを得ています。Landsat on AWS はクラウド内でのデータ共有により、従来の IT インフラストラクチャによる帯域幅やストレージ、メモリや処理能力の制限なしに地球的規模のアプリケーションを構築することが可能になりました。

そして本日、AWS がリリースした Earth on AWS により、今後はクラウド内で大容量の地理空間データセットの利用が可能になったため、アルゴリズムをローカルマシンにダウンロードせずにアルゴリズムをデータに持ち込めるようになりました。Earth on AWS では誰でも自由にデータを使えるだけでなく、リソースを提供することでデータをどのように使用できるか説明する情報も提供しています。また、Earth on AWS データセットを利用した調査方法の 公開プロポーザル も受け付けています。

使用可能なデータを追加
現在、Earth on AWS には次のデータセットがあります。

NAIP 1m の画像
The National Agriculture Imagery Program (NAIP) は、米国本土を対象に作物成長時期の航空画像を撮影しています。約 1 メートルの航空画像 (赤、緑、青、NIR) を Amazon S3 で入手できるようになりました。詳しくは NAIP on AWS をご覧ください。

地形タイル
地形ベクトルタイルで世界中の標高データを使用できるようになりました。また、米国では 10 メートルの NED データが以前の NED 3 メートルと 30 メートル SRTM データを拡大するようになり、より鮮明に山脈の詳細情報を表示できるようになりました。Amazon S3 でタイルを使用できます。詳しくは地形タイルをご覧ください。

GDELT – A Global Database of Society
The GDELT Project は、世界中のほぼすべての国々から 100 か国以上の言語によるブロードキャスト、印刷物、ウェブニュースなどをモニタリングし、毎日秒刻みにグローバル社会に影響を与えている人物、場所、企業や団体、数値、テーマ、ソース、感情、件数、引用文、画像、イベントなどを特定しています。詳しくは GDELT をご覧ください。

ランドスタット 8 号の衛星画像
ランドスタット 8 号のデータは Amazon Simple Storage Service (S3) で誰でも使用することができます。2015 年にランドスタッド 8 号が撮影した画像はすべて 2013 年と 2014 年のクラウドフリーシーンのセレクションと同様に使用可能になっています。ランドスタット 8 号の新しい画像はすべて毎日数時間内に作成されています。衛星画像は 16 日間ごとに 30 メートルの解像度で地球全体を撮影しています。詳しくは Landsat on AWS をご覧ください。

NEXRAD 気象レーダー
The Next Generation Weather Radar (NEXRAD) は、ドップラー式 160 度の高解像度気象レーダー網で、降水の傾向と大気移動を検知し各地点から約 5 分間隔で情報を発信しています。NEXRAD は暴風雨を予測し、研究者や営利企業は複数の地域に渡る気象上の影響を調査する場合にこれを使用しています。詳しくは NEXRAD on AWS をご覧ください。

SpaceNet 機械学習コーパス
SpaceNet は高解像度が非常に高い DigitalGlobe 衛星画像のコーパスで、研究者が機械学習アルゴリズムを開発するために利用するトレーニングデータです。このデータセットはおよそ 1,990 平方キロに渡る画像を 50 cm の解像度と基礎伏図に一致する 220,594 から成り立ちます。詳しくは SpaceNet コーパスをご覧ください。

NASA Earth Exchange
The NASA Earth Exchange (NEX) は研究者が地球科学データに簡単かつ効率的にアクセスできるようにします。NEX データセットは Amazon S3 で使用可能です。ダウンスケール気候予測 (リリースされたばかりの Localized Constructed Analogs を含む)、グローバル MODIS 植生指数、Landsat Global Land Survey データも含みます。詳しくは NASA Earth Exchange をご覧ください。

オープンデータの活用
オープンデータは自分の目的に合わせた使用法を理解することで初めて便利になります。そのため、Earth on AWS は他のユーザーがどのように地理空間データを独自のワークフローに取り入れているのかを説明したビデオや記事を提供しています。Lambda を使用して地理空間サーバーを置換する方法からレーダー情報を使用した鳥の大群移動の調査まで、様々な活用方法があります。

他にも Earth on AWS データを活用できるアイデアがあれば、ぜひお聞かせください。Earth on AWS データセットに関する調査用の公開プロポーザルを受け付けています。これは従来のバリアを崩すことで学生、教育者、研究者が技術革新において主要な促進力となり、ご自分の分野で新たに進歩することを目的としたものです。お客様に感謝の気持ちを込めて
こうしたデータセットを AWS で使用可能にするためにご協力いただいた DigitalGlobeMapzenPlanetUnidata のお客様に、この場を借りて感謝申し上げます。

AWS では常に大規模なデータセットを使用する新たな方法を模索しています。追加すべき新しいデータやデータ提供の新たな方法についてアイデアがあればこちらにお問い合わせください。

Joe Flasher、Open Geospatial Data リード担当、アマゾン ウェブ サービス

Amazon RDS for PostgreSQL – 新マイナーバージョン、ロジカルレプリケーション、 DMSサポートなどを追加 –

Amazon Relational Database Service (RDS)は構築や運用管理、スケーリングなどを行うプロセスを簡単に行えるクラウド上のリレーショナルデータベースです。現在6つのデータベースエンジン(Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL,  MariaDB) をサポートしており、RDSはクラウド上で動作するアプリケーションの基本となるサービスとなりました。

2013年後半にPostgreSQLサポートを発表し、PostgreSQLの新バージョンや新機能を追加し続けてきました。

本日、Amazon RDS for PostgreSQLに以下の新機能を追加しました。

  • 新マイナーバージョン – 既存のRDS for PostgreSQLデータベースインスタンスは新しいマイナーバージョンにアップグレード可能です
  • ロジカルレプリケーション – RDS for PostgreSQLがロジカルレプリケーションに対応しました。
  • DMSサポート – ロジカルレプリケーション機能によりRDS for PostgreSQLデータベースインスタンスをAWS Database Migration Serviceのソースデータベースとして利用可能になりました
  • Event Trigger – 新しいバージョンのPostgreSQLでデータベースインスタンスレベルでevent triggerをサポートしました
  • RAM Disk Size – RDS for PostgreSQLでRAM diskのサイズをコントロール可能になりました

詳しくご紹介します

 

新マイナーバージョン

PostgreSQL バージョン9.3.14, 9.4.9,  9.5.4をサポートしました。これらのバージョンはリリースノートに記載されているように機能向上やbug fixが行われています。RDSコンソールAWS Command Line Interface (CLI)から今お使いのデータベースインスタンスをアップグレード可能です。9.5.2から9.5.4にコンソールを利用してアップグレードする例です:

rds_pg_mod_954

次回のMaintenance Windowまでアップグレードを行ないたくない場合はApply immediatelyにチェックが入っていないか確認をしてください。

command lineからアップグレードを行う例を以下に示します。(私のスキルが現役ということをお伝えするために、今回のポスト中でコマンドラインを利用した例を掲載しています)

$ aws rds modify-db-instance –region us-west-2 \
–db-instance-identifier “pg95” \
–engine-version “9.5.4” \
–apply-immediately

アップグレードの進捗を確認するには

$ aws rds describe-events –region us-west-2 \
–source-type db-instance –source-identifier “pg95” \
–duration 10 –output table

以下の例はインスタンスのアップグレードが完了した場合の出力です

||+-------------------------------------------------+||
 || Events ||
 |+--------------------+------------------------------+|
 || Date | 2016-09-13T00:07:54.547Z ||
 || Message | Database instance patched ||
 || SourceIdentifier | pg95 ||
 || SourceType | db-instance ||
 |+--------------------+------------------------------+|
 ||| EventCategories |||
 ||+-------------------------------------------------+||
 ||| maintenance |||
 ||+-------------------------------------------------+||

データベースインスタンス全体のイベントを監視している場合、RDSがパッチを適用する前後でバックアップを取得している事を確認出来ます。このバックアップはコンソールやコマンドライン経由で参照可能です。

$ aws rds describe-db-snapshots –region us-west-2 \
–db-instance-identifier “pg95” \
–snapshot-type automated –output table

出力は以下のようになります。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | DescribeDBSnapshots
 +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 || DBSnapshots
 |+------------------+-------------------+-----------------------+----------------------------+------------+-----------+----------------+---------------------------+-------+---------------------+-----------------+-----------------------+-
 || AllocatedStorage | AvailabilityZone | DBInstanceIdentifier | DBSnapshotIdentifier | Encrypted | Engine | EngineVersion | InstanceCreateTime | Iops | LicenseModel | MasterUsername | OptionGroupName |
 |+------------------+-------------------+-----------------------+----------------------------+------------+-----------+----------------+---------------------------+-------+---------------------+-----------------+-----------------------+-
 || 100 | us-west-2b | pg95 | rds:pg95-2016-09-12-23-22 | False | postgres | 9.5.2 | 2016-09-12T23:15:07.999Z | 1000 | postgresql-license | root | default:postgres-9-5 |
 || 100 | us-west-2b | pg95 | rds:pg95-2016-09-13-00-01 | False | postgres | 9.5.2 | 2016-09-12T23:15:07.999Z | 1000 | postgresql-license | root | default:postgres-9-5 |
 || 100 | us-west-2b | pg95 | rds:pg95-2016-09-13-00-07 | False | postgres | 9.5.4 | 2016-09-12T23:15:07.999Z | 1000 | postgresql-license | root | default:postgres-9-5 |
 |+------------------+-------------------+-----------------------+----------------------------+------------+-----------+----------------+---------------------------+-------+---------------------+-----------------+-----------------------+-

 

ロジカルレプリケーション

Amazon RDS for PostgreSQLがロジカルレプリケーションをサポートしました。これにより、Amazon RDS for PostgreSQLデータベースインスタンスからRDS外のcomplementary logical decoding機能をサポートしたデータベースへストリーミングレプリケーションを行うことが出来るようになります(PostgreSQLはbyte/blockベースのPhysical Streaming Replicationもサポートしています)。レプリケーションがlogical slotを経由して行われます。それぞれのslotは確実に1回だけ再実行される変更のストリームを含んでいます(詳細はPostgreSQLドキュメント中のLogical Decoding Slotsをご参照ください)。

RDS外のデータベースへロジカルレプリケーションを設定するために、PostgreSQL のユーザアカウントにrds_superuserrds_replicationロールが付与されているか確認してください。その他にも、設定するデータベースインスタンスに紐付けられているデータベースオプショングループ中のrds.logical_replicationパラメータを1に設定し再起動を行う必要があります。このパラメータが適用されると、幾つかのPostgreSQLのパラメータがレプリケーションを行うために設定が行われます。

roleとデータベースインスタンスの設定が行われると、logical slotの作成が可能になりRDS外のデータベース(もしくは他のクライアントから)からslot内のレコードを読み込んで処理出来るようになります。例えば、pg_recvlogicalコマンドでデータベースインスタンスに接続し、replication slotからストリームデータを読み込んでローカルファイルに出力出来ます。

さらに詳細は、 Amazon RDS for PostgreSQLユーザガイド内のLogical Replication for PostgreSQLを参照してください。

 

DMSサポート

AWS Database Migration ServiceはAWSへのデータベースマイグレーションをサポートするサービスです。ロジカルレプリケーションと一緒に使用する事によりPostgreSQLデータベース(RDSやご自身で管理されているデータベースなど)から他のオープンソースデータベースやコマーシャルデータベースへマイグレーションを行うことが可能になりました。マイグレーションを行うために先程説明したように事前に logical replication slotを設定する必要があります。

 

Event Triggers

新しいPostgreSQLバージョン (9.4.9+ and 9.5.4+)ではデータベースレベルでevent triggerをサポートしています。このトリガーは特定のテーブル外に存在するため、create, modify, delete tableといったDDLレベルイベントを広範囲にキャプチャー可能です(トリガーの全てのイベントのリストはこちらに掲載されています)。さらに詳細や実装のサンプルはユーザガイド内のEvent Triggers for PostgreSQLを参照してください。

 

RAM Disk Size

rds.pg_stat_ramdisk_sizeを使用してPostgreSQLのstats_temp_directoryで利用されるメモリ量をコントロール可能になりました。このディレクトリはパフォーマンス情報などの一時的な統計情報に利用されます。メモリを多く割り当てることでI/Oを軽減しパフォーマンスを向上出来ます。

 

Available Now

今までご紹介した新しいバージョンや新機能は本日からご利用頂けます。

Jeff; (翻訳は星野が担当しました。原文はこちら。)