- Elastic Beanstalkでは、インスタンス起動時に自動的に生成され紐付けられるSecurityGroupがある
- このSecurityGroupではまず80番ポートがSource any(0.0.0.0/0)で開放されており
- さらにkeypairを設定するとさらにssh(22)番ポートがSource anyで開放されるルールが自動的に付与されてしまう。
- アクセス元を制限したい(bastion経由onlyなど)
次のようにすると対策できる
- Environmentを作るときにkeypairをセットしない
- 起動時に.ebextensionsでkeypairをセットする
- 自分で指定するSecurityGroupの方で、sshに関する許可ルールを記述する
2. 起動時に.ebextensionsでkeypairをセットする
-
hoge
の部分は自分のkeypair に置き換え。
.ebextensions/00_set_keypair.config
option_settings:
- namespace: aws:cloudformation:template:resource:property
resource_name: AWSEBAutoScalingLaunchConfiguration
option_name: KeyName
value: hoge
なお、オフィシャルでみても、aws:autoscaling:launchconfiguration
で設定できる、と書いてあるんだけど、何回やってもダメだった。