先週のAWS関連ブログ 〜7/4(月)

どうも、セクションナイン吉田真吾@yoshidashingo)です。

先日はてな東京オフィスに伺い、CTO田中さんやMackerelチームの杉山さんたちにまかないランチをごちそうになり、「なるほど、これなら絶対健康になるな」と実感しました。福利厚生をお考えの会社さんは採用をオススメします。

それでは今週も行ってみましょう。

AWS公式

6月にあったアップデートをまとめて紹介します。

1. Amazon EMR 4.7.0 – Apache TezとPhoenix, 既存アプリのアップデート

  • Apache Tez (0.8.3):YARN上で動作し、YARN上のアプリケーションであるHive(SQL)やPig(Script)、MapReduce(バッチ)用のフレームワークをライブラリとして提供しており、アプリケーションをあまり変えずに性能向上を行うことができるのが売り。
  • Apache Phoenix (4.7.0):HBase(NoSQL)に対してACIDなトランザクション処理が高速に(内部的に並列処理で)SQL処理ができるアプリケーション
  • HBaseが1.2.1に、Mahoutが0.12.0に、Prestoが0.147にアップデート。EMRクラスタ上のアプリからRedshiftにアクセスするためのJDBCドライバを搭載。

リンク:Amazon EMR 4.7.0 – Apache TezとPhoenix, 既存アプリのアップデート | Amazon Web Services ブログ

2. AWS CodePipeline に OpsWorks とのインテグレーション機能が追加

  • AWS CodePipelineでデプロイメントプロバイダにOpsWorksを指定可能になり、以下のようなサポート状況になった。

f:id:yoshidashingo:20160705020214p:plain

リンク:AWS CodePipeline に OpeWorks とのインテグレーション機能が追加されました | Amazon Web Services ブログ

3. Amazon RDS SQL ServerのマルチAZサポートが東京リージョンでも(ついに!)利用可能に

  • SQL Serverを冗長化する場合に、東京リージョンではRDSがマルチAZサポートがないため、フェイルオーバークラスター(Enterprise Editionでのみ対応可能なOSレベルで対応するオプション)か、Standard Editionでも利用可能なクラプロやDRBDで冗長化していたが、ついにRDSがサポートしたためにバックアップ運用やホストやミドルウェアの保守が圧倒的に楽になった。
  • バージョンはSQL Server 2008 R2と2012、エディションなStandardとEnterprise

リンク:Amazon RDS for SQL ServerのマルチAZサポートが東京、シドニー、サンパウロリージョンで使用可能になりました! | Amazon Web Services ブログ

なお、EC2ではすでに最新の2016もサポート済み

リンク:Amazon EC2 Now Supports Microsoft SQL Server 2016 | AWS Partner Network (APN) Blog

4. Amazon RDS PostgreSQLでクロスリージョンリードレプリカが利用可能に

  • たとえばUSリージョンで更新されたデータが、東京リージョンのリードレプリカに非同期(論理)レプリされるため、マスターに負荷なく集計処理などが可能になる。
  • また、上記のUSリージョンのマスターが災害で利用不可になった場合でも、東京リージョンのリードレプリカをマスターに昇格することで事業を継続できる。

リージョン:Amazon RDS for PostgreSQLでcross-region read replicaをご利用頂けるようになりました | Amazon Web Services ブログ

5. IAMのService Last Accessed Dataでより詳細な情報が取得されるようになった

  • 昨年末リリースされたIAMエンティティ(ユーザー、グループ、ロール)がAWSサービスに最後にアクセスした時刻を表示する機能「Service Last Accessed Data」に、以下の2点の情報がさらに取得されるようになった。
    • マネージドポリシーやグループに関連付けられている全てのIAMユーザーおよびロールのLast Accessed Data
    • あるIAMユーザー、ロール、グループに対して、サービスの権限を与えている全てのポリシー
  • これにより、どのユーザーやロールがサービスにアクセスしたかだけでなく、そのサービスにアクセス可能なすべてのユーザーやロールがいつ最終アクセスしたか確認可能であり、不要な権限を付与してしまっている可能性を見つけることが可能に。

リンク:【AWS発表】新機能:Service Last Accessed Dataからのより詳細な情報取得 | Amazon Web Services ブログ

6. Amazon RDS Oracleアップデート

  • 定期パッチセット、April 2016 Oracle Patch Set Updates (PSU)が利用可能に
  • Oracle Repository Creation Utility (RCU) 12c が利用可能に(上記PSUがあたっているバージョン)

リンク:Amazon RDS for OracleでOracle Repository Creation Utility (RCU) と April PSU Patchesをご利用頂けるようになりました | Amazon Web Services ブログ

7. AWS OpsWorksがCentOSをサポート

  • OpsWorksがCentOS 7をサポート

リンク:AWS OpsWorksがCentOSをサポート | Amazon Web Services ブログ

8. 暗号化された EBS スナップショットのクロスアカウントコピーが可能に

  • EBSはボリューム/スナップショットともにKMSで暗号化可能であり、非暗号化スナップショットはAWSアカウント間のコピーが可能であった
  • 共有元で管理されている暗号化に利用したKMSのキーとは別のカスタムキーで再暗号化したスナップショットとともにカスタムキーが共有先アカウントに共有され、それを用いて暗号化スナップショットからブートボリュームを作成できるため、安全な仕組みでスナップショット共有が可能

リンク:【新機能】 暗号化された EBS スナップショットのクロスアカウントコピー | Amazon Web Services ブログ

9. AWS CodePipelineで失敗したアクションのリトライが可能に

  • AWS CodePipelineで主導でパイプライン全体をリスタートしたり、対策前身用の別コミットを追加で行う必要があったが、失敗したアクションからリトライできるようになった。

リンク:AWS CodePipeline で、失敗したアクションのリトライが可能に | Amazon Web Services ブログ

10. ムンバイ(インド)リージョンがオープン

  • 13番目のリージョン、ムンバイがローンチ(ap-southeast-2)
  • AZは2つ。エッジロケーションは3つ(ムンバイ、チェンナイ、ニュー・デリー)

リンク:新たにアジアパシフィック(ムンバイ)リージョンがオープン | Amazon Web Services ブログ

11. AWS Black Belt Online Seminarと興味深いQ&Aをピックアップ

AWSサービスの権限管理

www.slideshare.net

Q10: Open AMを使ってもCloudTrailでユーザを識別できますか?また、複数のアカウントや同じアカウントの複数のロールを一つのOpenAMやActive Directoryのユーザ一つで管理できますか?

A10: サードパーティ様の製品と関連いたしますので、ベストエフォートのご回答となることをご了承いただきたく思います。

Cloud Trailで表示されるFederated Userのユーザー名ですが、厳密にはIdP(Open AMやAD等)が発行したSAMLアサーションの属性値を取得して決定しています。 具体的には’https://aws.amazon.com/SAML/Attributes/RoleSessionName’という属性です。Open AM側でSAMLアサーションを生成する際にこの属性値に、例えばユーザーのメールアドレスなど組織内で一意かつ全員が必ず持っている情報を利用できればユーザーを特定することは可能です。属性の詳しい条件はこちらをご参照ください。 http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html

また一つのIdP上のユーザーを複数のAWSアカウントにマッピングすることもできます。これはAWS側でSAMLを受け取りFederated Userのロールをマップする際にAWSアカウントIDも指定する仕組のためです。複数のロールがマッピングされたユーザーは、ログインの際にどのAWS上のロールでサインインするか選択する画面が表示されます。

Elastic Load Balancing

www.slideshare.net

Q4. ディレクトリ名を利用した振り分けは出来ないでしょうか? A4. 現時点では対応しておりません。

 

Q7. 瞬間的に急増した際に503が返るとありましたが、TPSの目安はありますか? A7. TPS の目安はありませんが、一般的に 5分間に 50% 以上トラフィックが増加する場合は、ご注意ください。

 

Q8. 正規表現などルールベースの負荷分散への対応予定はありますか? A8. 現時点では対応しておりません。

 

Q16. ELBでヘッダ情報の付与はできますでしょうか? A16. 現時点では対応しておりません。

AWS Summit Tokyo 2016 と主要アップデートのふりかえり

www.slideshare.net

  • AWS Summit Tokyo 2016と今年の主要アップデートをふりかえり
  • サミット期間中の新サービス発表はなし

12. dblinkを利用して、Amazon RedshiftとRDS PostgreSQLのデータをジョインする

  • MPP処理向きでOLTP処理は苦手なRedshiftの弱点を克服するために、RedshiftとRDS PostgreSQLをdblinkで接続することで、以下のような効率的な処理が可能になる
    • BIやダッシュボードからのクエリをRDS PostgreSQLのマテリアライズドビューから返し、非同期にRedshiftに対してリフレッシュする
    • パーティション単位での結合をRDS PostgreSQLでブロックレンジインデックスで処理をする
    • PL/pgSQLのユーザ定義関数(UDF)からダイナミックSQLでRedshiftにクエリする
    • Redshiftから受け取った結果セットをRDS PostgreSQLでJSONに変換するなど

aws.typepad.com

その他参考:http://blogs.aws.amazon.com/bigdata/post/Tx3RS3V80XNRJH3/Real-time-in-memory-OLTP-and-Analytics-with-Apache-Ignite-on-AWS

13. Elastic Network Adapter(ENA)

  • 同一AZ内で論理的にグループ化したプレイスメントグループ内で「無料で利用できる20Gbps帯域のネットワークインタフェース」
  • 現状、X1インスタンス(64 cores / 128 vCPU / 1,952 GiBメモリ/10Gbps帯域)にのみ利用可能

リンク:Elastic Network Adapter – High Performance Network Interface for Amazon EC2 | AWS News Blog リンク:EC2 インスタンス向けの次世代ネットワークインターフェイス、Elastic Network Adapter (ENA) を導入

14. Amazon EFS(Elastic File System)が3リージョンで一般利用可能に

  • NFS(v4.0か4.1)で複数のEC2からマウント可能なEFSが「US East (Northern Virginia)」「US West (Oregon)」「Europe (Ireland)」で一般(商用)利用可能になった
  • EFSには「General Purpose」と「Max I/O」の2つのモードが指定可能
  • US East (Northern Virginia)で$0.30/GB/月ということでだいぶ安い

リンク:Amazon Elastic File System – Production-Ready in Three Regions | AWS News Blog リンク:Amazon Elastic File System (Amazon EFS) の一般提供開始 リンク:【プレスリリース】Amazon Web Services、 Amazon Elastic File Systemの提供を開始

15. Amazon SNSからのSMS送信が世界対応(もちろん日本の電話番号にも)

  • 送信元のリージョンが拡張された(東京リージョンも含む)
  • 世界中の電話番号(日本も含む)に送信可能に

リンク:New – Worldwide Delivery of Amazon SNS Messages via SMS | AWS News Blog リンク:Amazon SNS にワールドワイド SMS を追加

16. AWS Quick Start for Docker Datacenter (DDC)

  • クラスタ管理のDocker Universal Control Plane(UCP)とイメージレジストリのDocker Trusted Registry(DTR)を主要コンポーネントとする商用サポートなDocker公式ソリューション「Docker Datacenter (DDC)」のデプロイ方法やリファレンスアーキテクチャをまとめたクイックスタート(PDF)を公開

リンク:AWS Quick Start for Docker Datacenter (DDC) | AWS Partner Network (APN) Blog

17. Spotinstを使って高可用なウェブサービスをデプロイする方法

  • Spotinstというサービスを使ってスポットインスタンスの管理を行う方法を説明

リンク:How to Deploy a High Availability Web Service on AWS Using Spotinst | AWS Partner Network (APN) Blog

18. 以下はその他取り上げられていた良さげなエントリ

AirtimeはECSを用いてモノリスからマイクロサービスに完全オーバーホール

https://techblog.airtime.com/microservice-continuous-integration-made-easy-with-aws-ecs-10d470e31af0#.qdib1fdqttechblog.airtime.com

API GatewayとLambdaのエラーハンドリングパターン

Error Handling Patterns in Amazon API Gateway and AWS Lambda | AWS Compute Blog

5分でLambdaにチャットボットをデプロイする

Create and Deploy a Chat Bot to AWS Lambda in Five Minutes | AWS Compute Blog

AWS関連

19. AWSのオートスケールとなかよく付き合う

  • 実際に大規模に運用しているスケーリングポリシーは参考になる

speakerdeck.com

1台落ちたぐらいでくよくよしない

20. Amazon Kinesis + socket.io + D3.jsを使った webブラウザで行うリアルタイム可視化の仕組み

  • TwitterのストリームデータをKinesisで受け取ってLambdaでつないでSNS→Socket.ioでブラウザ上のD3.jsでリアルタイム可視化する話

speakerdeck.com

その他

21. Monitorama 2016

  • モニタリングのカンファレンス Monitorama が今年も開催された。

Monitorama Conference

blog.librato.com