Amazon Web Services ブログ

Category: Developer Tools

サードパーティの Git リポジトリから AWS CodePipeline のビルドステータスを追跡する

(この記事は、Tracking the AWS CodePipeline build status from the third-party Git repository を翻訳したものです。) AWS CodePipeline では、パイプラインのソースとしてサードパーティの Git リポジトリを使用できますが、ビルドステータスをサードパーティ Git リポジトリダッシュボードで確認できない場合があります。開発者がリポジトリで作業する場合、同じダッシュボードでビルド/パイプラインのステータスを確認できることが望ましいです。このブログでは、パイプライン/ビルドステータスをサードパーティのリポジトリに反映するソリューションの構築手順を説明します。これにより、開発者はコンテキストを切り替えることなくステータスを簡単に追跡できます。 CodePipeline は GitHub と Bitbucket をサポートしており、どちらも REST API を提供し、パイプライン実行に関連する情報をリポジトリにプッシュできます。このブログでは、CodePipeline と Git リポジトリ間のこの統合を設定する方法について説明します。 ソリューション概要 サードパーティリポジトリをソースとして CodePipeline を設定すると、コミットがリポジトリにプッシュされたときにパイプラインがトリガーされます。このソリューションでは、パイプラインが実行されると、すべてのステータスの変更が Amazon Simple Notification Service (Amazon SNS) トピックにイベントとしてプッシュされます。AWS Lambda 関数はこの情報を処理し、REST API 経由でリポジトリにステータスをプッシュします。 CodePipeline コンソールを使用する代わりに、サードパーティの Git リポジトリ (Bitbucket または GitHub) でパイプラインのステータスを直接表示できます。次の図は、このアーキテクチャを示しています。   […]

Read More

小売業界での Amazon Interactive Video Service と Amazon Personalize 活用のハウツーガイド

ライブストリーミングの人気はますます高まっており、オンラインでのお客様とのやり取りの新たな機会を拡げています。魅力的なコンテンツを提供するライブストリーミングにより、お客様のオンラインショッピングへの流れを促進し、購買体験をオンラインエンゲージメントの1つに加えることができます。また、オンラインストアが提供するパーソナライズされたレコメンデーションによって適切な商品を適切なタイミングでおすすめすることで、お客様のエンゲージメントとコンバージョンを最大化することができます。 このブログでは、ライブストリーミングとパーソナライゼーションを構成して e コマースサイトに展開する方法の詳細をご紹介します。

Read More

新しい AWS SDK for Rust のアルファリリース

本投稿は、Senior Linux Witch, Linux & Open Source の iliana etaoin による記事を翻訳したものです。 AWS SDK for Rust をアルファリリースとして発表できることを嬉しく思います。Rust で開発している AWS のお客様は、使い慣れている言語の概念をそのまま使用できるネイティブ な Rust による SDK を求めています。また、Rust に慣れていないお客様は、他の言語環境で使用した SDK と同様に動作するものを求めています。このアルファリリースでは、7 つの AWS サービスのクライアントをお試いただき、エルゴノミクスとユーザビリティに関するフィードバックをお寄せいただくことができます。 私はこの1年間、コミュニティ開発の Rust 用 AWS SDK である Rusoto の共同メンテナーでした。AWS を代表して、2015 年の最初のリリース以来 Rusoto の構築に取り組んだ原作者、他の共同メンテナー、およびコミュニティに感謝したいと思います。幅広い AWS サービスに対し機能するよう維持し続けることは非常に困難でしたが、それがお客様にとってどれくらい重要だったかを考えてみると、誇りに思える仕事でした。 新しい SDK の主な設計目標は、新しい AWS サービス のAPIが登場した時点でSDKから使用できるようにすることです。最近の他の SDK と同様に、AWS SDK for Rust […]

Read More

CodeGuru Profilerを用いたAmazonのアプリケーションのCPUとレイテンシーのパフォーマンス改善

(この記事は、 Improving the CPU and latency performance of Amazon applications using Amazon CodeGuru Profiler を翻訳したものです。) Amazon CodeGuru Profiler は機械学習を活用し、アプリケーションコードのボトルネックになっている部分の特定をサポートし、最適化のための推奨事項を提供してくれるデベロッパー用ツールです。Amazon CodeGuru Profilerを用いることによってアプリケーションのパフォーマンスの問題の特定、レイテンシーやCPU使用効率の問題を解決することができます。 CodeGuru Profilerは AWS Lambda, Amazon Elastic Compure Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS),Amazon Elastic Kubernetes Service (Amazon EKS), AWS Fargate, AWS Elastic Beanstalk, およびオンプレミスで稼働しているアプリケーションのパフォーマンスの問題解決に役立ちます。 本ブログではAmazonのリテールサービスが、どのようにCodeGuru Profilerを用いてCPUの使用率とレイテンシーを50%減らし、$100,000のコストを削減したかの大まかな概要について解説します。

Read More
Solutions Design diagram explaining how the solution is structured

Selenium, AWS Lambda, AWS Fargate, AWS Developer Tools を使ったサーバーレスなUIテスト

(この記事は、 Serverless UI testing using Selenium, AWS Lambda, AWS Fargate, and AWS Developer Tools を翻訳したものです。) 以前、Using AWS CodePipeline, AWS CodeBuild, and AWS Lambda for Serverless Automated UI Testing (日本語版 ) を公開してから、Chrome headless とFirefox headless が各ブラウザでネイティブにサポートされるようになったことで、事態は大きく変わりました。 AWS Lambda は今やコンテナイメージをサポートし、 AWS Step Functions はLambda と統合された Map state のサポートを追加し、AWS Fargate は完全にサーバーレスのテクノロジを利用した、UIテストを可能にしました。

Read More

AWS Cloud Development Kit v2 開発者プレビューのお知らせ

AWS Cloud Development Kit (AWS CDK) v2が開発者プレビューとして、TypeScript、Python、Java、C#、Go言語で利用できるようになりました。AWS CDKは、使い慣れたプログラミング言語を使ってクラウドアプリケーションのリソースをモデル化し、プロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。AWS CDKを使用すると、インフラストラクチャをコードとして定義し、AWS CloudFormationを通じてプロビジョニングすることができます。AWS CDKは、実績のあるデフォルト値で事前に設定された高レベルなコンポーネントを提供しているため、専門家でなくてもクラウドアプリケーションを構築することができます。また、組織の要件を組み込んだ独自のカスタムコンポーネントを構成して共有することができるため、チームが新しいプロジェクトを迅速に開始することができます。 2019年7月には、TypeScriptとPython向けのAWS CDK v1の一般提供を発表しました。それ以降、JavaとC#の追加言語のサポートをリリースし、Go言語バインディングの開発者プレビューをリリースしました。今回はv2のプレビューリリースを発表します。このリリースによりAWS CDKをより簡単に利用できるようになり、また今後のバージョンアップに対応することがより容易になります。 AWS CDK v1アプリケーションの最新マイナーバージョンからv2への移行は、比較的簡単です。まずAWSアカウントで再度ブートストラップ (cdk bootstrap) をする必要がありますが、これは各リージョンで一度だけの作業です。ほとんどのプロジェクトでは、インポート文を更新し、合成(synth) し、デプロイするだけで済みます。リソースに若干の変更があるかもしれませんが、リソースの作り直しが必要になるようなことはありません。 この記事では、AWS CDK v1とv2の間の変更点をご紹介します。

Read More

AWS CodeCommit が大阪リージョンでご利用いただけます

みなさん、こんにちは。アマゾン ウェブ サービス ジャパン、シニアエバンジェリストの亀田です。 AWS CodeCommit が大阪リージョンでご利用いただけるようになりましたのでお知らせいたします。 AWS CodeCommit CodeCommit はプライベートなGit ベースのリポジトリをセキュアにホストする完全マネージド型サービスです。お客様は独自のソースコントロールシステムを稼働させる必要がなくなり、インフラストラクチャのスケーリングに関する不安要素を払しょくできます。ソースコードからバイナリまですべてのものを1ファイサイズあたり最大2GB まで、セキュアに保存でます。すべての Git コマンドをサポートし、既存の Git ツールとの連動がサポートされています。使い慣れた開発環境のプラグイン、継続的統合/継続的デリバリーシステム、グラフィカルクライアントを CodeCommit と合わせて引き続き使用することができます。 CodeCommit は、通信中および保管中のファイルをAWS Key Management Service (KMS) との連携により自動的に暗号化し、AWS Identity and Access Management (IAM) と統合されているため、ユーザー固有のアクセス許可をリポジトリに簡単に設定することができます。プルリクエスト、分岐、マージを介して、チームメイトとのコードによるコラボレーションを支援します。コードレビューとフィードバックを含むワークフローの実装や、特定の分岐を変更できるユーザーの管理も簡単です。 Subversion、Perforce などのその他のリポジトリに関しては、まず Git インポーターを使用して Git リポジトリに移行いただく必要があります。詳しくは以下の手順をご覧ください。 Migrate an Existing Repository to AWS CodeCommit  CodeCommit のモニタリング CodeCommit はAWSサービスとの連携により様々なモニタリングを構築することができます。例えば以下のようなサービスとの連携があります。 Amazon EventBridge アプリケーションの可用性の問題やリソースの変更などのAWSサービスからのシステムイベントは、ほぼリアルタイムでEventBridgeに配信されます。CodeCommitはEventBridgeとの連携により、関心のあるイベントと、イベントがルールに一致したときに実行する自動アクションを行う簡単なルールを作成することができます。例えば発生しているアプリケーション障害をもとに自動でプルリクを起こすことなどで用います。 Amazon CloudWatch Events […]

Read More

Amazon CodeGuru Reviewer のアップデート: 最大 90% 値下げとなる新しい予測可能な料金モデル、Python サポートが一般利用可能に

Amazon CodeGuru は、機械学習と自動化された推論を活用した推奨事項により、コードレビューの自動化とコード品質の向上を支援します。 CodeGuru Reviewer を使用すると、検出しにくい潜在的な欠陥やバグを検出し、 CodeGuru Profiler によってライブデータに基づいてアプリケーションのパフォーマンスを微調整することができます。このサービスは 2020 年 6 月から一般公開されています。CodeGuru の使用開始方法については、こちらをご覧ください。 ここ数か月で多くのお客様と協力しながら、 セキュリティ検出器、プレビューでの Python サポート、メモリプロファイリングを導入し、お客様がコード品質を向上させ、デベロッパーの時間を節約するのを支援しています。また、料金設定や対象言語の範囲など、さまざまな分野に関するご意見もいただきました。こうしたフィードバックに対応し、より簡単に組織内で大規模に Amazon CodeGuru を採用できるようにしました。 本日、CodeGuru Reviewer の 2 つの主要なアップデートを発表いたします。 リポジトリのサイズに基づいて月額料金を低く固定し、最大 90% の値下げとなる、まったく新しい、見積もることが簡単な料金モデルになっています。 Python サポートが一般利用可能 (GA)となりました。推奨範囲が広く、Python 検出器に関連する 4 つの更新が行われています。 CodeGuru Reviewer の新しい予測可能な料金 CodeGuru Reviewer を使用すると、GitHub、GitHub Enterprise、AWS CodeCommit、Bitbucket に保存されているリポジトリのフルスキャンを実行できます。また、プルリクエストを送信するたびに、 CodeGuru Reviewer は新しいコードレビューを開始し、コメントの形式で推奨事項と改善を提案します。 以前の料金体系は、1 か月あたりの分析コード行数 (LoC) に基づいており、100 LoC あたり 0.75 USD […]

Read More

AWS CDKでエンタープライズアプリケーションを開発する

エンタープライズのお客様は、ガバナンスやコンプライアンス・品質管理のために Infrastructure as Code (IaC)を標準化しなければならない場合があります。さらに、IaCのライブラリやそのアップデートを中央集権的に管理しなければならない場合もあるでしょう。それらを実現するため、この記事では AWS Cloud Development Kit (AWS CDK) を利用してIaCのパターンを定義する方法や、AWS CodeArtifactを利用してIaCの更新リリースを統制する方法を紹介します。

Read More

分散型環境における AWS Service Catalog を使用したインフラストラクチャデリバリーの標準化

多くのエンタープライズのお客様では、共通のセキュリティに関するデザインパターンやベストプラクティスとして、マルチアカウント戦略の導入を通じたアプリケーションの分離を行っています。かなりのお客様が、開発 (Dev) 、品質保証 (QA) 、そして実稼働 (Prod) といった開発ライフサイクル (SDLC) の各フェーズに合わせ、環境全体で完全な分離を実現するために、個別の AWS アカウントを作成する手法を選択しています。しかしながら、アカウント作成時点でアプリケーションからの要件が完全に理解できていない場合、必要なインフラストラクチャコンポーネントをプロビジョニングすることが困難になり得ます。加えて、作成されたアカウントが増えるに従い、それらの異なるカウント間でのインフラストラクチャのコンプライアンスと一貫性を実現するための手法を模索しなければなりません。 AWS Service Catalog は、こういった課題に対処するため役立ちます。これにより開発者は、どのような環境においても、インフラストラクチャコンポーネントを、素早く、安全かつ簡単にデプロイできるようになります。次の図は、このワークフローを示しています。ここでは、アプリケーションにおける Dev/QA/Prod 用の各アカウントが、実稼働および非実稼働向けのインフラストラクチャコンポーネントを共有するために、AWS Service Catalog が使用されています。 お客様の多くに、AWS Service Catalog を使用するメリットは「一枚のガラス」を通すようにインフラストラクチャがプロビジョニングできることである、と捉えていただいていますが、実はこれには、製品のデプロイを自動化する機能も備わっています。前出の図にあるワークフローでは、アプリケーションのアカウントで共有している各製品は、それぞれの継続的統合/継続的デリバリー (CI/CD) パイプラインから、直接デプロイすることが可能です。これにより、コードおよびインフラストラクチャの依存関係と、各チームに分散した個別コンポーネントの所有権とを、開発者が固く結びつけることができる環境が提供されます。 このモデルからは、次のように 2 つの主要なメリットが得られます。 中心チームは、承認されたインフラストラクチャのバージョンを定義することで、コンプライアンスと標準化を実施できるようになります。 アプリケーション所有者が、使用すべきインフラストラクチャコンポーネントを自身で選択できる、セルフサービス型の環境が提供されます。 次の図で、このプロセスをさらに詳細に説明しています。ここでは、インフラストラクチャの定義は Shared Services チームにより処理されます。このチームにより、アプリケーションアカウントとの間で共有する、ネットワークやコンピューティングベースのリソースに関するカタログが作成されます。アプリケーションの所有者には、各要件に最も適合するコンポーネントを決定する役割があり、各所有者は複数のバージョンをが共有できます。これらの製品は、アプリケーションの CI/CD プロセスの一環として、AWS CodePipeline などの AWS のサービスを使用してデプロイされます。この、インフラストラクチャのデプロイ手法には、セキュリティ上のメリットもあります。アプリケーションパイプラインのアクセス権限は、基盤となっている AWS のサービスではなく、最小権限を保証しながら AWS Service Catalog ポートフォリオに対し適用されるからです。 AWS Service Catalog アカウントポートフォリオの共有を活用する CI/CD パイプラインの自動構築は、次の GitHub レポジトリから Amazon […]

Read More