このページの本文へ

Section-9吉田真吾のAWS関連ブログまとめ 第2回

AWSのアップデートをまとめてチェック

EFSスタート、ムンバイリージョン開設など6月のAWS関連ブログ

2016年07月07日 07時00分更新

文● 吉田真吾(Section-9)

  • この記事をはてなブックマークに追加
  • 本文印刷

「Section-9吉田真吾のAWS関連ブログまとめ」は、AWS関連の最新情報をまとめているSection-9 吉田真吾さんのブログ転載になります。今週は6月のアップデートの振り返りです。

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

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

健康感あふれるはてなさんのまかないランチ


AWS公式

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

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

WindowsおよびLinuxのインスタンスに外部からコマンド実行を指示できるEC2 Run Commandがアップデートされた。

  • 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を指定可能になり、以下のようなサポート状況になった。

AWS CodePipelineにOpsWorksとのインテグレーション

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サービスの権限管理

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上のロールでサインインするか選択する画面が表示されます。

AWS Black Belt Online Seminar AWSサービスの権限管理 from Amazon Web Services Japan


Elastic Load Balancing

Q4. ディレクトリ名を利用した振り分けは出来ないでしょうか?

A4. 現時点では対応しておりません。

Q7. 瞬間的に急増した際に503が返るとありましたが、TPSの目安はありますか?

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

Q8. 正規表現などルールベースの負荷分散への対応予定はありますか?

A8. 現時点では対応しておりません。

Q16. ELBでヘッダ情報の付与はできますでしょうか?

A16. 現時点では対応しておりません。

AWS Black Belt Online Seminar Elastic Load Balancing from Amazon Web Services Japan


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

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

Black Belt Online Seminar AWS Summit Tokyo 2016 と主要アップデートのふりかえり from Amazon Web Services Japan


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に変換するなど

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

Real-time in-memory OLTP and Analytics with Apache Ignite on AWS - AWS Big Data Blog


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 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 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 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を用いてモノリスからマイクロサービスに完全オーバーホール

Microservice continuous integration made easy with AWS ECS — Airtime Tech Blog

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のオートスケールとなかよく付き合う

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

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

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

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

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

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


その他

21. Monitorama 2016

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

Monitorama 2016 PDX

カテゴリートップへ

この連載の記事