AWSで実践! 基盤構築・デプロイ自動化
【連載】

AWSで実践! 基盤構築・デプロイ自動化

継続的インテグレーション環境の構築(3)

【第42回】継続的インテグレーション環境の構築(3)

前回は、CloudFormationのカスタムリソースを使ってRDS構築後のデータベースにユーザーを追加する処理をLambdaファンクションとして実装し、S3バケットへアップロードしました。続く今回は、LambdaをデプロイするCloudFormationや前回実装したファンクションを実行するカスタムリソーステンプレートを作成します。

開発ソフトウェア
ブックマーク ブックマーク

目次

【連載】AWSで実践! 基盤構築・デプロイ自動化[41]継続的インテグレーション環境の構築(2)

前回は、SonarQubeServerのベース環境となるAWSリソース(VPC、セキュリティグループ、ALB、ECSクラスタ)の実装とRDS環境を作成しました。続く今回は、CloudFormationのカスタムリソースを使って、RDS構築後のデータベースにユーザーを追加するLambdaファンクションを実装します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[40]継続的インテグレーション環境の構築(1)

本連載では、AWSリソース基盤構築の自動化を実践しています。今回からは数回に渡り、第2回から複数回に渡って解説してきたCI(Continuous integration:継続的インテグレーション)環境をCloudFormationを使って自動構築していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[39]ECSサービスの構築

今回は、CloudFormationテンプレートを使ってECSサービスを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[38]ECSタスクロール定義の構築

前回は、ECSタスク定義を行うCloudFormationテンプレートを実装しました。今回はタスク定義したコンテナで実行されるアプリケーションが使用するAWSリソースへのアクセスポリシーを定義し、前回作成したECSタスクのIAMロールへアタッチするCloudFormationテンプレートを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[37]ECSタスク定義の構築

今回はECSタスク定義を行うCloudFormationテンプレートを作成し、実行していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[36]ECSクラスタの構築

今回からは実装したアプリケーションを実行するためのECSクラスタ、タスク定義、サービスと、順次CloudFormationテンプレートを作成して実行していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[35]Frontend Webアプリケーションにおけるスタック情報の取得/設定

今回は、ALB/ElastiCache/S3といったリソースへのアクセスやSQSへのキュー送信を行うFrontend Webアプリケーションで、Spring Cloud AWSを用いて取得したスタック情報を使ったアプリケーションの設定/実装を紹介します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[34]Backend Serviceアプリケーションにおけるスタック情報の取得/設定

前回は、テンプレートの親となるネストテンプレートを作成し、複数のテンプレートに定義したリソースを一括構築しました。続く今回は、作成したスタックの情報をSpring Cloud AWSを用いてアプリケーションから参照する実装を紹介します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[33]NestedStackを使ったネストテンプレートの作成

前回は、S3およびSQSを構築するテンプレートを実装しました。続く今回は、これまで実装してきたテンプレートの親となるネストテンプレートを作成する方法を紹介します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[32]SQS/S3の構築

前回は、ElastiCacheを構築するテンプレートを実装しました。続く今回は、S3およびSQSを構築するテンプレートを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[31]ElastiCache構築自動化テンプレート

前回は、DynamoDBを構築するテンプレートを実装しました。続く今回は、ElastiCacheを構築するテンプレートを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[30]DynamoDB構築自動化テンプート

前回は、バックエンドサブネットからのアクセスを想定したRDS(RelationalDatabaseService)を構築するCLoudFormationテンプレートを実装しました。続く今回は、DynamoDBを構築するテンプレートを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[29]RDS構築自動化テンプレート

今回は、バックエンドサブネットからのアクセスを想定したRDS(RelationalDatabaseService)を構築するCLoudFormationテンプレートを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[28]ApplicationLoadBalancer構築自動化テンプレート

今回は、Frontend/Backendサブネットに配置するアプリケーションロードバランサー(ALB)を構築するCloudFormationテンレプートを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[27]SecurityGroup/NATGateway構築自動化テンプレート

今回は、作成した各パブリック/プライベートサブネットをFrontend/Backendサブネットに位置付け、各AWSリソースへ設定するセキュリティグループ、FrontendサブネットにアタッチするNATGatewayを構築するテンプレートを実装します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[26]VPC/Subnet/RouteTable/InternetGateway構築自動化テンプレート

前回は、AWSが提供するオープンソースツール「taskcat」を使って、作成したテンプレートをテストする環境を構築し、結果を出力する方法を解説しました。今回からは、実際にテンプレートを実装していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[25]CloudFormationテスト環境の構築

今回は、AWSから提供されているマルチリージョンで複数のテンプレートのテストを同時に実行できるオープンソースツール「taskcat」を使って、作成したテンプレートをテストする環境を構築し、結果を出力する方法の解説を進めていきます。

クラウド

【連載】AWSで実践! 基盤構築・デプロイ自動化[24]テンプレート記述の基本と実行ヘルパースクリプトの作成

今回は、CloudFormationの簡単なサンプルを作成し、テンプレート記述の基本を解説した上で、実行するためのヘルパースクリプトや実行エラーの確認方法などについて説明します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[23]各種検証プラグインインストールと統合開発環境の設定

前回は、CloudFormationでのテンプレート作成を効率化するための環境構築のポイントやCLI(Command Line Interface)のインストール方法を概説しました。続く今回は、テンプレートのコード補完/文法チェックなどを実行する検証プラグインのインストールや、統合開発環境「IntelliJ IDEA」の設定について説明します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[22]AWS CLIの実行環境/AWS認証情報の設定

前回は、CloudFormationの概要やテンプレート記述の要領のほか、さまざまな機能について概説しました。今回からは、実際にCloudFormationテンプレートを作成していく上で必要な開発環境を構築していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[21]AWS CloudFormationを使用した基盤自動化

今回からはこれまで解説してきた構築作業をコード化して構築する(IaC:Infrastructure As Code)ことができるCloudFormationを使った基盤自動化について解説していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[20]パイプラインの構築(その8)

前回は、プロダクション環境向けのアプリケーションのコンテナイメージをビルドしてDockerHubへプッシュするパイプラインを構築しました。今回は、そのコンテナをプロダクション環境へデプロイするパイプラインを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[19]パイプラインの構築(その7)

前回は、ステージング環境で後続の性能テスト、セキュリティテスト、受入テストを実行した後、プロダクション環境リリースを承認するパイプラインを構築しました。続く今回は、リリースするアプリケーションのコンテナイメージをビルドして、DockerHubへプッシュするパイプラインを作成します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[18]パイプラインの構築(その6)

今回は、AmazonSNSへのトピックの作成とパイプラインの一時停止を行い、ステージング環境で後続の性能テスト、セキュリティテスト、受入テストを実行した後、プロダクション環境へのリリースを承認するパイプラインを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[17]パイプラインの構築(その5)

今回は、前回イメージをビルドしてDockerHubへプッシュしたコンテナをステージング環境へデプロイするパイプラインを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[16]パイプラインの構築(その4)

今回は、E2Eテストが完了したWeb(BEF:BackendForFrontend)アプリケーションのコンテナイメージをビルドして、DockerHubへプッシュするパイプラインを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[15]パイプラインの構築(その3)

前回は、ECSクラスタ上にバックエンドのマイクロサービスアプリケーションのコンテナイメージをデプロイするパイプラインを構築しました。続く今回は、本連載の第9回で実装したE2Eテストを実行するパイプラインを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[14]パイプラインの構築(その2)

前回は、バックエンドのマイクロサービスアプリケーションをビルドし、DockerHubへプッシュするパイプライン処理を構築しました。今回は、プッシュしたコンテナイメージをECSクラスタ上にデプロイするパイプラインを構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[13]パイプラインの構築(その1)

今回は、GitHub上のアプリケーションソースコードのdevelopブランチへのプルリクエストを契機に、GitHubからCodePipelineへのWebhookにより、バックエンドのマイクロサービスアプリケーションをビルドし、DockerHubへプッシュするパイプライン処理を構築していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[12]AWS CodePipeLineを用いた継続的デリバリ

今回からは数回にわたり、一連の処理をAWS CodePipelineを使ってパイプライン的に自動化する仕組みを構築/解説していきます。まず今回はCodePipelineの概要と、リリースまでのパイプライン構成、実行環境構成イメージについて解説しましょう。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[11]AWS CodeBuildを用いた継続的インテグレーション自動化(その2)

今回は、AWS CodeBuildを設定し、GitHubへのプッシュやプルリクエストに対して、CodeBuildを実行するよう設定します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[10]AWS CodeBuildを用いた継続的インテグレーション自動化(その1)

本連載では、「CodeBuild」「SonarQube」を使ったCI環境を実際に構築しています。今回は、アプリケーションのソースコードやテストコードに対し、AWS CodeBuildを使ってビルド/テストを行った後、カバレッジなどのソースコードメトリクスをスキャンした結果をSonarQuberServerへ連携する環境を構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[9]マイクロサービスを呼び出す側の単体テスト - EndToEndテスト(後編)

前回は、マイクロサービスを呼び出す側のWebアプリケーションにおけるRepositoryやServiceの単体テストについて説明しました。今回は引き続き、HTMLUnitを使用したControllerの単体テスト、Seleniumを使用したEndToEndテストについて説明します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[8]マイクロサービスを呼び出す側の単体テスト - EndToEndテスト(前編)

前回までに、マイクロサービスの単体/結合テストコードや効率的なテスト戦略のポイントなどについて解説しました。今回からは、マイクロサービスを呼び出す側のWebアプリケーションにおける単体テストと、マイクロサービスを含めたEndToEndテストを実装する際のポイントや戦略を説明していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[7]マイクロサービスにおける結合テスト

前回は、マイクロサービス(Backend)の単体テストの実装例や検証観点、テスト戦略のポイントを説明しました。今回は、バックエンドで実行されるマイクロサービスの結合テストを進めていきましょう。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[6]マイクロサービスにおける単体テスト(後編)

前回は、Repositoryのテストコードを実装しました。今回はService、Controllerについて解説していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[5]マイクロサービスにおける単体テスト(前編)

前回は、マイクロサービス(Backend)やそれを呼び出すWebアプリケーション(BFF:BackendForFrontend)のパッケージ/コンポーネント構成を示し、テスト観点を例示しました。今回からは、テストを実装する際のポイントやテスト戦略を説明していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[4]マイクロサービスにおけるテスト自動化とテスト戦略

開発のスピードと品質を両立するには、テスト計画やスコープ、検証の観点を明示的に定めておくことが重要です。以降では、どのようなテスト戦略の下で、どんなテストを実施すべきか、SpringBootを使ったアプリケーションテスト実装を通して実践していきます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[3]静的チェックルールの定義とIDEへの設定

前回は、ECSクラスタ上に「SonarQubeServer」を構築しました。今回は、プロジェクトを作成し、QualityProfileで静的チェックルールを定義して、開発端末のIDEに設定してみます。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[2]SonarQubeServerの構築

今回は、Amazon RDS、アプリケーションロードバランサ(ALB)を設定して、ECSクラスタ上にオープンソースの静的解析ツールである「SonarQubeServer」をECSコンテナとして構築します。

開発ソフトウェア

【連載】AWSで実践! 基盤構築・デプロイ自動化[1]マイクロサービスの基盤構築/デプロイ自動化

本連載では、連載「ソフトウェア開発自動化入門」の第4回「基盤・デプロイ自動化」で紹介したマイクロサービスアーキテクチャアプリケーションの基盤構築自動化とCI/CD自動化の例にならって、それらを実際に構築していきます。第1回となる今回は、マイクロサービスにおけるアプリケーション構成のポイントを説明します。

開発ソフトウェア

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
AWSではじめる機械学習 ~サービスを知り、実装を学ぶ~
対話システムをつくろう! Python超入門
Kubernetes入門
SAFeでつくる「DXに強い組織」~企業の課題を解決する13のアプローチ~
PowerShell Core入門
AWSで作るマイクロサービス
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る