Technology

このページでは、今回制作したポートフォリオサイトで使った技術やシステム、 Linuxコマンドなどをまとめています。

IT Journey

Frontend

HTML / CSS / JavaScript

AWS / Cloud Services

EC2

Amazon EC2上にLinuxサーバーを構築し、このポートフォリオサイトを公開しています。 WebサーバーにはNginxを使用しています。

Lambda

Contact Formから送信されたデータをAWS Lambdaで処理しています。 JavaScriptからLambda Function URLへデータを送信し、メール送信処理につなげています。

Resend

Contact Formのメール送信にResend APIを使用しています。 LambdaからResend APIを呼び出し、管理者への通知メールと 送信者への自動返信メールを送信しています。

IAM

AWSリソースに必要な権限を設定し、 サービスやリソースへのアクセスを管理しています。

CloudWatch

CloudWatch Logsを使用してLambdaの実行結果やエラーを確認し、 Contact Formの構築やトラブルシューティングに利用しました。

S3

サイトで使用する画像や動画をAmazon S3に保存しています。 S3バケットは非公開にし、CloudFront経由でコンテンツを配信しています。

CloudFront

Amazon CloudFrontを使用して、S3に保存した画像や動画を配信しています。 S3を直接公開せず、CloudFront経由でアクセスする構成にしています。

Cloudflare

独自ドメインのDNS管理にCloudflareを使用しています。 ドメインをEC2のElastic IPに接続し、 このポートフォリオサイトへアクセスできるようにしています。

Architecture

Web Site

Browser → Cloudflare DNS → EC2 → Nginx → HTML / CSS / JavaScript

Images / Video

Browser → CloudFront → Private S3

Contact Form

JavaScript → Lambda Function URL → Lambda → Resend API → Email

Infrastructure

Nginx

EC2上のWebサーバーとしてNginxを使用しています。 HTML、CSS、JavaScriptなどのファイルを配信しています。

Linux

Linux上でファイル操作、サービスの状態確認、ポートやログの確認などを行い、 Webサーバーの管理やトラブルシューティングに使用しています。

HTTPS / Certbot

Certbotを使用してSSL/TLS証明書を設定し、 HTTPSでサイトにアクセスできるようにしています。 証明書の自動更新も設定しています。

Git / GitHub

Gitでソースコードの変更履歴を管理し、 GitHubにコードを保存しています。

Terraform

Terraformを使用してEC2とSecurity Groupを構築しました。 plan、apply、destroyを実行し、 Infrastructure as Codeの基本を学んでいます。

Linux Commands

Nginx

Nginxの状態確認

Nginxが正常に起動しているか確認します。

Nginx設定ファイルの構文チェック

Nginxの設定ファイルに構文エラーがないか確認します。

Nginxの再読み込み

Webサーバーを停止せずに、変更した設定を反映します。

Nginxログの確認

Nginxのログを確認し、エラーや動作状況を調べます。

Network

待受ポートの確認

現在どのポートが開いているか、どのプロセスが使用しているかを確認します。

HTTPSレスポンスの確認

WebサイトのHTTPヘッダーを確認し、HTTPSやリダイレクトの動作を確認します。

System

ディスク使用量の確認

サーバーのディスク容量と使用状況を確認します。

メモリ使用量の確認

サーバーのメモリ使用状況を確認します。

実行中プロセスの確認

サーバー上で動いているプロセスを確認します。

HTTPS / Certbot

Certbot自動更新タイマーの確認

SSL/TLS証明書の自動更新タイマーが有効か確認します。

Command