Amazon Web Services ブログ

Category: Developer Tools

Perforce Helix Core を AWS 上に構築する (Part2)

イントロダクション 前回の記事では AWS 上で Perforce Helix Core を構築することの利点を説明し、実際の構成パターンと構築における注意点を解説しました。 本記事では、実際に Perforce Helix Core をAWS に構築する手順をご紹介します。手順といっても AWS CloudFormation テンプレートを用意しておりますので、大部分は自動化されています。AWS CloudFormation では、設定をjsonやyamlでファイルに記述するだけでAWS のリソースのプロビジョニングを自動化することができます。 今回作成するサーバー構成の全体像は下図のようになります。AWS Cloudと書かれた中にあるサーバ群を設定します。デフォルトは Perforce の Master Server だけを構築する設定になっていますが、手順の中で Read only の Replica server を設定することも可能です。今回はインターネットから直接アクセスできるPublic Subnetにサーバーを配置していますが、Private Subnetにサーバーを配置して、VPNや AWS Direct Connect を介してオフィスやデータセンタのみからアクセスできる閉域にすることも可能です。 本記事では、まずは Perforce の Master server を構築する手順を見ていきます。次の Part3 の記事で、Replica server の構築手順を紹介します。Replica server の設定では、いくつか手動でコマンドを実行していただく必要があります。 なお、今回構築する Perforce Server への接続には […]

Read More

Amazon DocumentDB (MongoDB 互換) の開始方法 – パート 2 – AWS Cloud9 の使用

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージドのドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 3.6 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上でワークロードを実行、管理、そしてスケールするのに使えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 このシリーズのパート 2 のこの投稿では、 AWS Cloud9 を使用した Amazon DocumentDB の開始方法を示します。最初の手順として、デフォルトの Amazon VPC にAWS Cloud9 環境と Amazon DocumentDB クラスターを作成します。デフォルトの VPC を作成する手順については、Amazon VPC の開始方法をご参照ください。この投稿では、mongo シェルを使用して AWS Cloud9 環境から Amazon DocumentDB クラスターに接続して、いくつかのクエリを実行する方法を示しています。このチュートリアルを完了にかかる費用は 0.30 USD 未満です。AWS リソースを作成する場合、AWS IAM のベストプラクティスに従うことをお勧めします。ローカルマシンで Amazon DocumentDB の使用を開始する方法の詳細については、「Getting started with […]

Read More

Perforce Helix Core を AWS 上に構築する (Part1)

みなさんお元気ですか? 今年からゲーム開発のコンサルティングパートナーや ISV といったテクノロジーバートナーと AWS との連携強化を担当している AWS ソリューションアーキテクトの保里 善太です。 ところでみなさん、Perforce Helix Core はお使いですか? Perforce は高速な同期操作を特徴とする商用のバージョン管理システムであり、主にゲーム業界等の開発現場で多く利用されています(導入企業)。 多くの現場では Perforce はオンプレミスのマシンで稼働していますが、この記事では AWS 上で Perforce を構築することの利点を解説し、実際の構成案と構築方法を紹介します。構築にあたっては AWS CloudFormation テンプレートも用意しています。Perforce の導入にあたっては無料の Perforce Helix Core Studio Pack for AWS というプログラムも用意されてます。 3回に分けてシリーズ化してお送りします。   Perforce Helix Core とは? バージョン管理システム (VCS) の代表的なものとして、Git、Subversion (SVN)、CVS、Mercurial、そして Perforce などがありますが、それぞれには特徴的な性質があります。バージョン管理システムには、大きく分けてソースコード等を中央集権的にマスターサーバで管理する集中型 (Subversion、CVSなど) と各開発者のローカル PC にソースコードを保存し必要な時に共有する分散型 (Git、Mercurialなど) とに大きく分かれます。この中で Perforce Helix Core […]

Read More

[AWS Black Belt Online Seminar] AWS Cloud Development Kit (CDK) 資料及び QA 公開

先日 (2020/03/03) 開催しました AWS Black Belt Online Seminar「AWS Cloud Development Kit (CDK)」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK) AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. CircleCI などの他社製品との親和性はいかがなものでしょうか? A. 特に外部サービスで使うことの制限はなく、実際に使っていらっしゃるお客様もいらっしゃいます。各種デプロイツールのビルドフェーズで cdk synth までを実施し、デプロイフェーズで cdk deploy を実施することで、AWS上に環境をデプロイするといったことが行われています。 Q. ライフサイクルが異なる複数の Stack を連携する場合は、どのようにするのが良いでしょうか? A. Appの中で異なる Stack として定義していただき、参照が必要なオブジェクトをそれぞれの Stack 間で渡すことで、クロススタックリファレンスによるスタック管理が可能です。デプロイする場合は 「cdk deploy スタック名」のコマンドで指定したスタックだけをデプロイできますので、ライフサイクルが異なる場合でも分けて管理ができます。 Q. Stack 作成時のパラメータを、扱うときに、環境変数とコンテキストなどがあると思いますが、どう使い分けるのが良いでしょうか? A. […]

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

JenkinsとAWS CodeBuildおよびAWS CodeDeployとの連携によるCI/CDパイプラインの構築

この記事は、オープンソースの自動化サーバーである Jenkins を用いて、AWS CodeBuild のビルド成果物を AWS CodeDeploy でデプロイし、機能的なCI/CDパイプラインを構築する方法を説明します。適切な設定を行うことで、GitHubリポジトリにプッシュされたソースコードの変更を元にCI/CDパイプラインが起動され、自動的にCodeBuildに送られ、その出力がCodeDeployによってデプロイされることを実現できます。

Read More

AWS Cloud9 が東京リージョンに対応しました

みなさん、こんにちは。アマゾン ウェブ サービス 、プロダクトマーケティング エバンジェリストの亀田です。 AWS Cloud9 が東京リージョンに対応しましたのでお知らせいたします。 AWS Cloud9 AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。これには、コードエディタ、デバッガー、ターミナルが含まれています。Cloud9 には、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されているため、新しいプロジェクトを開始するためにファイルをインストールしたり、開発マシンを設定したりする必要はありません。 マネージド Amazon EC2 インスタンスまたは SSH をサポートする既存の Linux サーバーで実行されるため、ブラウザのみでアプリケーションを作成、実行、デバッグでき、ローカルの IDE をインストールしたりメンテナンスを行う必要はありません。Cloud9 のコードエディタおよび統合されたデバッガーには、コードのヒント、コード補完、ステップスルーデバッグなどの、便利で時間を短縮できる機能が含まれています。Cloud9 ターミナルでは、追加のソフトウェアのインストール、git push の実行、コマンドの入力ができるブラウザベースのシェルエクスペリエンスを利用できます。 ペアプログラミングサポート 開発環境をチームと共有し、ペアプログラミングを一緒に行うことができます。共同作業中にチームメンバーは互いのタイピングをリアルタイムで確認でき、IDE 内から即座にチャットを開始することができます。 サーバーレスアプリケーションとの親和性 サーバーレス開発に必要な SDK、ライブラリ、プラグインのすべてを使用して開発環境が事前設定されます。AWS Lambda 関数をローカルでテストおよびデバッグするための環境を利用することができます。 多くの言語に対応 以下のプログラミング言語に対応しています。 C++ C# CoffeeScript CSS Dart Go Haskell HTML Java JavaScript Node.js PHP Python Ruby […]

Read More