Amazon Web Services ブログ

サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 この投稿では、Web サーバーを使用せずにサーバーレス PHP アプリケーションを構築する方法を学びます。 この投稿の後半で、bref および Serverless Visually Explained の作成者である Matthieu Napoli が FastCGI Process Manager の実装を Lambda 関数内で使うことでそれを可能にする方法を説明しています。Bref は、PHP 用のオープンソースのランタイム Lambda レイヤーです。 また、プライベート Amazon S3 バケットから静的アセットを安全に提供およびキャッシュするように Amazon CloudFront を構成する方法を示します。動的リクエストは、その後 Amazon API Gateway にルーティングされ、単一の AWS Lambda 関数にルーティングされます。 これらのサービスを組み合わせることで、PHP アプリケーション用の従来の Web サーバーを置き換えることができます。 サンプルコードについては、この GitHubリポジトリ にアクセスしてください。 サーバーレス LAMP スタックアーキテクチャについては、この投稿で説明しています。Web アプリケーションは2つのコンポーネント(静的アセットと動的コンテンツを生成するバックエンドアプリケーション)に分割されます。Lambda […]

Read More

Amazon Transcribe で自動言語識別がサポートされるようになりました

  2017 年、自動音声認識サービスの 1 つとして、Amazon Transcribe のサービスが開始され、デベロッパーが 音声をテキストに変換する機能 (speech-to-text) を簡単にアプリケーションに追加できるようになりました。それ以来、多くの言語がサポートされ、リアルタイム対応の 6 言語を含む、31言語で音声録音の変換が可能になりました。 Amazon Transcribe の一般的なユースケースは 、顧客からの電話問い合わせのトランスクリプション(文字起こし)です。これにより、企業は自然言語処理技術を使用してトランスクリプション(文字起こし)したテキストを分析し、感情を読み取ったり、最も一般的な電話問い合わせの理由を特定したりできます。複数の公用語を持つ国や複数の地域で運用する場合、音声ファイルに異なる言語が含まれている可能性があります。したがって、トランスクリプション(文字起こし)を行う前に、適切な言語でファイルを手動でタグ付けする必要があります。これには、通常、多言語スピーカーのチームを編成する必要があり、音声ファイルの処理に余分なコストと遅延が発生します。 メディアおよびエンターテインメント業界では、 Amazon Transcribe を使用して、メディアコンテンツをアクセス可能で、検索可能なテキストファイルに変換することがよくあります。ユースケースには、字幕やトランスクリプトの生成、コンテンツの調整などが含まれます。オペレーションチームは、Amazon Transcribe を品質管理にも利用します。たとえば、抽出されたテキストに含まれるタイムスタンプから音声と動画が同期していることを確認できます。しかし、間違った言語で動画がストリーミングされないようにするために主要な言語をラベル付けしますが、これを検証する方法など、簡単には解決できない他の問題がありました。 本日、 Amazon Transcribe が音声録音で主要な言語を自動識別できるようになったことを発表します。この機能により、手動によるタグ付けが不要になり、より効率的なトランスクリプション(文字起こし)のワークフローを構築できます。Amazon Transcribe を使用して、上記の例に加え、ボイスメール、会議、その他あらゆる録音フォーマットを自動的に認識してトランスクリプション(文字起こし)することが簡単にできるようになりました。 自動言語識別の導入 Amazon Transcribe は 、30 秒以上の音声から効率的に音声言語でトランスクリプトを生成できます。手動でタグ付けする時間やリソースは必要ありません。主要な言語の自動識別は、バッチトランスクリプションモードで 31 言語すべてに対応しています。言語識別は、サンプリング技術により、トランスクリプション処理よりもはるかに高速に数秒で行われます。 すでに Amazon Transcribe を 音声認識に使用している場合は、 StartTranscriptionJob API でこの機能を有効にするだけで利用できるようになります。トランスクリプションジョブが完了する前に、GetTranscriptionJob API が音声録音での主要な言語と、信頼度スコアとして 0 ~ 1 を返します。トランスクリプトには、上位 5 つの言語とそれぞれの信頼度スコアがリストされています。 もちろん、 Amazon Transcribe […]

Read More

SAMLセッションタグを使用してフェデレーションユーザーのSession Managerアクセスを構成する

このブログ投稿では、フェデレーションユーザーに対して、AWS Systems Manager Session Managerへのアクセス権限を属性ベースのアクセスコントロール(ABAC=Attribute Based Access Control)にて設定する方法を示します。SAMLセッションタグを使用することで、外部IDシステムで定義された属性をAWS内のABACの判定の一部として使用できます。たとえば、AWS Identity and Access Management(IAM)ユーザーが所属する部門に基づいて、特定のマネージドインスタンスへのアクセスを許可することができます。フェデレーションユーザーが使用できる属性の詳細については、「新しい ID フェデレーション – AWS でアクセスコントロールに従業員属性を使用する」を参照してください。

Read More

Code シリーズ入門ハンズオンを公開しました!- Monthly AWS Hands-on for Beginners 2020年8月号

こんにちは、テクニカルソリューションアーキテクトの金澤 (@ketancho) です。少しずつ暑さも和らいできましたが、みなさまいかがお過ごしでしょうか?私は春先に始めたランニングを梅雨の長雨と夏の暑さを言い訳に中断していたのですが、やらない理由がなくなってしまったのでしぶしぶ再開しようかなと思っているところです。 さて、AWS Hands-on for Beginners シリーズの新コンテンツとして Code サービスハンズオン を追加しました。具体的には、 AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline の4つのサービスを主に使っていただくハンズオンとなります。これまで Code サービスを使ったことがない方のはじめの一歩にオススメのハンズオンとなっております。 また、今回も記事の後半で、私が独断と偏見で考えた AWS Hands-on for Beginners を使った AWS 学習プランについて紹介したいと思います。前回の記事 では2日間プランの紹介をしましたが、更に2日分追加し、4日間プランとして紹介いたします。ちょうど明日から4連休!ということで、自主学習のマイルストンとしてご活用いただくこともできるかと思います。ぜひご覧ください。 AWS Hands-on for Beginners シリーズ一覧 前回の記事: システム運用の際にご活用いただける2つのハンズオンを公開しました!- Monthly AWS Hands-on for Beginners 2020年7月号   AWS Hands-on for Beginners とは? AWS Hands-on for Beginners は、動画にそって実際に手を動かしながら […]

Read More

[AWS Black Belt Online Seminar] AWS CloudFormation 資料及び QA 公開

先日 (2020/08/26) 開催しました AWS Black Belt Online Seminar「AWS CloudFormation」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200826 AWS Black Belt Online Seminar AWS CloudFormation from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. AWS CloudFormation テンプレートを作り込む際、実際にスタック作成してトライ&エラーで作り込んでますが、スタック作成せずにテンプレートを検証できる方法はないでしょうか? A. 本 Black Belt の 55 スライド目のとおり、事前にテスト関連ツールにて事前検証可能です。最終的には実環境でのテストが必要ですが、本 Black Belt で紹介した機能を使用して事前に検証することで、実環境でのトライ&エラーを防ぐことができます。 Q. CloudFormation 初心者なのですが、プログラミング経験は豊富なので、これから IaC に携わる場合は、CDK や Pulumi を学習する方がよいでしょうか? A. プログラミング言語に慣れているということであれば、AWS Cloud Development Kit (CDK) から取り組むのも一つの手です。CloudFormation […]

Read More

AWS Copilot によるコンテナアプリケーションの自動デプロイ

本投稿は Nathan Peck による記事を翻訳したものです アプリケーションをアイデアから人々に触ってもらえる実装に落とし込むのは複数のステップを含むプロセスです。設計が固まりコードが書かれると、どうやってそのアプリケーションをデプロイし、ユーザーのもとに届けるかというのが次のチャレンジとなります。その実現方法の1つが Docker コンテナを利用することであり、AWS Copilot のようなコンテナを実行するためのインフラストラクチャを自動的に構築してくれるようなツールです。もしあなたがまだ AWS Copilot のことをよく知らない場合は、以前のブログ記事「AWS Copilot のご紹介」をお読みいただくとその全体概要を掴んでいただけるかもしれません。 Copilot を利用すると copilot svc deploy のような CLI コマンドを実行することでアプリケーションのビルドやデプロイを実行することができますが、例えば複数の開発者が複数のサービスからなる規模のアプリケーションについて長期的な視点で考えた時には理想的な使い方とは言えません。この記事では、Copilot の基礎的な使い方に基づいてアプリケーションリリースの自動化を進める方法を紹介していきます。そこで、まずはコード変更をリポジトリにプッシュする度にコンテナアプリケーションをビルド、プッシュ、デプロイするという基本的なリリースパイプラインを動かすところから始めます。その後、複数のステージやテストを備え、プロダクションへのリリース前にそのアプリケーションが動作することを確認できるようなベストプラクティスをパイプラインを実装していきます。『本番環境で発見されたバグを修正し、それをユーザーに向けてリリースする』という現実世界のシナリオのウォークスルーが本記事のフィナーレです。 本日のアプリケーション あなたは “String Services” というオンライン文字列操作 API 界のトッププロバイダになることを狙っているスタートアップで働いているとしましょう。ある日、あなたの会社は “reverse.” と呼ばれる文字列操作のサービスを提供していくことを決めます。このサービスはどんな文字列もそのインプットとして受け入れ、逆向きの(reversed)文字列をその結果として返します。あなたの仕事はこの新しいサービスをデプロイし、この API を熱望するお客さまに届けることです。まずは Node.js で書かれたコードを見ていきましょう。 var getRawBody = require(“raw-body”); var http = require(“http”); var server = http.createServer(function (req, res) { getRawBody(req) .then(function (buf) { […]

Read More

AWS IoTの最新アップデートとイベント情報 9月版

こんにちは、IoTソリューションアーキテクトの飯塚です。今回はIoTに関するサービスやコンテンツ、セミナーやイベントの最新情報を本記事にまとめ、ご紹介しようと思います。前回ご紹介した7月分がこちらになります。

Read More

金融サービスにおける機械学習のベストプラクティス

本投稿は、金融サービスのお客様が AWS でエンドツーエンドの機械学習ソリューションを構築して運用化する支援をしている Stefan Natu 、Amazon SageMaker のシニア事業開発マネージャーである Kosti Vasilakakis 、アマゾン ウェブ サービス、ワールドワイド金融サービス事業開発の資本市場スペシャリストである Alvin Huang 、アマゾン ウェブ サービスのプリンシパル機械学習アーキテクチャ兼 AI/ML ソリューションアーキテクチャのシニアマネージャー であるDavid Ping の4名による寄稿を翻訳したものです。 先日、AWS は機械学習 (ML) ワークフローを構築している金融機関のためのセキュリティとモデルガバナンスに関する考慮事項の要点をまとめた新しいホワイトペーパー、金融サービスにおける機械学習のベストプラクティスを公開しました。このホワイトペーパーは、セキュリティとコンプライアンスに関する一般的な考慮事項について説明し、エンドツーエンドの例を詳しく説明するハンズオンデモとワークショップの提供を目的としています。このホワイトペーパーでは金融サービスの考慮事項に着目していますが、認証とアクセスの管理、データとモデルのセキュリティ、および ML 運用化 (MLOps) のベストプラクティスに関する情報のほとんどは、ヘルスケアなどのその他の規制対象業界にも当てはまります。 次の図にあるように、一般的な ML ワークフローには複数のステークホルダーが関与します。ワークフローを適切に制御して運用化するには、ビジネスステークホルダー、SysOps 管理者、データエンジニア、ソフトウェアエンジニア、および DevOps エンジニアを含めた複数のチームと連携する必要があります。 このホワイトペーパーでは、各チームのための考慮事項を説明すると共に、Amazon SageMaker と AWS のその他サービスを使用して ML ワークロードを構築、トレーニング、およびデプロイする方法の例と図解も提供します。具体的には、規制された環境でワークロードを実行するお客様からのフィードバックに基づいて、以下のトピックを取り上げています。 セキュアな ML 環境のプロビジョニング – これには以下が含まれます。 コンピューティングとネットワークの分離 – インターネット接続がないお客様のプライベートネットワークに Amazon SageMaker をデプロイする方法。 […]

Read More

新しい EC2 T4g インスタンス – AWS Graviton2 によるバースト可能なパフォーマンス – 無料で利用可能

2 年前、Amazon Elastic Compute Cloud (EC2) T3 インスタンスが初めて利用可能となり、とても高い費用対効果のある、汎用ワークロードを実行するための方法が提供されました。現在の T3 インスタンスは、多くのユースケースで十分なコンピューティングパフォーマンスを提供していますが、多くのお客様から、ピークパフォーマンスの向上と低コストの恩恵を受ける追加のワークロードがあるとお伺いしました。 本日、AWS は、64 ビット Arm Neoverse コアを使用して AWS がカスタム構築したプロセッサである AWS Graviton2 を搭載した、低コストのバースト可能な新世代のインスタンスタイプである T4g インスタンスをリリースします。T4g インスタンスを使用すると、T3 インスタンスと比較して 20% 低いコストで最大 40% のパフォーマンス上のメリットが得られます。これにより、幅広いワークロードに対して最高のコストパフォーマンスを実現できます。 T4g インスタンスは、多くの時間において CPU をフルパワーで使用しないアプリケーション向けに設計されており、デフォルトで無制限モードが有効になっている T3 インスタンスと同じクレジットモデルを使用します。 大量のデータ処理時にのみ高い CPU パフォーマンスを必要とする運用ワークロードの例としては、ウェブサーバー/アプリケーションサーバー、小規模/中規模のデータストア、および多くのマイクロサービスがあります。以前の世代と比較して、T4g インスタンスのパフォーマンスは、キャッシュサーバー、検索エンジンのインデックス作成、電子商取引のプラットフォームなどの追加のワークロードを移行することを可能にします。 T4g インスタンスは、最大 5 Gbps のネットワークと最大 2.7 Gbps の Amazon Elastic Block Store (EBS) のパフォーマンスを提供する 7 つのサイズで利用可能です。 名前 vCPU ベースラインパフォーマンス/vCPU […]

Read More

AWS IoT Deep Dive #1 2020 上半期 AWS IoT アップデート 資料と録画、Q&Aを公開

こんにちは、IoTソリューションアーキテクトの飯塚です。本ブログ記事では、AWS IoT Deep Diveセミナーシリーズの第1回目の開催内容と資料、当日いただいたご質問とその回答をまとめていきたいと思います。 AWS IoT Deep Diveセミナーとは 本セミナーシリーズは、このタイトル通り、お客様がIoT製品やサービスを設計・開発する際のよくある課題や考慮すべき事項を共有し、AWSによるソリューションをより深く・詳細にお伝えするセミナーです。本セミナーイベントの詳細については、以下のブログ記事にて説明していますので、是非ご覧ください。 AWS IoT Deep Dive – 新しいAWS IoTセミナーシリーズを開始します  

Read More