1
0

More than 1 year has passed since last update.

前書き

先日、プロジェクトの作業でALBを作る機会がありました。ロードバランサーは、通常その先にあるターゲットへのトラフィックを分散させるために使用します。
しかし、今回はまだターゲットとなるリソースを作成しておらず、とりあえず疎通確認だけを先に済ませておきたい、という状況でした。
ターゲットグループ用のLambdaやEC2を暫定的に作成してもよかったのですが、ALBはターゲットを作らずとも固定値を返すことができるということは知っていたので、その方法を使おうと思い立ちました。
しかし、いざマネコンからALBを作成しようとしたら「you must select st least one target group」というエラーが表示され、ターゲットグループを選択せずにALBを作成することを許してもらえませんでした......
image.png
(そういえばELBの画面ってなんで日本語で表示されないんですかね?)

CloudFormationでターゲットグループを指定せずにALBを作成

そこで思いついた方法が、CloudFormationで何も設定されていない、いわば素の状態のALBを作成してしまおうという作戦です。

CloudFormationのType AWS::ElasticLoadBalancingV2::LoadBalancerを確認したところ、ターゲットグループを指定する箇所がなさそうでした。これはイケそう。

Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties: 
  IpAddressType: String
  LoadBalancerAttributes: 
    - LoadBalancerAttribute
  Name: String
  Scheme: String
  SecurityGroups: 
    - String
  SubnetMappings: 
    - SubnetMapping
  Subnets: 
    - String
  Tags: 
    - Tag
  Type: String

実際に使用したテンプレートが以下です

AWSTemplateFormatVersion: "2010-09-09"
Description: 
  ALB Create

Resources:
# ------------------------------------------------------------#
#  ALB
# ------------------------------------------------------------#
  MySecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupDescription: Security Group for qiita-test-alb
      GroupName: qiita-test-alb
      # めんどくさいのでマネコンから設定する
      # SecurityGroupIngress: 
      #   - 
      # VpcIdを入力
      VpcId: xxxxxxxxxx

  MyLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Type: 'application'
      # Subnetsを入力
      Subnets:
        - xxxxxxxxxx
        - xxxxxxxxxx
      SecurityGroups:
        - !Ref MySecurityGroup
      Scheme: internet-facing
      Name: qiita-test-alb

作成完了!
image.png
image.png

セキュリティグループはマネコンから設定するほうが楽そうだったので、マネコンから設定します。
今回は、自分のPCのIPアドレスからのアクセスのみを許可するインバウンドルールを作成しました。
image.png

そして最後に、固定値を返すルールを設定します。
image.png
image.png

アクセス成功!
image.png

まとめ

以前も記事に書いたのですが、AWSは意外とサービスによって仕様がバラバラです。

ALBも固定値を返すだけのものが作成できるのであれば、マネコンからも作成させてくれればいいのに、と思いました。
マネコンはめちゃくちゃ便利ですが、なんでもできる完璧な仕様になっているわけではなく、あくまで使いやすくしてくれてるおまけ程度に考えるのがいいかもしれませんね。

1
0
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
0