✅ ローカル環境におけるアーキテクチャ

✅ デプロイ環境におけるアーキテクチャ

ローカル環境におけるアーキテクチャとの違いは、大きく2つである。
- ローカルにDockerイメージを保存せず、外部リポジトリであるAWS ECRにDockerイメージを保存する。
- ローカルのデータベースを使用せず、外部データベースであるAWS RDSを活用する。
上記のアーキテクチャで環境を構築していく。
1.RDSの作成
エンジンのタイプ:MySQL

テンプレート:無料利用枠を選択。
DBインスタンス識別子:kube-database
マスターユーザー名:amdin
マスターパスワード:任意


パブリックアクセス:あり
既存のVPCセキュリティグループ:db
インバウンドルール:MySQL/3306/すべてのIPv4許可

最新のデータベース名:mydb

他の設定はそのままで問題なし。
EC2ページでセキュリティグループを作成した後、既存のVPCセキュリティグループを選択する。
(その他のオプションはデフォルトのままとする)
正常に接続できるか確認する。
2.RDSの接続確認
HOST:RDSのENDPOINT
PORT:3306(MYSQL)
username:
password:

3.ECRの作成
ECR名:kube-ecr
ECRの作成は以下を参考
https://tokyoant.tistory.com/48
AWS ECR (Elastic Container Registry) の利用
✅ AWS CLI のインストール最新バージョンの AWS CLI インストールまたはアップデート - AWS Command Line Interface[Mac OS]$ brew install awscli$ aws --version # バージョンが表示されれば正常にインストールされ
tokyoant.tistory.com
4.SpringBootプロジェクトのクローン
$ git clone https://github.com/lioncubKR/kubernetes-backend.git
5.k8s Manifestファイルのクローン
$ git clone https://github.com/lioncubKR/kubernetes-manifests.git
[Spring Bootプロジェクト]
- /boards GET:投稿取得API
- /boards POST:投稿作成API
- JPAを活用してDBと連携している状態
- DockerイメージとしてビルドできるようにDockerfileを作成済みの状態
[Manifestファイル]
- Spring Bootサーバーを起動するために必要なDeployment、Service、ConfigMap、Secretファイルで構成されている。
- spring-secret.yamlには機密性の高い値が含まれているため、本来であれば.gitignoreに追加してバージョン管理の対象外にする必要がある。しかし、便宜上GitHubリポジトリに一緒にアップロードしている。spring-secret.yamlはサーバーに別途伝達して活用するか、SealedSecretを活用して管理するのが一般的である。(この他にもAWS Secrets Manager、Vaultなど、シークレット値を管理する多様なサービスが存在する。)
'k8s > archive_1' 카테고리의 다른 글
| 23.EC2 - ECRからイメージをPullできるよう権限を付与 (0) | 2026.03.19 |
|---|---|
| 22.Spring BootサーバーのビルドとECRへのPush (0) | 2026.03.19 |
| 20.EC2 - (k3s) Nginxの起動 (0) | 2026.03.18 |
| 19.EC2 - k3s (0) | 2026.03.18 |
| 18.Volume - 外部からのMySQLアクセスを遮断する (0) | 2026.03.18 |