らんだむな記憶

blogというものを体験してみようか!的なー

CDK (11)

CDK (10) - らんだむな記憶 でごちゃごちゃ書いたが、

  • NetworkAcl は使わない
  • cdklocal destroyVPC のスタックを破棄しない。代わりに LocalStack を再起動する

とすれば、IAM+VPC+EC2 のスタック構成でデプロイできた。

$ aws ec2 describe-vpcs --endpoint-url=http://localhost:4566
{
    "Vpcs": [
        ...
        {
            "CidrBlock": "10.0.0.0/16",
            ...
            "State": "available",
            "VpcId": "vpc-e81b04e1",
            "OwnerId": "000000000000",
            "InstanceTenancy": "default",
            "Ipv6CidrBlockAssociationSet": [],
            ...
            "IsDefault": false,
            "Tags": []
        }
    ]
}

$ aws ec2 describe-instances --endpoint-url=http://localhost:4566
{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-08a8688fb7eacb171",
                    "InstanceId": "i-8dce5bd75d1c64c40",
                    "InstanceType": "t2.micro",
                    ...
               }
            ],
            "OwnerId": "000000000000",
            "ReservationId": "r-4f1f622b"
        }
    ]
}

という感じで情報が出せたのでまぁいけたということだろう。

$ aws ec2 start-instances --instance-ids i-8dce5bd75d1c64c40 --endpoint-url=http://localhost:4566
{
    "StartingInstances": [
        {
            "CurrentState": {
                "Code": 0,
                "Name": "pending"
            },
            "InstanceId": "i-8dce5bd75d1c64c40",
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}

とかするとちょっと面白い。

$ aws ec2 describe-instance-status --instance-ids i-8dce5bd75d1c64c40 --endpoint-url=http://localhost:4566
{
    "InstanceStatuses": [
        {
            "AvailabilityZone": "us-east-1a",
            "InstanceId": "i-8dce5bd75d1c64c40",
            "InstanceState": {
                "Code": 16,
                "Name": "running"
            },
            "InstanceStatus": {
                "Details": [
                    {
                        "Name": "reachability",
                        "Status": "passed"
                    }
                ],
                "Status": "ok"
            },
            "SystemStatus": {
                "Details": [
                    {
                        "Name": "reachability",
                        "Status": "passed"
                    }
                ],
                "Status": "ok"
            }
        }
    ]
}

よく分からないけど動いていることになっているらしい。Docker のイメージが増えているとかコンテナが増えているとかはない。動いているふりをしているのか?

$ aws ec2 stop-instances --instance-ids i-8dce5bd75d1c64c40 --endpoint-url=http://localhost:4566
{
    "StoppingInstances": [
        {
            "CurrentState": {
                "Code": 64,
                "Name": "stopping"
            },
            "InstanceId": "i-8dce5bd75d1c64c40",
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}

すると

$ aws ec2 describe-instance-status --instance-ids i-8dce5bd75d1c64c40 --endpoint-url=http://localhost:4566
{
    "InstanceStatuses": [
        {
            "AvailabilityZone": "us-east-1a",
            "InstanceId": "i-8dce5bd75d1c64c40",
            "InstanceState": {
                "Code": 80,
                "Name": "stopped"
            },
            "InstanceStatus": {
                "Status": "not-applicable"
            },
            "SystemStatus": {
                "Status": "not-applicable"
            }
        }
    ]
}

のようにすぐ停止する。ちょっと早すぎるからやはり動いているふりか?