2020年5月19日火曜日

検証環境(Beanstalk)

以下、検証環境のアーキテクチャになります。(設計期間:約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 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...