Amazon Web Services ブログ

Category: AWS CodeCommit

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

[AWS Black Belt Online Seminar] AWS CodeCommit & AWS CodeArtifact 資料及び QA 公開

先日 (2020/10/20) 開催しました AWS Black Belt Online Seminar「AWS CodeCommit & AWS CodeArtifact」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20201020 AWS Black Belt Online Seminar AWS CodeCommit & AWS CodeArtifact AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. CodeCommit との通信で「インターネットを介さず通信したい」という要求があった場合、AWS サービスを使って実現する例がありましたらご指示お願いいたします。想像ですが通信を AW Direct Connect で専用線を引く・・・など A. AWS CodeCommit の VPC エンドポイントとRoute 53 Resolver インバウンドエンドポイントをご利用いただくことで、AWS Direct Connect, AWS Site to Site VPN、AWS Client VPN 経由で AWS […]

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 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

モダンアプリケーション開発ホワイトペーパー(日本語改定版)が公開されました

皆さん、こんにちは! モダンアプリケーション開発スペシャリスト ソリューションアーキテクトの福井です。 私が執筆したモダンアプリケーション開発のホワイトペーパー(日本語版)がAWSホワイトペーパーサイトで公開されましたので、その内容を紹介させて頂きます。このホワイトペーパーは、以前こちらのブログで紹介させて頂いたModern Application Development on AWS(英語版)の日本語版になります。   ホワイトペーパーの内容 公開されたホワイトペーパードキュメントは、「AWS モダンアプリケーション開発 – AWS におけるクラウドネイティブ モダンアプリケーション開発と設計パターン」(日本語版)というタイトルの51ページのドキュメントで、 はじめに モダンアプリケーション開発 モダンアプリケーションの設計パターン AWSでのCI/CD まとめ の各章から構成されています。各章の簡単なご紹介は下記の通りです。

Read More

新しいサーバーレスアプリ作成機能で CI/CD も作成した、その後…

本記事は「新しいサーバーレスアプリ作成機能で CI/CD も作れます」のその後のステップとして記述しています。まだその記事を見ていない方は、まずはそちらをご覧ください。以下は、その機能で、テンプレートとして Serverlerss API backend を選択し、プロジェクトリポジトリとして CodeCommit を作成された結果を元に説明しています。CI/CD や CodeCommit をよくご存知の方は読み飛ばしていただいて構いません。 実行テスト 作成されたアプリケーションは、何も変更しなくてもすでに実行できる状態にあります。 例えば、ターミナルなどから以下のコマンドを実行してみてください(なお、下記のように日本語を含むデータで実行する場合は、ターミナルの文字コード設定が UTF-8 であることを確認ください)。 curl -d ‘{“id”:”001″,”name”:”テスト”}’ -H “Content-Type:application/json” -X POST https://<<API EndPoint>> DynamoDBのコンソールをみると、新しいデータが登録されることがわかります。もちろん、好みの REST API テストツール(ブラウザプラグインなど)を使っても構いません。 構成の確認 生成されたアプリケーションで、API 定義、Lambda 関数がどのように定義されているかを見るのは、サーバーレスを始めたばかりの開発者には参考になるかと思います。例えば、API Gateway の構成を見てみると、以下のように設定されていることがわかります。 名称で想像できる通り、3つの関数は、全件検索、データの書き込み、特定 ID のデータの取得のための処理であり、それらが対応する API に紐づけられています。この 3つの処理はよく使われる典型的なものですので、そのコードは、多くの処理で参考になるでしょう。 コードの編集 テンプレートベースのサーバーレスアプリ作成機能で設定された Lambda 関数がどういうものか、コンソールから確認してみましょう。作成したサーバーレスアプリケーションへ Lambda コンソールからアクセスし、その中のリソースのセクションを見ると Lambda Function タイプのものが作成されていることがわかります。 ここにあるリンクをクリックすれば、それぞれの Lambda 関数の画面に飛びますが、そのコードは表示されず、「インラインコード編集を有効にできません」と表示される場合があります。生成されたコードはどこにあるのでしょう? もう一度、Lambda […]

Read More

新しいサーバーレスアプリ作成機能で CI/CD も作れます

AWS Lambda のマネジメントコンソールに新しい「サーバーレスアプリケーションの作成」機能が追加されていることにお気付きですか? サーバーレス環境である Lambda ではすぐに処理実行環境が利用可能になり、Webのコンソールからロジックを実装するだけで容易にちょっとした処理を開発できます。一方で、この次のステップとして、 Lambda 関数だけでなく、アプリケーションとしての開発や管理ができていない 環境の再現(開発環境からステージングや本番環境へ)、デプロイの継続実行(CI/CD)の環境が整備できずに、Webコンソール上でいまだにコード変更している という話を聞くことがあります。実際には、デプロイ/環境設定のコード化(Infrastructure as Code: IaC)には AWS CloudFormation や Serverless Application Model(SAM)などがあり、CI/CD には CODEシリーズなどがあるのですが、サーバーレス開発を始めたばかりだと、そこへの次の一歩に二の足を踏まれているケースを見かけることがあります。 そんな方に向けた機能が、新しい「サーバーレスアプリケーションの作成」機能です。これを使うと、特定ユースケースのアプリケーションをテンプレートベースでひとまとめに作成し、CI/CD パイプラインまで一気に構築してくれます。 簡単に、この機能の利用ステップを紹介します。

Read More

.NET Frameworkのためのカスタムビルド環境でAWS CodeBuildを拡張する

.NET Framework用のカスタムCodeBuildビルド環境の作成方法について説明している、この素晴らしいブログを書いたMicrosoftプラットフォーム担当シニア・ソリューション・アーキテクト、Greg Eppelに感謝します。 — AWS CodeBuildは、ソースコードをコンパイルし、テストを実行し、展開可能なソフトウェアパッケージを生成する、フルマネージドなビルドサービスです。 CodeBuildは、Android、Go、Java、Node.js、PHP、Python、Ruby、Dockerなどのプログラミング言語とランタイムのためのビルド環境を提供します。 CodeBuildは、Microsoft Windows Serverプラットフォーム用のビルドもサポートしています。これには、Windows上の.NET Core用にあらかじめパッケージ化されたビルド環境も含まれます。アプリケーションで.NET Frameworkが使用されている場合は、独自のDockerイメージを使用して、Microsoftの.NET Frameworkクラスライブラリを含むカスタムビルド環境を作成する必要があります。この手順が必要な理由については、よくある質問を参照してください。この記事では、.NET Frameworkアプリケーション用のカスタムビルド環境を作成し、この環境を使用するようにCodeBuildを設定する手順を説明します。

Read More

AWS OpsWorks for Chef Automate におけるクックブックの継続的なテストとデリバリー

Chef サーバは、テスト済みの信頼できるクックブックを対象ノードの run list に簡単に追加できるハブであるべきです。しかしながら、クックブックのテストを実行し、Chef サーバへ配信する作業は手間のかかるタスクです。このプロセスをシンプルかつ迅速にするために、私たちは AWS の技術を活用してテストの実行と Chef サーバへのクックブックの配信を統合したパイプラインを構築しました。これによりクックブック開発の定型的ながらも重要な部分を自動化できます。

Read More

AWS Developer Toolsを使用したサーバレスなAWS Glue ETLアプリケーションの継続的インテグレーションとデリバリの実装

大規模なデータおよびデータレイクのワークロード用にサーバーレスETL(抽出、変換およびロード)アプリケーションを開発するためにAWS Glueはますます普及しています。 ETLアプリケーションをクラウドベースのサーバーレスETLアーキテクチャに変換する組織は、ソースコードからビルド、デプロイ、プロダクトデリバリまで、シームレスでエンドツーエンドの継続的なインテグレーションおよび継続的なデリバリ(CI / CD)パイプラインが必要です。優れたCI / CDパイプラインを持つことで、組織はプロダクションリリース前にバグを発見し、より頻繁にアップデートを提供することができます。また、開発者が高品質のコードを書いたり、ETLのジョブリリース管理プロセスを自動化したり、リスクを軽減したりするのに役立ちます。 AWS Glueは、フルマネージドのデータカタログとETLのサービスです。これは、データの発見、変換、およびジョブスケジューリングなどの困難で時間のかかる作業を簡素化し自動化します。 AWS Glueは、データソースをクロールし、CSV、Apache Parquet、JSONなどの一般的なデータフォーマットとデータタイプ用に事前に作成された分類子を使用してデータカタログを構築します。 AWS Glueを使用してETLアプリケーションを開発する場合、CI / CDの次のような課題に直面する場合があります。 ユニットテストによる繰り返しの開発 継続的なインテグレーションとビルド ETLパイプラインをテスト環境にプッシュする ETLパイプラインをプロダクション環境にプッシュする 実データを使用したETLアプリケーションのテスト(live test) データの調査と検証 この記事では、AWS Developer Tools(AWS CodePipeline、AWS CodeCommit、AWS CodeBuildなど)とAWS CloudFormationがサポートするサーバーレスAWS Glue ETLアプリケーションのCI / CDパイプラインを実装するソリューションを紹介します。 ソリューションの概要 次の図は、ワークフローのパイプラインを示しています。 このソリューションでは、AWS CodePipelineを使用して、ETLアプリケーションのソースコードのテストおよびステージへのデプロイを制御および自動化することができます。 このソリューションは、以下のステージを含むパイプラインで構成されています。 1.)Source Control:このステージでは、デプロイするETLジョブのAWS Glue ETLジョブソースコードとAWS CloudFormationテンプレートファイルの両方がバージョン管理にコミットされます。 バージョン管理にAWS CodeCommitを使用することにしました。 ETLジョブソースコードとAWS CloudFormationテンプレートを取得するには、gluedemoetl.zipファイルをダウンロードします。 このソリューションは、以前の記事、AWS Glue と Amazon S3 を使用してデータレイクの基礎を構築するに基づいて開発されました。 2.)LiveTest:このステージでは、AWS […]

Read More