LoginSignup
1
0

More than 1 year has passed since last update.

AWS FIS がネットワーク接続中断をサポート

Posted at

概要

AWS FIS がネットワーク接続中断をサポートしたとのことで、いくつか試してみました。

スコープは以下が対応しているようです。

  • all– すべてのトラフィックを拒否します。
  • availability-zone– 他のアベイラビリティーゾーンのサブネットとの間の VPC 内トラフィックを拒否します。
  • dynamodb– DynamoDB との間のトラフィックを拒否します。
  • prefix-list– 指定されたプレフィックス リストとの間のトラフィックを拒否します。
  • s3– Amazon S3 との間のトラフィックを拒否します。
  • vpc– VPC に出入りするトラフィックを拒否します。

サブネットに対してアクションを実行できるようです。

  • aws:ec2:subnet

ALL

前提

  • パブリックサブネットに、マルチAZ で ECS(Fargate) のタスクを 4 個起動。
  • ALB はわざと利用していません。

設定

「Scope」で all を指定。
all.PNG

ターゲットで特定の AZ-1c にあるサブネットを指定。
all2.PNG

結果

次の通り、ターゲットで指定した AZ-1c のみ接続ができなくなりました。

curl http://<AZ-1aのパブリックIP>
<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>

curl http://<AZ-1aのパブリックIP>
<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>
curl http://<AZ-1cのパブリックIP>
curl: (28) Failed to connect to X.X.X.X port 80 after 75010 ms: Operation timed out

curl http://<AZ-1cのパブリックIP>
curl: (28) Failed to connect to X.X.X.X port 80 after 75010 ms: Operation timed out

DynamoDB

前提

  • DynamoDB を準備。
  • プライベートサブネット、AZ-1a/AZ-1c に Lambda を配置し、VPCエンドポイントを経由して、DynamoDBにアクセス。

設定1

「Scope」で dynamoDB を指定。
スクリーンショット 2022-11-26 19.26.40.png

ターゲットで特定の AZ-1a のみを指定。
スクリーンショット 2022-11-26 19.30.32.png

結果1

Test Event Name
test

Response
{
  "name": "sato",
  "test_id": "001"
}

設定2

「Scope」で dynamoDB を指定。
スクリーンショット 2022-11-26 19.26.40.png

ターゲットで特定の AZ-1a/AZ-1c を指定。
スクリーンショット 2022-11-26 19.39.51.png

結果2

次の通りタイムアウトとなりました。

Test Event Name
test

Response
{
  "errorMessage": "2022-11-26T10:41:26.891Z c90afa5d-ca84-4d2a-90bb-8243df2b9b9e Task timed out after 3.02 seconds"
}

Function Logs
START RequestId: c90afa5d-ca84-4d2a-90bb-8243df2b9b9e Version: $LATEST
2022-11-26T10:41:26.891Z c90afa5d-ca84-4d2a-90bb-8243df2b9b9e Task timed out after 3.02 seconds

END RequestId: c90afa5d-ca84-4d2a-90bb-8243df2b9b9e
REPORT RequestId: c90afa5d-ca84-4d2a-90bb-8243df2b9b9e	Duration: 3015.78 ms	Billed Duration: 3000 ms	Memory Size: 128 MB	Max Memory Used: 66 MB

Request ID
c90afa5d-ca84-4d2a-90bb-8243df2b9b9e

VPC

前提

  • VPC を指定した場合、出入りするトラフィックを拒否するとのことなので、今回は単純にパブリックサブネットに、マルチAZ で ECS(Fargate) のタスクを 2 個起動。
  • ALB はわざと利用していません。

設定

「Scope」で vpc を指定。
スクリーンショット 2022-11-20 18.37.08.png

ターゲットで特定の AZ-1c にあるサブネットを指定。
スクリーンショット 2022-11-20 18.37.26.png

結果

次の通り、ターゲットで指定した AZ-1c のみ接続ができなくなりました。

curl http://<AZ-1aのパブリックIP>
<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>
curl http://<AZ-1cのパブリックIP>
curl: (28) Failed to connect to X.X.X.X port 80 after 75010 ms: Operation timed out
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