SSHする必要性
そもそも elasticbeanstalk で立ち上げるのに ssh
する必要はないと思いますが、必要な方へ。
SSHキーを指定すると問答無用で22番ポートはanyに解放される
eb create の-k
パラメータ指定でもeb ssh でも eb deploy
時に .ebextensions
で指定されててもanyに解放されてしまう。
eb ssh はセキュリティグループのルールに従うが・・
eb ssh
の仕様にあるように「セキュリティグループで22番ポートにルールが指定されていればそのルールに従い、なければanyで解放する」という挙動も create 時にはなさそう。
.ebextensions とセキュリティグループの合わせ技で閉じる
下記ファイルでポートを閉じつつセキュリティグループで開けるという方法を取る。
.ebextentions/010-autoscaling.config
option_settings:
aws:autoscaling:launchconfiguration:
EC2KeyName: {key-name}
# keyを指定すると自動で開かれてしまうインスタンスの22番ポートを閉じる
SSHSourceRestriction: tcp, 22, 22, 127.0.0.1/32
# 22番ポートはsecuritygroupで管理する
SecurityGroups: {security-group-name}
まとめ
ssh
しなくてもいいように開発しましょう。