AWS ロードバランサー&セキュリティ

作成日: 2015年1月20日
更新日: 2015年2月4日
作成者: 岩下洋治

セキュリティグループについて

0) APIロードバランサー用:           api-cluster-loadbalancer
1) APIノード用:                   api-cluster-node
2) cassandraロードバランサー用:     cassandra-cluster   (※ノード用も兼用)
3) staticfileロードバランサー用:    staticfile-cluster-loadbalancer
4) staticfileノード用:            staticfile-cluster-node
5) CMSサーバー用:                 cms
6) chefワークステーション用:         chef
7) MongoDBロードバランサー用:       mongo-cluster-loadbalancer
8) MongoDBノード用:               mongo-cluster-node

※ staticfile関連とAPI関連は今のところ設定内容が同一ですが、
   念のため別設定にします。

セキュリティグループ設定詳細

全て Inbound のみです。
現在 HTTPS は未サポートです。必要な場合はロードバランサーで解決予定です。

0) APIロードバランサー用:           api-cluster-loadbalancer
    HTTP    TCP (80)    any
    HTTPS   TCP (443)   any

1) APIノード用:                     api-cluster-node
    SSH     TCP (22)    any
    HTTP    TCP (80)    any

2) cassandraロードバランサー用:     cassandra-cluster   (※ノード用も兼用)
    Custom  TCP (7000-7001)         AWS private (172.16.0.0/12)
    Custom  TCP (9160)              AWS private (172.16.0.0/12)
    Custom  TCP (9042)              AWS private (172.16.0.0/12)
    SSH     TCP (22)                any ※管理者用固定IPのみ? ただしノードはchefからアクセス有り
    Custom  TCP (61620-61621)       AWS private (172.16.0.0/12)
    Custom  TCP (7199)              any

3) staticfileロードバランサー用:    staticfile-cluster-loadbalancer
    HTTP    TCP (80)    any
    HTTPS   TCP (443)   any

4) staticfileノード用:              staticfile-cluster-node
    SSH     TCP (22)    any
    HTTP    TCP (80)    any

5) CMSサーバー用:                   cms
    Custom  TCP (9160)              AWS private (172.16.0.0/12)
    Custom  TCP (27017)             AWS private (172.16.0.0/12)
    Custom  TCP (61620-61621)       AWS private (172.16.0.0/12)
    Custom  TCP (7199)              AWS private (172.16.0.0/12)
    SSH     TCP (22)                any ※管理者用固定IPのみ?
    HTTP    TCP (80)                any ※管理者用固定IPのみ?
    Custom  TCP (8888)              any ※管理者用固定IPのみ?

6) chefワークステーション用:        chef
    SSH     TCP (22)                any ※管理者用固定IPのみ?
    HTTPS   TCP (443)               any (リージョン間のchef実行用)

7) MongoDBロードバランサー用:       mongo-cluster-loadbalancer
    SSH     TCP (22)                any ※管理者用固定IPのみ?
    Custom  TCP (27017) any         AWS private (172.16.0.0/12)

8) MongoDBノード用:                 mongo-cluster-node
    SSH     TCP (22)                any ※管理者用固定IPのみ?
    Custom  TCP (27017) any         AWS private (172.16.0.0/12)

ロードバランサー 設定詳細

※ develop, test, product のグループ毎に用意するため、作成はスクリプトで行
   います。mytools/first/create-securitygroup.sh を参照してください。

0) APIクラスター用:         api-cluster-lb
    ヘルスチェック:
        Ping Target    HTTP:80/media/
    ポート:
        80 (HTTP) forwarding to 80 (HTTP)

1) cassandraクラスター用:   cassandra-cluster-lb    ※ internal として作成
    ヘルスチェック:
        Ping Target    TCP:9160
    ポート:
        7000 (TCP) forwarding to 7000 (TCP)
        7199 (TCP) forwarding to 7199 (TCP)
        9042 (TCP) forwarding to 9042 (TCP)
        9160 (TCP) forwarding to 9160 (TCP)

2) staticfileクラスター用:      staticfile-cluster-lb
    ヘルスチェック:
        Ping Target    HTTP:80/gadget.xml
    ポート:
        80 (HTTP) forwarding to 80 (HTTP)

3) MongoDBクラスター用:         mongo-cluster-lb
    ヘルスチェック:
        Ping Target TCP:27017
    ポート:
        27017 (TCP) forwarding to 27017 (TCP)