1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS移行 - ネットワーク関連でやったこと

Posted at

ネットワーク関連の設定メモ。
AWSになったことによる影響等を書いていきます。

#セキュリティグループ設計
セキュリティグループはサーバー、ELB、RDS..ごとに設定し、そのセキュリティグループを許可するような設計になっています。
直接IPアドレスを記述するのは最小限になります。

※下記はイメージ
列が各リソース
行がセキュリティグループ名です
○が付いているところには、そのセキュリティグループの許可(インバウンド許可設定)されていることになります。
そのセキュリティグループに所属しているものも許可します。
たとえば下記の「prd-web01」というEC2は、「prd-app-web-sg」というセキュリティグループを許可していますが、
「prd-app-web-sg」の中身は「prd-front-main-sg」の80番を許可しています。
これは「prd-front-main-sg」が設定されている「prd-main-alb」からの80番アクセスを許可するという意味になります。

ELB prd-main-alb prd-admin-alb prd-jenkins-alb
prd-myoffice-maintenance-sg
prd-monitoring-sg
prd-front-main-sg
prd-front-admin-sg
prd-front-jenkins-sg
EC2 prd-web01 prd-admin01 prd-rent01 jenkins
prd-myoffice-maintenance-sg
prd-app-web-sg
prd-app-admin-sg
prd-app-rent-sg
prd-app-batch-sg
prd-app-jenkins-sg
RDS prd-rent-db prd-web-db
prd-data-rent-sg
prd-data-web-sg

次に各セキュリティグループで許可している内容です。
IPの記述は最小限になっています。

ELB
prd-myoffice-maintenance-sg 自社のIP
prd-monitoring-sg 監視サービスのIP
prd-front-main-sg 0.0.0.0/0 80/443番
::/0 80/443番
prd-front-admin-sg 0.0.0.0/0 80/443番
::/0 80/443番
prd-front-jenkins-sg 自社のIP 80/443番
EC2
prd-myoffice-maintenance-sg 同上
prd-app-web-sg prd-front-main-sg 80番
prd-app-admin-sg prd-front-admin-sg 80番
prd-app-rent-sg prd-front-main-sg 80番
prd-app-batch-sg prd-app-admin-sg 22番
prd-app-jenkins-sg prd-front-jenkins-sg 80番
RDS
prd-data-rent-sg (postgresql)
prd-app-rent-sg 5432番
prd-app-admin-sg 5432番
prd-data-web-sg (mysql)
prd-app-web-sg 3306番
prd-app-rent-sg 3306番
prd-app-admin-sg 3306番
prd-app-jenkins-sg 3306番

#ELBが挟まったことによる影響
今までのロードバランサーではアクセス元IPが取得できていたが、ELBでは直接判別はできず、
headerのX-Forwarded-Forに格納される。
これによりアプリの改修や、Apache, Nginxに影響が出る。

##Apache, Nginxでip制限をしている場合

####Apacheでは以下のように設定

ApacheでIPを許可する場合,,X-Forwarded-Forを取得
	Order deny,Allow
	Deny from All
	Allow from env=allow_ip

	SetEnvIf X-Forwarded-For "xxx\.xxx\.xxx\.xxx" allow_ip
	SetEnvIf X-Forwarded-For "xxx\.xxx\.xxx\.xxx" allow_ip

####Nginxの設定では以下の設定を追記する。

/nginx/nginx.conf,X-Forwarded-Forを取得
	set_real_ip_from xxx.xxx.xxx.xxx/xx; #許可したいip
	real_ip_header X-Forwarded-For;
	real_ip_recursive on;

#IAMの設計。スイッチロール

開発、ステージ、本番の3つのアカウントがあるが、
3つのアカウントそれぞれでIAMユーザを作成するのではなく、
一つのアカウントでIAMユーザを作成し、それぞれのアカウントではSwitchロールして使用。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?