以下、検証環境のアーキテクチャになります。(設計期間:約1ヶ月程度)
1)route53(DNS)
①サブドメイン作成
- 管理画面
- CNAMEにELBに割り当てる
- ドメイン名:serv3.xxxxx-test.com
- API
- CNAMEにELBに割り当てる
- ドメイン名:api2.xxxxx-test.com
- websocket
- CNAMEにELBに割り当てる
- ドメイン名:socket.xxxxx-test.com
2)API-gateway(API名:test-api2)
以下の構成にしている。
①API
②管理画面
③Websocket(予備)
以下、リソース内部の詳細設定になります。
■API
■管理画面
3)ELB(ロードバランサー)
①作成済みの証明書を追加させる
- 管理画面
- API
補足:
websocketについては、現行環境でもSSL証明書は適応されてないので同様にしている。
4)Beanstalk
①管理画面 : dockerベース [centos6/php5.3]
②api : dockerベース [centos6/php5.3]
③websocket:dockerベース [node.js(0.10.46) & forever(0.15.3)]
5)RDS for MySQL(DBサーバー)
①導入済み
②チューニングについては、負荷テストの結果をみて行う。
6)S3(ネットワークストレージ)
goopysのマウントを行う。
補足:
Goopysを利用して、S3のマウントポイントとして利用
7)ACM(無料SSL証明書:導入)
①作成したテストドメイン(test-okage.com)をベースに証明書作成
8)Cloudwatch アラート通知
①管理画面
②API
③websocket
④RDS
⑤ELB
捕捉:
通知先は、テスト用のアドレスに向けている
9)Cloudwatch logs
.ebextensionsに記載を行う
10)サブネット
2つのサブネットに分ける
①プライベート(RDS用)
②パブリック(Beanstalk用)
11)セキュリティグループ
①Beasntalk用
②RDS用
12)AWS WAF
①API Gatewayに割り当てを行う
- 適応したルールについて
- PHPRuleSet(PHPの脆弱性対策用)
- SQLiRukeSet(MySQLインジェクション対策用)
13)CI/CD
①Circle/CIでデプロイを行う。
0 件のコメント:
コメントを投稿