社員ブログ

TerraformでEC2を作成し、Java 17とPostgreSQL 15を自動導入してみた

MAXIMUM が に投稿

タグ

以前、AWSコンソールからEC2を作成し、Java 17とPostgreSQL 15を手動で導入しました。

今回はTerraformを使用して、EC2の作成からソフトウェアのインストール、削除までを自動化します。

TerraformとはAWSなどのインフラ構築自動化ツールで、IaCという略称で呼ばれたりもします。

関連記事:

AWS EC2にJava 17とPostgreSQL 15を導入してみた

MAXIMUM が に投稿

タグ

0. 前提・目標

今回は、前回に引き続きAWS自体の勉強としてJavaとPostgresの実装をしてみます。

前回と今回分の設定値は次回記事でテラフォームに纏める予定です。

JavaアプリケーションをEC2に配置して動かすための環境構築が目的です。

OSはAmazon Linux 2023を使用します。

1. Java 17とPostgreSQL 15をインストール

EC2にSSH接続し、下記のコマンドを実行します。

AWS EC2インスタンスを作成・削除してみた

MAXIMUM が に投稿

タグ

0. 前提・目標

今回は、AWSのEC2を使用して仮想サーバーを作成する手順を紹介します。

前回まではテラフォームで構築していましたが、先ずはAWS勉強のために敢えてGUI設定し、後にテラフォームで自動化します。

1. AWSへログイン

まず、AWSマネジメントコンソールにログインします。

画面右上のリージョンを「アジアパシフィック(東京)」に設定します。

続いて、サービス検索から「EC2」を選択します。

TerraformでVPCを作成・削除してみた

MAXIMUM が に投稿

タグ

Terraformを使ってAWSのVPCとサブネットを作成し、削除まで一連の流れを試してみましたので、やり方を後から追えるように記事として残します。

0. 前提

今回の操作では、AWSとTerraformを使用します。 環境設定方法は前回記事を参照してください。

1. Terraformの設定ファイルを作成

main.tfには、AWS ProviderとVPC、サブネットを定義しました。

TerraformでS3バケットを作成・変更・削除してみた

MAXIMUM が に投稿

Terraformを使ってAWSのS3バケットを作成し、設定変更から削除まで一連の流れを試してみましたので、やり方を後から追えるようにコマンドなどを記事として残します。

0. 前提

今回の操作では、TerraformとAWS CLIを使用します。

事前にそれぞれインストールしておきます。

社内システムのマイクロサービス化について考えてみた

MAXIMUM が に投稿

1. はじめに

最近、マイクロサービスという言葉をよく見かけます。

マイクロサービスとは、従来だと単一でシステム化していた業務を区分ごとに小さなサービスに分割する考え方の枠組みです。

社内システムのアーキテクチャに組み込んで再設計してみても面白いと思ったので調べてみました。

2. モノリスとマイクロサービス

従来型の複数機能を単一アプリケーションにまとめた構成を『モノリス』と呼びます。

例えば、ファイルを共有するシステムがあるとします。

このシステムには下記のような機能があります。

テラフォームでAWS基盤設定を自動化出来ないかを考えてみた

MAXIMUM が に投稿

タグ

1. はじめに

従来通り、AWS構築作業を手順書通りに手打ち…だと面倒なのとミスが出るリスクがある為、これを自動化したい。

IaCと呼ばれる手法があり、その中でも代表的なツールにテラフォームがある。このテラフォームはAWSのみではなく、他環境でも流用可能なため今回軽く触れてみた。

2. 初めて見る拡張子たち

よくあるコマンド手打ちを自動化する.shという拡張子があるが、これと合わせて.tfなどのテラフォーム用の拡張子がある。

とりあえず何者なのかを整理してみた。

【第6回・最終回】DrupalカスタムモジュールのPHPUnitテストについて

MAXIMUM が に投稿

タグ

1. 目的

前回では、.installファイルを使用してテーブルを作成する方法について確認しました。

今回は最終回として、カスタムモジュールの処理をPHPUnitテストというもので試験してみます。

2. PHPUnitテストの利点

PHPUnitテストを使えば、単体試験をソースコード化することで自動化および再試験の簡略化が出来ます。

Drupalだと固有のUnitTestCaseを継承してテストクラスを作成できます。

final class Issue5MailTest extends UnitTestCase {

今回は、イベントの出欠回答時に通知送信するメールを例にします。

【第5回】Drupalカスタムモジュールの固有ファイル『.install』について

MAXIMUM が に投稿

タグ

1. 目的

前回では、フォームから入力された内容をDBに保存するところまで追いました。

その際に保存先のテーブルは作成済みとしていましたが、今回はそのテーブルをDrupalでどのように作成しているかを確認していきます。

今回作成するのは.installファイルになります。

2. .installとは

まず.installってなんなのかですが、Drupalのカスタムモジュールでインストールや更新時の処理を書くためのDrupal固有のファイルです。

拡張子は.installですが、中身はPHPで書きます。

PHP自体に.installという仕組みがあるわけではなく、Drupal側がこのファイルをPHPとして読み込んでいます。

【第4回】Drupalカスタムモジュールで入力内容をDB保存する

MAXIMUM が に投稿

タグ

1. 目的

前回でフォームを作成しました。しかし、入力内容がどのような流れでDBに保存されていくかを追えてなかったので、今回はそれを追って行こうかと思います。

前提として、フォームと保存先のテーブルは作成済みとします。テーブルの作成方法については次回の記事で取り扱います。※.install使用

2. フォームからの入力データ

前回にシステムの入り口として用意したフォームから出欠するしないというデータが送られてきます。もちろん各ユーザが入力します。

仮に出席しますといったデータが流れてきた場合は、出席扱いで名前などとセットでINSERTされます。