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
Images / Video
Contact Form
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証明書の自動更新タイマーが有効か確認します。