QA@IT

SecurityGroupに、AutoScalingで動的に作られたインスタンスを識別させるには?

3477 PV

現在、AWSのEC2のAutoScalingの機能を使って動的に作成されるアプリケーションサーバと、一つのsolrサーバを構築しています。
このアプリはsolrを使っているのですが、ここで困った点があります。

solrは8983ポートにアクセスすれば誰でもクエリを投げる事ができます。そこで昔はEC2が提供するSecurityGroupを使って、solrサーバの8983に対しては、特定のIPアドレスのアクセスしか許可しないという方針をとっていました。

しかし、今回はAutoScalingを実装したことによって、動的にサーバのインスタンスが作成され、IPアドレスが特定できなくなってしまいました。

この場合、どのように解決すればいいのでしょうか?

タイトルは「SecurityGroupに、AutoScalingで動的に作られたインスタンスを識別させるには?」となっていますが、解決策はいくつかあると思います。
ですので、タイトル以外の方法でもなにかあればご指摘いただけると幸いです。

回答

こんにちは後藤と申します。

Security GroupのSourceにはSecurity Groupを指定することができます。

オートスケールで起動されるEC2に専用のSecurity Groupを割り当てて、
Solr用のセキュリティグループでは、Port range: 8983、Sourceに
オートスケール用のSecurity Groupを指定すれば実現可能だと思います。

編集 履歴 (0)

お返事ありがとうございます。

Security GroupにSecurity Groupを設定できたんですね。

早速やってみたんですが、お恥ずかしながらうまくできません。
おそらく設定方法が悪いと思うのですが、sourceにどのように指定すればいいのですか?

以下にはうまくいかなった例を書きます。

前提:
sg-a5513ba4=AutoScalingのEC2インスタンスに使っているSecurityGroupの名前
amazon-elb/amazon-elb-sg = ELBのSecurityGroup名?
sg-be3847bf = SolrサーバのSecurityGroupの名前

source部分:

  • sg-a5513ba4 (default)
  • amazon-elb/sg-d2c979d3 (amazon-elb-sg)

接続テスト方法
EC2インスタンス内から、telnet ipアドレス 8983

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。