Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?
@t_wkm2

SORACOM Button でバスターコールを発令してみた

More than 1 year has passed since last update.

どうも若松です。

SORACOM LTE-M Button で何作ろうかと悩むのは楽しいですね。
せっかくなので押しがいがあるのを作りたいといろいろ考えていたときに、あるマンガの場面を思い出しました。

バスターコール

  
ワンピースに出てくる、全てを破壊する命令ですね。
このバスターコールを発令するきっかけがボタンなのです。

AWS式バスターコール

(プロレス技みたいですね)

せっかくLambdaをキックできるので、AWSリソースを破壊してみようと思います。
流石にAWSサービスは多すぎるので、EC2インスタンスの範囲に限定することにしました。

SORACOM Button → AWS IoT → Lambda → EC2Terminate

という構成です。

Lambda

コードは以下となります。
言語はPython3.6です。

BusterCall
import boto3
import jmespath

def lambda_handler(event, context):

    ec2 = boto3.client('ec2')

    instanceids = jmespath.search(
        'Reservations[].Instances[?State.Name!=`terminated`][].InstanceId',
        ec2.describe_instances()
    )

    for instanceid in instanceids:
        ec2.modify_instance_attribute(
            InstanceId=instanceid,
            DisableApiTermination={
                'Value': False
            }
        )

    ec2.terminate_instances(
        InstanceIds=instanceids
    )

    print(instanceids)

    return

AWS IoT

以下のように設定を済ませます。
スクリーンショット 2018-11-05 22.38.11.png
スクリーンショット 2018-11-05 22.38.24.png

EC2

流石に東京リージョンは怖いので、オレゴンで行います。
インスタンスは何でもいいのでt2.nanoで2台起動しました。
ENIES LOBBY には世界政府の旗代わりにTerminateProtectionを設定しておきます。
スクリーンショット_2018-11-05_22_41_15.png

バスターコール発令

全てを焼き尽くします。
TerminateProtectionとて効きません。
無慈悲です。
スクリーンショット_2018-11-05_22_45_00.png
スクリーンショット_2018-11-05_22_45_18.png

まとめ

ボタンひとつでインスタンスが消し飛んでいくのは意外と爽快です。

本当はAMIやEIPとかも削除するようにしようかと思ってましたが、キリが無くなりそうなのでやめました。
検証環境とかで全てのインスタンスを燃やし尽くしたいときとか便利ですね(私は怖いので使いません。

4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
t_wkm2

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
4
Help us understand the problem. What is going on with this article?