Amazon Web Services ブログ

IAM 認証を使用した Amazon RDS および Aurora PostgreSQL データベースアクセスの保護

AWS は 2 つのマネージド型 PostgreSQL オプションを提供しています。Amazon RDS for PostgreSQL と Amazon Aurora PostgreSQL です。どちらも、データベースへのアクセスを管理するための IAM 認証をサポートしています。データベースユーザーを IAM ユーザーとロールに関連付けて、1 つの場所からすべてのデータベースへのユーザーアクセスを管理できます。これにより、異なる RDS/Aurora インスタンスで権限が同期されないことによる問題を回避できます。 この記事では、IAM 認証を使用できる 2 つの一般的なシナリオについてご説明します。同じ AWS アカウントの Amazon EC2 でホストされているアプリケーションから RDS/Aurora データベースにアクセスする方法と、別のアカウントからアクセスする方法があります。また、これらのシナリオに関連するベストプラクティスについてもご説明します。 この記事では Aurora PostgreSQL 環境を使用していますが、このソリューションは RDS PostgreSQL でも機能します。クラスタープロビジョニングの一部として IAM 認証を有効にしたり、クラスター作成後に CLI またはコンソールを使用してクラスターを変更したりできます。IAM データベース認証は、PostgreSQL バージョン 9.6.9 および 10.4 以降で使用できます。 前提条件 開始する前に、以下の前提条件を満たしてください。 2 つの AWS アカウント […]

Read More

新機能 – Amazon Comprehend Medical がオントロジーリンクを追加

Amazon Comprehend は、機械学習を使用して構造化されていないテキストからインサイトを見つける自然言語処理 (NLP) サービスです。非常に使いやすく、機械学習の経験は必要ありません。 Comprehend は特定のユースケースに合わせてカスタマイズできます。たとえば、ドキュメントを独自のカテゴリに整理するカスタムドキュメント分類子を作成したり、特定の用語のテキストを分析するカスタムエンティティタイプを作成したりできます。 ただし、医療用語は非常に複雑で、医療分野固有のものである場合があります。 Amazon Comprehend Medical は HIPAA に対応した自然言語処理サービスで、機械学習を使用して構造化されていないテキストから関連する医療情報の抽出を簡単に行うことができます。Comprehend Medical を使用すると、医師のメモ、臨床試験報告書、患者の健康記録などのさまざまなソースから、健康状態、薬、投与量、強度、頻度などの情報を短時間で正確に収集できます。 今日、Comprehend Medical が抽出した情報を医療オントロジーにリンクする機能を追加しています。 オントロジーは、そのドメインに存在する概念、その属性、それらの関係を定義して表すドメインの宣言モデルを提供します。通常、ナレッジベースとして表され、ナレッジを使用または共有する必要があるアプリケーションで利用可能になります。オントロジーは、健康情報学の中で、健康関連ドメインの正式な記述にあたります。 Comprehend Medical がサポートするオントロジーは次のとおりです。 ICD-10-CM では、健康状態をエンティティとして識別し、診断、重症度、解剖学的区別などの関連情報をそのエンティティの属性としてリンクします。 これは、集団健康分析を行うときや、提供された医療サービスに基づいて保険会社から保険金を受けとるとき、非常に役立つ診断コードセットです。 RxNorm では、薬をエンティティとして識別し、投与量、頻度、強度、投与経路などの属性をそのエンティティにリンクします。 医療従事者はこれらの概念を使用して、薬の処方確認のようなユースケースを可能にします。これは、患者が服用しているすべての薬のリストを可能な限り正確に作成するプロセスです。 Comprehend Medical はオントロジーごとに、潜在的な一致においてランク付けされたリストを返します。信頼スコアを使用して、どの一致が正しい意味なのか、またはどの一致をさらに検討しなければならないのかを決定できます。どのように機能するかは、例を通して見てみましょう。 オントロジーリンクの使用 Comprehend Medical コンソールでは、構造化されていない医師のメモを入力することから始めます。 最初は、Comprehend Medical で既に利用可能ないくつかの機能を使用して、医療および保護医療情報 (PHI) のエンティティを検出します。 認識されたエンティティ (詳細についてはこの記事を参照) の中には、いくつかの症状と薬があります。薬は包括的に、またはブランドとして認識されます。これらのエンティティの一部をより具体的な概念につなげる方法を学びます。 新しい機能を使用して、これらのエンティティを医薬品の RxNorm 概念にリンクします。 テキスト内で、薬に言及している部分のみが検出されます。詳細な答えには、さらに多くの情報があります。 たとえば、検出された薬の 1 つを見てみましょう。 用語「クロニジン」は、始めて登場 (上記入力テキストの 2 行目) したときに、RxNorm オントロジーの一般的な概念 (下の画像の左側) にリンクされます。 「クロニジン」という用語が […]

Read More

Amazon SageMaker を使用した分散型 TensorFlow トレーニングの実行

TensorFlow は、複数のホストで複数の GPU を使用した分散型トレーニングを必要とするヘビーウェイトなディープニューラルネットワーク (DNN) の開発に広く使用されるオープンソースの機械学習 (ML) ライブラリです。Amazon SageMaker は、アクティブラーニングを使用したデータのラベル付けから、モデルの分散型トレーニング、トレーニングの進捗状況のモニタリング、訓練されたモデルの自動スケーリング可能な RESTful サービスとしてのデプロイメント、並列的な ML 実験の一元管理までの ML ワークフローをシンプル化するマネージドサービスです。 この記事では、Amazon SageMaker を使用した分散型 TensorFlow トレーニングに注目していきます。 コンセプトの概要 この記事における分散型トレーニングコンセプトの多くは、さまざまなタイプの TensorFlow モデル全体に広く該当するものですが、この記事ではCommon Object in Context (COCO) 2017 データセット での Mask R-CNN モデルの分散型 TensorFlow トレーニングに焦点を当てます。 モデル Mask R-CNN モデルはオブジェクトインスタンスセグメンテーションのために使用されるものであることから、このモデルは画像内の各オブジェクトインスタンスを区分するために、ピクセルレベルのマスク (シグモイドバイナリ分類) と、オブジェクトカテゴリでアノテーションが付けられた (SoftMax 分類) 境界ボックス (Smooth L1 回帰) を生成します。Mask R-CNN の一般的なユースケースには、自動運転車における認知、表面欠陥検出、および地理空間画像の分析などがあります。 この記事に Mask R-CNN […]

Read More

ボンネットの下で: Kinesis データストリームのスケーリング

データとそれに伴う所見がリアルタイムに提供されるなら、ビジネスは軸足を素早く定めて、様々な要素、中でも必要性の変化、ユーザーの関与、そしてインフラストラクチャのイベントに対応できるしょう。Amazon Kinesis はマネージド型サービスを提供しているため、ユーザーはインフラストラクチャの管理に煩わされることなく、アプリケーションの構築に専念することができます。スケーラビリティは特別な労力なしで実現でき、毎秒ギガバイト単位のストリーミングを取り込んで処理できます。データは 3 か所のアベイラビリティーゾーンに複製され、高い可用性と耐久性を提供します。料金は従量制で、初期費用が必要ないので、Kinesis はコスト効率のよいソリューションとなっています。 Amazon Kinesis Data Streams は、プロビジョニング済みキャパシティーモデルを採用しています。それぞれのデータストリームは 1 つ以上のシャードから構成されており、これがキャパシティーのユニットとしての役割を果たします。シャードが定義済みの読み書き書きキャパシティーを提供するため、ストリーミングパイプラインの設計とスケーリングは容易になります。ワークロードが増えて、アプリケーションの読み書き率がシャードのキャパシティーを越えるとホットシャードの原因となり、キャパシティーをすぐに追加することが必要になります。また、シャードの使用により、大規模なデータセットの処理を並列化することもできるので、計算結果を高速に出力できます。 この記事では、データストリームをスケーリングし、ホットシャードを避ける方法について説明します。まず、ストリームパイプラインを設計する時点でデータストリームが必要とするシャード数を評価する方法を示します。それから、ホットシャードが発生する原因と、Kinesis Data Streams のスケーリングを使用してそれを避ける方法について考慮し、監視するべき重要なメトリクスを確認します。 ストリームのキャパシティーを見積もる 次の図は、1 本のストリーミングデータパイプラインがマルチプレイヤービデオゲームに接続されている様子を示しています。Kinesis Data Streams はプレイヤーのスコアや他の統計情報を取り込みます。ingest player scores and other stats.データはフィルタリングすること、および情報を追加することができ、それから DynamoDB に書き込まれて、ゲームの様々な順位表の元データとなります。 ストリーミングパイプラインの設計を始めるときには、データレコードのプロデューサーが作成するデータを取り込むことによってプロデューサーをハンドルし、同じレコードを消費するユーザーもハンドルするのに十分なキャパシティーを持つデータストリームをセットアップすることが重要です。シャードごとに、毎秒 1 MB のデータを取り込むこと、または同じくシャードごとに毎秒 1,000 のデータレコードを書き込むことができます。読み取りキャパシティーは最大でシャードごとに毎秒 2 MB、または毎秒 5 つの読み取りトランザクションに達します。あるストリームから読み取るすべてのアプリケーションは、読み取りのキャパシティーを共有します。強化されたファンアウト機能により、消費側アプリケーションの数をスケーリングすることができ、そのそれぞれが毎秒 2 MB の専用接続を持てるようにできます。 この記事では、前述のアプリケーションを例として用いることにします。プロデューサー側では毎秒 20,000 KB の割合でデータレコードを作成すると見積もられたとすると、ストリームの反対側ではそれと同じ量のデータを消費者ノードが処理する必要があります。この割合を処理できるようにすることに加え、ストリームの増大のためのヘッドルームとして追加のキャパシティーを追加しておくのは良いアイディアです。 このヘッドルームは、データの取り込みや処理で遅延や中断が発生したというシナリオにおいても、アプリケーションがすぐに回復できるようにする点でも役立ちます。そのようなシナリオとしては、次のものがあり得ます。 消費者側アプリケーションの新しいバージョンがデプロイされる 一過的なネットワークの問題 これらのノードが回復後に追いつくときには、レコードを標準の速度よりも速い速度で生成または消費することになるので、より大きなキャパシティーが必要になります。この例では、ヘッドルームとして 25% または 5 シャードを加えることにします。シャードはコスト効率のよいものですが、それはいくつ追加するかにもかかっています。 […]

Read More

AWS re:Invent 2019 の Amazon DynamoDB 関連のビデオとスライドデッキ

このブログ記事には、AWS re:Invent 2019 の基調講演と Amazon DynamoDB 関連セッションのビデオとスライドデッキへのリンクが含まれています。ビデオ録画は、ワークショップ、チョークトーク、ビルダーセッションのものではありません。この記事の発行時点では、すべてのスライドデッキをダウンロードできるわけではありませんが、利用可能なデッキが増えたらこの記事を更新します。 基調講演 AWS re:Invent 2019、Andy Jassy の基調講演 (12 月 3 日、火曜日) AWS CEO の Andy Jassy が、AWS のお客様、製品、サービスに関する洞察と最新ニュースを、変革に重点を置いてお話します。 AWS re:Invent 2019、Werner Vogels の基調講演 (12 月 5 日、木曜日) AWS VP および CTO の Werner Vogels が、ベールを取り払い、AWS Nitro、Firecracker、AWS Fargate、Amazon EBS の背後にある革新について説明します。 セッション レベル 200 – 入門 ARC213-R – マルチリージョン、アクティブ-アクティブアーキテクチャのアーキテクチャパターン (スライドデッキをダウンロード) グローバルビジネスでは、マルチリージョン、アクティブ/アクティブアーキテクチャを実装できるようにする必要性が高止まりしています。これには高度な考え方と注意が必要ですが、これはアプリとデータベースの設計に限ったことではなく、DNS、モニタリング、トラフィックシェーピングにもいえることです。アーキテクチャの複雑さは急速に増大する可能性があるため、複数の設計上のトレードオフを行う必要があります。このセッションでは、課題や、DynamoDB […]

Read More

Amazon RDS を PostgreSQLのメジャーバージョンとマイナーバージョンにアップグレードするためのベストプラクティス

 オープンソースの PostgreSQL は、頻繁に発生するバグ、セキュリティの問題、データ破損の問題の修正を含む新しいマイナーバージョンとメジャーバージョンをリリースすることがあります。一般的に、Amazon RDS は、新しいエンジンバージョンが利用できるようになってから 5 か月以内にサポートすることを目指しています。また、特定のバージョンがサポートされなくなった場合、RDS PostgreSQL インスタンスをアップグレードする必要があります。この場合、RDS は、データベースインスタンスのアップグレードを提案するメールを送信します。RDS コンソールまたは AWS CLI コマンド modify-db-instance を使用して、インスタンスをアップグレードできます。Auto Minor Version Upgrades を有効にすることで、インスタンスを適切なマイナーバージョンにアップグレードすることもできます。 RDS はアップグレードを管理しますが、一般的な問題、関連する手順、それにビジネスへの影響を最小限に抑えてアップグレードするためのベストプラクティスを把握しておく必要があります。この記事では、次のトピックを含む RDS PostgreSQL データベースエンジンのアップグレードについて説明します。 メジャーバージョンとマイナーバージョンのアップグレード中に起こること アップグレード中の一般的な問題 Auto Minor Version Upgrades 機能の理解 アップグレードの準備 メジャーバージョンとマイナーバージョンのアップグレード PostgreSQL 10 以降、たとえば 10 から 11 など、バージョン番号の最初の数字が増加することで、新しいメジャーバージョンにアップグレードしたことを示しています。2 番目の数字が、たとえば 10.4 から 10.9 に変わった場合、マイナーバージョンのアップグレードがあったことを示します。PostgreSQL 10 以前では、9.5 から 9.6 など 2 桁目の数字がメジャーバージョンを示し、9.6.5 から […]

Read More

2019 年に最も閲覧された Amazon DynamoDB ドキュメントページのトップ 20

以下の 20 のページは、2019 年に最も閲覧された Amazon DynamoDB のドキュメントページです。このリストには、各ページの内容を説明するために、簡単な記述とそれぞれのリンクが含まれています。このリストを使用して、AWS の他のお客様が何を読んでいるかをご覧ください。前から知りたいと思っていたトピックに対する興味が湧くかもしれません。 クエリの操作 DynamoDB のクエリオペレーションは、プライマリキー値に基づいて項目を検索します。複合プライマリキー (パーティションキーおよびソートキー) がある任意のテーブルまたはセカンダリインデックスを照会することができます。 Amazon DynamoDB とは この DynamoDB についての簡単な紹介は、DynamoDB 開発者ガイドのウェルカムページとしても役立ちます。 DynamoDB ローカル (ダウンロード可能バージョン) のセットアップ ダウンロード可能なバージョンの DynamoDB によって、DynamoDB ウェブサービスにアクセスすることなくアプリケーションを記述してテストすることができます。本番用にアプリケーションをデプロイする準備が整うと、コードを若干変更するだけで DynamoDB ウェブサービスを使用できるようになります。 DynamoDB のベストプラクティス DynamoDB を使用する際に、パフォーマンスを最大化し、スループットコストを最小化するための推奨事項をすばやく見つけることができます。 DynamoDB での制限 特に指定のない限り、これらの現在の DynamoDB の制限 (または、場合によっては欠如) は、リージョンごとに適用されます。 クエリ KeyConditionExpression パラメータを使用して、パーティションキーに特定の値を指定します。クエリオペレーションは、そのパーティションキーの値を持つテーブルまたはインデックスからすべての項目を返します。 読み取り/書き込みキャパシティーモード DynamoDB には、テーブルの読み取りと書き込みを処理するために、オンデマンドとプロビジョンドの 2 つの読み取り/書き込みキャパシティーモードがあります。 DynamoDB コアコンポーネント DynamoDB で用いる主要なコンポーネントは、テーブル、項目、属性です。テーブルは項目の集合であり、それぞれの項目は属性の集合です。 DynamoDB の使用開始 […]

Read More

Amazon Textract が PCI DSS 認定を取得し、テーブルとフォームからさらに多くのデータの処理が可能に

Amazon Textract は、スキャンしたドキュメントからテキストとデータを自動的に抽出するだけではありません。テンプレート、設定、または機械学習の経験を必要とせず、単純な光学文字認識 (OCR) の域を超えて、テーブルのフィールドと情報に関するコンテンツも識別します。Intuit、PitchBook、Change Healthcare、Alfresco などのお客様は、すでに Amazon Textract を使用してドキュメント処理ワークフローを自動化し、数百万におよぶページを数時間で正確に処理しています。さらに、スマート検索インデックスを作成し、自動承認ワークフローを構築して、編集を必要とする可能性のあるデータにフラグを立てることによりドキュメントアーカイブルールへのコンプライアンスをより良いかたちで維持します。 本日、アマゾン ウェブ サービス (AWS) は、Amazon Textract が PCI DSS 認定を取得したことをご報告します。 この取得で、カード所有者のデータ (CHD) や機密認証データ (SAD) など、ペイメントカード業界のデータセキュリティ標準 (PCI DSS) の情報セキュリティ標準を必要とするあらゆるワークロードに、Amazon Textract を使用できるようになりました。Amazon Textract は HIPAA に適したサービスであるため、Amazon Textract で保護された健康情報 (PHI) ワークロードを処理することもできます。加えて、本日より AWS は新しい品質強化を開始し、テーブル (固定した行と列に編成された構造的なデータ) およびフォーム (キーと値のペアと、チェックボックスやラジオボタンなどの選択可能な要素として表される構造的なデータ) からさらに多くのデータを取得できるようになりました。 Amazon Textract は分割セルと結合セルなどの複雑なテーブルから、より多くのデータをより正確に取得できるようになりました。Amazon Textract は境界線が明示的に描かれていないテーブルであっても、折り返しを設定しているテキスト (複数行にわたって表示されるテキスト) のあるセルの行と列をより正確に識別します。Amazon Textract はさらに、同じページ上のテーブル、およびテーブル内に入れ子にされたキーと値のペアも含むドキュメントからフォームデータをより正確に取得します。こうした機能の強化は 2019 年 10 […]

Read More

Amazon FSx および Amazon EBS のお客様に朗報: AWS Local Zones

AWS re:Invent 2019 では、多くの発表や機能の開始がありました。そうした中で、AWS ストレージユーザー向けの今後の可能性に関する発表の 1 つが、AWS Local Zones に関するものでした。現在のところ、このニュースは特にロサンゼルス近郊でハイパフォーマンスのアプリケーションを実行している Amazon FSx および Amazon Elastic Block Store (Amazon EBS) のお客様に関連しています。 新しいタイプの AWS インフラストラクチャのデプロイメントとして、AWS Local Zones は、現在 AWS リージョンが存在しない大規模な集団、産業、IT センターの近くに選択したサービスを配置するのに役立ちます。Local Zones を使用すると、アプリケーションのレイテンシーに敏感な部分を、簡単に特定の地域のエンドユーザーおよびリソースに対してローカルで実行できます。これにより、メディアおよびエンターテインメントのコンテンツ制作、リアルタイムゲーム、油層シミュレーション、電子設計の自動化、機械学習などのユースケースで非常に低いレイテンシー (ミリ秒 1 桁) を実現できます。 それぞれの Local Zone は、アプリケーションが Amazon FSx や Amazon EBS などの AWS のサービスを使用する AWS リージョンの拡張です。たとえば、Amazon FSx を使用するレイテンシーの影響を受けやすいアプリケーションでは、ローカルワークロードと近接する AWS リージョンで実行されているワークロードとの間の高帯域幅で安全な接続を活用できます。これにより、同じ API とツールセットを使用して、AWS […]

Read More

Amazon Lex Conversation ログを使った、ユーザとのやり取りをモニタリングおよび改善

会話のインターフェースを提供する製品のオーナーにとって、それに対応する可視性やテレメトリーなしでユーザーエクスペリエンスを解釈し向上しようとするのは、目隠ししながら自動車を運転するのと同じだと言えるでしょう。ご使用になっているボットとユーザーの間のやり取りを理解することは重要です。やり取りの履歴に基づいて継続的な改善を行うことができます。こういった実用的な洞察は、ボットが行った会話をモニタリングすることで取得することが可能です。ユーザー入力のキャプチャーであれば、アプリケーションにカスタムロジックを書き加えることで実現できます。しかし、追加コードと関連するインフラストラクチャの構築や管理といった作業は、扱いが難しく作業時間も消費するものです。さらに、このカスタムロジックが、エンドユーザー側のレイテンシーを増加しないようにする必要もあります。 今回、Amazon Lex 用の Conversation logs の発表により、ボットとユーザー間のやり取りをネイティブに保存できるようになったことを、とても喜ばしく思います。これにより、テキスト入力は Amazon CloudWatch Logs に、音声入力 Amazon S3 にログ記録するよう定義できます。このログには、ユーザーからの入力とボットによる応答に加え、適用したインテントや取りこぼした発言に関する情報も記述されます。スロットの値としてキャプチャーされた機密データを保護するためには、スロットを難読化し、ログに対しその値をマスクすることもできます。 この会話ログは、定義済みのインテントにマップされていない発言を追跡するために利用できます。こういった取りこぼした発言により、ボットの設計を改善できるようになります。今回から、セッション全体の会話についてのトランスクリプションが利用可能になりました。会話の流れをより良く分析し、そのデザインを改善しながら、ユーザーエンゲージメントの向上をはかることができます。 今回の記事では、会話ログの有効化、機密を含むスロットの難読化、ボットに関する先進的なモニタリング機能のセットアップなどの方法を解説します。 ボットの構築 この記事では、自動車ローン向けボットをモデリングするために、次のような会話を使用します。 ユーザー: 自動車ローンの未払い残高を確認したいのですが。 エージェント: 承知しました、お客様のアカウント番号をお教えいただけますか? ユーザー: 12345678 です。 エージェント: 確認のため、SSN の最後の 4 桁をお伝えいただけますか? ユーザー: 1234 です。 エージェント: ご協力ありがとうございました。アカウント番号 12345678 の自動車ローンには、12,345 USD の残高があります。 ユーザー: どうもありがとう。 次のようなインテントを使い、AutoLoanBot (download) という名の Amazon Lex ボットを構築します。 ApplyLoan – 名前や SSN といった必要な情報を聞きだし、リクエストを新たに作成します。 PayInstallment – ユーザーのアカウント番号、ユーザーの […]

Read More