3
1

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.

Lambdaでboto3動かすサンプルコード TargetGroupの変更

Last updated at Posted at 2019-08-15

自分用のメモです。
boto3はpythonでAWSを操作するためのライブラリです。
AWSの公式SDKなので安心して利用できます。

##目的
・ALBでオンプレ環境のWEBサーバをあえてAct-Stbの構成としたい。

##環境
・AWSとオンプレ環境をDirectConnectで接続。(VGW
・ALBでオンプレ環境のWEBサーバを負荷分散。
・TargetGroupにオンプレのWEBサーバをIPで登録。
・CloudWatchで該当TargetGroupのHealthyHostCountが0になったら
 Alartを発行しSNSで通知。
・SNSでLambdaを実行するトピックを作成。
・Lambdaで関数を作成し、以下のコードを登録。
 ターゲットグループの入れ替えをしています。

・boto3の公式リファレンスのリンク
 いろいろ載ってるので参考に。
リンク

##サンプルコード


import boto3

def lambda_handler(event, context):
    client = boto3.client('elbv2')

    #ターゲットグループへスタンバイのサーバを登録します。
    response = client.register_targets(
     TargetGroupArn='対象のターゲットグループのリソース番号を記載',
     Targets=[
        {
            'Id': '172.16.1.1',
            'Port': 80,
            'AvailabilityZone': 'all'
        },
     ]
    )

    #ターゲットグループからアクティブのサーバを削除します。
     response = client.deregister_targets(
     TargetGroupArn='対象のターゲットグループのリソース番号を記載',
     Targets=[
        {
            'Id': '172.16.1.2',
            'Port': 80,
            'AvailabilityZone': 'all'
        },
     ]
    )

##最後に
今回はTargetGroupのターゲットの入れ替えによって実現しましたが、
Act-Stb構成としたい場合は、以下の方法でも検討の余地があります。

・HealthCheckのステータスで切り替え。
・リスナールールで切り替え。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?