Amazon Web Services ブログ

Category: AWS CodeBuild

CDK Pipelinesのmodern APIを使ってCDKアプリケーションをデプロイする

CDK Pipelines は、AWS CodePipelineによって CDK アプリケーションの継続的なデプロイパイプラインを簡単にセットアップできる高レベルのコンストラクトライブラリです。現在のCDK Pipelinesには従来のoriginalバージョンと、新しいmodernバージョンの2つのAPIセットが含まれています。modernバージョンのAPIはより使いやすく改善されており、今後は推奨されるAPIとなります。originalバージョンのAPIは後方互換性のためまだ利用可能ですが、可能であれば新バージョンへの移行をおすすめします。 originalのAPIと比較して、modernのAPIは、より適切なデフォルト値を持ち、より柔軟性があり、並列デプロイメントをサポートし、複数のシンセサイザー入力をサポートし、CodeBuildプロジェクトのより詳細な制御を可能にし、CodePipeline以外のデプロイメントエンジンをサポートしています。original APIのREADMEと移行ガイドは、GitHub にあります。 この記事ではCDK Pipelinesのmodern APIを使ってデプロイを行う基本的な手順について解説します。CDK Pipelinesの使い方についてはAWS CDK Reference Documentation の @aws-cdk/pipelines module のページに詳しく書いてあるため、そちらも合わせて参照してください。

Read More

AWS App Mesh を使用した Amazon ECS でのカナリアデプロイパイプラインの作成

この記事は Create a pipeline with canary deployments for Amazon ECS using AWS App Mesh を翻訳したものです。 この記事では Amazon Elastic Container Service (Amazon ECS) で実行されるアプリケーションのカナリアデプロイ戦略を、AWS App Meshと組み合わせて実装する方法を説明します。ALB の加重ターゲットグループを使用した AWS CodeDeploy でのカナリアデプロイを行う場合はこちらの記事を参照してください。

Read More

AWS CodeBuild が大阪リージョンでご利用いただけるようになりました。

みなさん、こんにちは。アマゾン ウェブ サービス ジャパン、シニアエバンジェリストの亀田です。 AWS CodeBuild が大阪リージョンでご利用いただけるようになりましたのでお知らせいたします。 AWS CodeBuild CodeBuild はAWS Codeサービスファミリーの一つであり、ソースコードをコンパイルし、テストを実行し、デプロイ可能なソフトウェアパッケージを作成できる完全マネージド型のビルドサービスです。大阪リージョンでは、すでにプライベート Git リポジトリをホストする AWS CodeCommit 、オンプレミスを含めたさまざまなコンピューティングサービスへのソフトウェアのデプロイを自動化する AWS CodeDeploy 、がご利用可能でしたが、新しいラインナップが加わったことになります。

Read More

GitHub モノレポを AWS CodePipeline と統合して、プロジェクト固有の CI/CD パイプラインを実行する

(この記事は、Integrate GitHub monorepo with AWS CodePipeline to run project-specific CI/CD pipelines を翻訳したものです。) AWS CodePipeline は、ソフトウェアのリリースに必要なステップをモデル化、可視化、自動化できる継続的デリバリーサービスです。AWS CodePipeline を使用して、コードを構築し、稼働前の環境にデプロイし、アプリケーションをテストし、実稼働環境にリリースするまでの完全なリリースプロセスをモデル化できます。AWS CodePipeline は、コードが変更されるたびに定義されるワークフローに従って、アプリケーションを構築、テスト、デプロイします。多くの組織が GitHub をソースコードリポジトリとして使用しています。組織によっては、1 つの GitHub リポジトリに複数のアプリケーションまたはサービスをフォルダで分割して格納することを選択しています。リポジトリ内のソースコードをこのように整理する方法は、モノレポと呼ばれます。 この記事では、AWS Lambda で GitHub イベントペイロード(訳者注:GitHub 上でのアクティビティを元にトリガーされるイベント情報。詳細は GitHub イベントのドキュメントをご確認ください。)を読み取り、サービス固有のパイプラインを実行するようにカスタマイズする方法を示します。

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 Service Catalog を使用しての、Amazon ECS 継続的デリバリー用の自動設計図の共有

この記事は、AWS Dev Tech のスペシャリスト SA である Mahmoud ElZayet が執筆しました  現代的なアプリケーション開発プロセスは、各組織がスピードや品質を継続的に向上することを可能にしています。このような革新的なカルチャーにおいては、小型の自律的なチームに、アプリケーションの全ライフサイクルがゆだねられます。ただ、こういった敏速かつ自律的なチームは、製品デリバリーを加速する一方で、コンプライアンスや品質保証、およびコードデプロイのためのインフラストラクチャに対するコストを生じさせます。 標準化したツールやアプリケーションリリース用コードを用いることで、チーム間でベストプラクティスを共有でき、冗長的なコードを削減し、オンボーディングを加速し、一貫性のあるガバナンスを作り上げながらリソースのオーバープロビジョニングを減らせます。   概要 今回の記事では、標準化され自動化されたデプロイ設計図を、AWS Service Catalog を使用して提供する方法をご紹介していきます。これは、製品チームによる Amazon ECS でのアプリケーションリリースワークフローの改善と迅速化に役立ちます。ここでの手順を実施していただくと、お客様の製品チームが ECS 上でコンテナ化されたアプリケーションをリリースするために使用できる、サンプル設計図が作成できます。この設計図のコンセプトは、サーバーレスや Amazon EC2 をベースとするデプロイなど、他のテクノロジーにも適用が可能です。 本稿で提供するサンプルテンプレートやスクリプトはデモ用に用意したものなので、実稼働環境でそのまま使用するには適しません。これらのリソースになじんだ後で、手元にあるツールや、チームのスキル、そして適用すべき規格や規制をすべて考慮しながら、実稼働環境向けにカスタマイズしたバージョンを作成してください。   前提条件 ここでのソリューションには、次に挙げる各リソースが必要です。 AWS アカウント での管理者アクセス権限 AWS CLI   サンプルシナリオ Example Corp という企業では、アプリケーションやサービスを AWS 上で開発するために、いくつかの製品チームを抱えています。同社内の各チームは、ECS 上の AWS Fargate で管理するコンテナ化したアプリケーションのデプロイに関心を示しています。ここでは、Example Corp. における主幹ツール管理チームとして、各チームが Fargate で迅速にアプリケーションをリリースできることを目指します。さらに、すべてのベストプラクティスやガバナンス要件を、各チームが準拠することも保証していきます。 事情を単純にするために、製品チームはすでに構成済みであり、サービスのデプロイ用に AWS のアカウントを共有しながら、同じドメイン、アプリケーション、もしくはプロジェクトで作業をしていると想定します。この 1 つのアカウントを通じ、チーム全体が同じ ECS […]

Read More

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

先日 (2020/11/25) 開催しました AWS Black Belt Online Seminar「AWS CodeBuild」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20201125 AWS Black Belt Online Seminar AWS CodeBuild AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. プロキシサーバが必要なのはどんなケースでしょうか? A. システム要件によりプロキシサーバを経由する必要がある場合にご利用ください。 例:オンプレミス上のプロキシサーバを経由する必要がある、アクセスログを残す必要があるなど。 Q. テストレポートは、CodeBuildの実行履歴からたどれるのでしょうか A. テストレポートは以下よりご確認いただけます。 ビルド履歴のレポートタブ レポートグループおよびレポート履歴 Q. phasesでプロセスを分けるメリットは何でしょうか? A. 任意のフェーズに全ての処理を記述することも可能ですが、フェーズを分けることでビルド仕様の可読性が上がる、フェーズ毎に run-as で実行ユーザを変更できる、フェーズ毎に通知を受け取れるなどがあるかと思います。 Q. CodeBuildを使ったテスト方法を知りたいです。 A. AWS CodeBuild のドキュメントにいくつか例がございます。こちらをご参照ください。 Q. AWS CodeBuild に Heroku/GitLab「アプリの確認」に似た機能はありますか?そうでない場合、AWS サービスの組み合わせによる同様の機能はありますか? A. 同様の機能はございませんが、ソースリポジトリへのプルリクエストをトリガーに、確認用環境構築を自動化する仕組みを作成することで同様のことは可能かと思います。確認用環境のリソース作成には AWS CloudFormation 、デプロイには […]

Read More
CDK

CDK Pipelines: AWS CDK アプリケーションの継続的デリバリ

AWS Cloud Development Kit(AWS CDK)は、使い慣れたプログラミング言語でクラウドインフラストラクチャを定義し、AWS CloudFormation を通じてプロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。AWS CDK は、次の 3 つの主要なコンポーネントで構成されています。 再利用可能なインフラストラクチャ・コンポーネントをモデリングするためのコアフレームワーク CDK アプリケーションをデプロイするための CLI AWS Construct Library(クラウドリソースを抽象化し、実績のあるデフォルト値をカプセル化する高レベルのコンポーネントのセット) CDK を使用すると、cdk deploy を実行するだけで、ワークステーションから AWS クラウドにアプリケーションを簡単にデプロイできます。これは、初期開発およびテストを行う場合に最適ですが、本番ワークロードをデプロイするためには、より信頼性の高い自動化されたパイプラインを使用する必要があります。 CDKアプリケーションを継続的にデプロイするために、お好みのCI/CDシステムを利用することが可能ですが、より簡単で、かつすぐに利用可能な方法をお客様はご要望でした。これはCDKの中核的な理念に適合します。つまりクラウドアプリケーションの開発を可能な限り簡素化して、お客様が関心のある部分に集中することです。 CDK Pipelines の開発者プレビューリリースをお知らせします。CDK Pipelines は、AWS CodePipeline によって CDK アプリケーションの継続的なデプロイパイプラインを簡単にセットアップできる高レベルのコンストラクトライブラリです。この投稿では、CDK Pipelines を使用して、AWS Lambda と連携した Amazon API Gateway エンドポイントを 2 つの異なるアカウントにデプロイする方法について説明します。

Read More

AWS Systems Manager を使用したソフトウェアのパッチ適用

世界中の企業でクラウドコンピューティングの導入が急速に増加しており、クラウドジャーニー(クラウド活用を進める過程)の中で、さまざまな移行パターンが選ばれています。モノリシックなレガシーアプリケーションをそのまま使用してクラウドに移行することは「リフト・アンド・シフト」とも呼ばれるアプローチであり、クラウド移行の有力な手法の1つです。一方で、お客様が移行パターンについての知識を深めるにつれ、クラウドネイティブツールを最大限に活用できるようにリフト・アンド・シフト方式を最適化する必要があります。

Read More

AWS Chatbot を利用して AWS 開発者用ツールの通知を Slack で受け取る方法

本投稿は Sr. Product Manager の Anushri Anwekar による AWS DevOps Blog への投稿を翻訳したものです。 開発者は多くの場合、Slack 上でコードについての議論を行います。AWS Chatbot を使用すると、リポジトリ、ビルドプロジェクト、デプロイアプリケーション、パイプラインといった開発者用ツールの通知を設定し、重要なイベントを自動的に Slack へ通知することができます。デプロイに失敗した時、ビルドが成功した時、プルリクエストが作成された時などに、開発者はもっとも気付きやすい形で通知を受け取ることができます。 2020年1月時点で通知がサポートされている AWS のサービスは以下の通りです (訳注: Developer Tools 以外も含めた、サポートされる全てのサービスの一覧は こちら をご覧ください)。 AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline この記事では、CodeCommit のリポジトリでプルリクエストが作成された際に Slack へ通知するまでの手順を説明します。

Read More