MENU

独学・自費で構築したAWSポートフォリオ全構成を公開──Terraform・Bedrock・WAFまで実装した話

独学・自費で構築したAWSポートフォリオ全構成を公開──Terraform・Bedrock・WAFまで実装した話を解説する画像

この記事を書いた人: 美容師・サロン経営から40代でAWSクラウドエンジニアへの転職を目指している。2026年4月にAWS SAA合格。現在SOA取得・ポートフォリオ構築を並行して進行中。


目次

はじめに

AWSの転職活動において、資格だけでなく「実際に作ったものを見せる」ことが重要だと感じています。

このブログでは、自分が独学・自費で構築したAWSポートフォリオの全構成を公開します。VPCの基本構成からTerraformによるIaC化、BedrockとLambdaを使ったAIチャットボットまで、一通りの実装内容をまとめました。

ポートフォリオサイト:https://swell-webworks.com


ポートフォリオ全体の構成一覧

現在公開している実装は以下の6つです。

  1. VPC・基本インフラ構成
  2. RDS Multi-AZ構成
  3. AWS WAF+CloudFront保護
  4. Terraform × AWSインフラ自動構築
  5. インフラ監視・自動アラート構築(Terraform)
  6. 顧客対応AIチャットボット(Bedrock × Lambda)

1. VPC・基本インフラ構成

使用サービス: VPC・サブネット・IGW・NATゲートウェイ・EC2・S3・CloudFront・Route53・EventBridge・Lambda

最初に構築したのはAWSの基本となるネットワーク構成です。

パブリックサブネットとプライベートサブネットを分離し、インターネットゲートウェイとNATゲートウェイを配置した標準的なVPC構成を実装しました。

また、EventBridgeとLambdaを組み合わせてEC2インスタンスの自動起動・停止スケジューリングも実装。コスト削減の観点から、開発環境のEC2を業務時間外に自動停止する仕組みを作っています。

S3とCloudFrontを使った静的サイトホスティング、Route53によるカスタムドメイン設定も合わせて構築しました。


2. RDS Multi-AZ構成

使用サービス: RDS(MySQL)・Multi-AZ・セキュリティグループ

高可用性を意識したデータベース構成です。

RDS for MySQLをMulti-AZ構成で構築し、プライマリインスタンスに障害が発生した場合にスタンバイインスタンスへ自動フェイルオーバーする仕組みを実装しました。

セキュリティグループでアプリケーション層(EC2/Lambda)からのみ3306番ポートへのアクセスを許可し、データベースをプライベートサブネットに配置することで外部からの直接アクセスを遮断しています。


3. AWS WAF+CloudFront保護

使用サービス: AWS WAF・CloudFront・S3

Webアプリケーションのセキュリティ対策として実装しました。

AWS WAFのマネージドルールを使用し、主に以下の保護を設定しています。

  • AWSManagedRulesCommonRuleSet:OWASP Top 10に基づく一般的な攻撃パターンを防御
  • AWSManagedRulesAmazonIpReputationList:悪意のあるIPアドレスからのアクセスをブロック

CloudFrontのオリジンにS3を設定し、WAFをCloudFrontに関連付けることで、静的サイトへのアクセスを保護しています。


4. Terraform × AWSインフラ自動構築

使用サービス: Terraform・VPC・EC2・セキュリティグループ・Route Table

IaC(Infrastructure as Code)の実践として、TerraformでAWSインフラを自動構築する仕組みを実装しました。

実装内容

  • VPC・パブリックサブネット・IGW・ルートテーブルをTerraformで定義
  • EC2インスタンスの起動、セキュリティグループの設定
  • nginxの自動インストール(ユーザーデータスクリプト)
  • terraform apply一発でWebサーバー環境が構築される

手動でコンソールからポチポチ設定するのではなく、コードで管理することで再現性が高くなります。チーム開発での環境統一や、本番環境の複製が容易になる点がIaCの最大のメリットです。


5. インフラ監視・自動アラート構築(Terraform)

使用サービス: CloudWatch・SNS・EC2・Terraform

インフラの異常を自動検知してメール通知する仕組みをTerraformで構築しました。

監視内容

  • EC2のCPU使用率が閾値を超えた場合にアラーム発火
  • CloudWatchアラームからSNSトピックに通知
  • SNSトピックにメールアドレスをサブスクライブして通知受信

この構成もTerraformで管理しており、監視設定を変更する際はコードを修正してapplyするだけで反映されます。手動でCloudWatchの設定を変更する必要がなく、設定の変更履歴もGitで管理できます。



6. 顧客対応AIチャットボット(Bedrock × Lambda)

使用サービス: Amazon Bedrock・Lambda・API Gateway・Claude

最も技術的に挑戦した実装です。

Amazon BedrockとAWS Lambdaを組み合わせて、AIによる顧客対応チャットボットを構築しました。

構成

User → API Gateway → Lambda → Amazon Bedrock(Claude)→ 応答

実装のポイント

  • API Gatewayでエンドポイントを作成し、LambdaをバックエンドとしてBedrock APIを呼び出す
  • Bedrock上のClaudeモデルを使用して自然言語での質問応答を実現
  • サーバーレス構成のためスケーラビリティが高く、アイドル時のコストが最小

ポートフォリオサイトから実際にデモを試すことができます。


なぜこれだけの実装を作ったのか

「資格を持っています」だけでは転職市場での差別化が難しいと感じていたからです。

特にIT実務経験のない異業種転職の場合、「実際に作れる人間かどうか」を証明する必要があります。ポートフォリオはその証明書です。

すべての実装は業務外・独学・自費で行っています。サロン経営と並行しながら、プライベートの時間を全て投じて構築してきました。


今後の実装予定

現在さらに以下の実装を追加予定です。

  • CloudTrail + EventBridge + SNSによるセキュリティ監視
  • ECS・Fargateを使ったコンテナ構成
  • CI/CDパイプライン(CodePipeline・CodeBuild)

SOAの学習と並行して、試験で出てくる構成を実際にポートフォリオに組み込んでいくスタイルで進めています。


まとめ

  • VPC基本構成からBedrock×LambdaのAIチャットボットまで6つの構成を実装・公開
  • TerraformによるIaC化で再現性・保守性の高いインフラ管理を実践
  • AWS WAFによるセキュリティ対策、RDS Multi-AZによる高可用性構成も実装済み
  • すべて業務外・独学・自費で構築
  • ポートフォリオサイト:https://swell-webworks.com

最後まで読んでいただきありがとうございました。構成に関する質問やコメントはお気軽にどうぞ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次