[アップデート] Amazon FSx for NetApp ONTAPのエンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定できるようになりました #reinvent

Transit Gateway route tableに設定するルートが少なくなります
2022.11.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Transit Gatewayで静的ルートを設定するの面倒だな

こんにちは、のんピ(@non____97)です。

皆さんは「Mutli-AZのAmazon FSx for NetApp ONTAP(以降FSx for ONTAP)に別ネットワークからアクセスするために、Transit Gatewayに静的ルートを追加するのが面倒だな」と思ったことはありますか? 私はあります。

従来、Mutli-AZのFSx for ONTAPファイルシステムを作成する際は、エンドポイントIPアドレスの範囲として、VPC外のCIDRを指定する必要がありました。

エンドポイントIPアドレスの範囲の中からFSx for ONTAPファイルシステムやSVMの管理エンドポイント、NFSのエンドポイントが割り当てられます。そのため、別ネットワークからこれらにアクセスする際は、Transit Gateway route tableで「エンドポイントIPアドレスの範囲の通信はFSx for ONTAPファイルシステムがいるVPCにルーティングする」ような静的ルートを追加する必要がありました。

ここら辺の背景や詳細な説明は以下記事をご覧ください。

Transit Gatewayで接続しているネットワークが増えると、静的ルートの管理をするのも大変です。できるだけPropagationを使ってTransit Gateway route tableにVPCのCIDRを動的に追加したいものです。

また、VPC外のCIDRを選択するとなると、そのCIDRを使用しないようにプールしておく必要があります。

今回のアップデートで、 Amazon FSx for NetApp ONTAPのエンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定できるようになりました

エンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定することで、Transit Gatewayに静的ルートを追加する必要がなくなります。これは嬉しい。

マネジメントコンソールからMutli-AZのFSx for ONTAPファイルシステムを作成する際のデフォルトは、VPCのプライマリCIDRの末尾64個のIPアドレスが選択されるようです。

you specify when creating your Multi-AZ file system. If you create your file system from the Amazon FSx console, by default Amazon FSx chooses the last 64 IP addresses from the VPC's primary CIDR range to be used as the endpoint IP address range for the file system.

Accessing data from on-premises - FSx for ONTAP

これは動きが気になりますね。

早速動かしてみたので紹介します。

いきなりまとめ

  • エンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定することで、Transit Gatewayに静的ルートを追加する必要がなくなる
  • 別VPC、オンプレミスネットワークからFSx for ONTAPファイルシステムやSVMの管理エンドポイントにアクセスする際は、引き続きTransit Gatewayが必要
    • VPCピアリングから入ってきたトラフィックは、VPCのルートテーブルの影響を受けない
    • そのため、VPCピアリングから入ってきたトラフィックを任意のENIにルーティングすることはできない
  • Transit Gateway attachmentがあるサブネットにFSx for ONTAPのフローティングIPアドレスへのルートが必要
    • FSx for ONTAPのフローティングIPはVPCのCIDR内だが、ENIのセカンダリIPアドレスには紐づいていない
    • 「VPCのCIDR : local」のルートでルーティングできるのは、ENIに紐づいているIPアドレスのみ
    • FSx for ONTAPのフローティングIPへのルートはCreateRoute APIでは設定できない
    • FSx for ONTAPファイルシステムでルートテーブルを管理から、フローティングIPへのルートを追加したいルートテーブルを選択して設定をする
  • FSx for ONTAPファイルシステムデプロイ後にエンドポイントIPアドレスの範囲を変更することはできない
  • よっぽどのことがなければVPCのCIDR範囲内のIPアドレスを指定することになりそう
    • よっぽどのことの例) VPCのCIDRに空きがない

検証環境

検証環境は以下の通りです。

Amazon FSx for NetApp ONTAPのエンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定できるようになりました_VPCピアリング版の検証環境

エンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定することにより、「もしかしたらTransit Gatewayが不要になるのでは?」と思ったので、VPCピアリング経由でFSx for ONTAPファイルシステムへのSSH及び、NFSによるマウントを試します。

VPCピアリング経由でアクセスできない場合はTransit Gatewayで接続します。

FSx for ONTAPファイルシステムの作成

それでは、まずFSx for ONTAPファイルシステムを作成します。

今回はマネジメントコンソールから作成します。

エンドポイントIPアドレス範囲VPCから未割り当てのIPアドレス範囲が追加されていますね。こちらを選択したままで進めます。

VPC から未割り当ての IP アドレス範囲

その他のパラメーターは以下の通りです。エンドポイントIPアドレス範囲は作成後に編集できないので気をつけましょう。

FSx for ONTAPファイルシステムの作成

40分ほど待つとFSx for ONTAPファイルシステムが作成されていました。

作成されたFSx_for_ONTAPの確認

エンドポイントIPアドレス範囲が172.31.255.255/26と、確かにVPCのCIDR(172.31.0.0/16)の末尾64個のIPアドレスが指定されていますね。実際に管理エンドポイントのIPアドレスはエンドポイントIPアドレス範囲内のIPアドレスになっています。

AWS CLIからも作成されたFSx for ONTAPファイルシステムとSVMを確認してみましょう。

# FSx for ONTAPファイルシステム
$ aws fsx describe-file-systems
{
    "FileSystems": [
        {
            "OwnerId": "<AWSアカウントID>",
            "CreationTime": "2022-11-29T13:30:06.808000+00:00",
            "FileSystemId": "fs-02c7c7ebb743b92a2",
            "FileSystemType": "ONTAP",
            "Lifecycle": "AVAILABLE",
            "StorageCapacity": 1024,
            "StorageType": "SSD",
            "VpcId": "vpc-0e0796981cea634c1",
            "SubnetIds": [
                "subnet-0e4270793b4b19850",
                "subnet-00b2246e7a23ec379"
            ],
            "NetworkInterfaceIds": [
                "eni-097c54b261e931320",
                "eni-0587f67fff8d801df"
            ],
            "KmsKeyId": "arn:aws:kms:us-east-1:<AWSアカウントID>:key/365ae19c-8016-4963-9afd-05f703509254",
            "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:file-system/fs-02c7c7ebb743b92a2",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "fsxn"
                }
            ],
            "OntapConfiguration": {
                "AutomaticBackupRetentionDays": 7,
                "DailyAutomaticBackupStartTime": "09:30",
                "DeploymentType": "MULTI_AZ_1",
                "EndpointIpAddressRange": "172.31.255.255/26",
                "Endpoints": {
                    "Intercluster": {
                        "DNSName": "intercluster.fs-02c7c7ebb743b92a2.fsx.us-east-1.amazonaws.com",
                        "IpAddresses": [
                            "172.31.90.26",
                            "172.31.47.250"
                        ]
                    },
                    "Management": {
                        "DNSName": "management.fs-02c7c7ebb743b92a2.fsx.us-east-1.amazonaws.com",
                        "IpAddresses": [
                            "172.31.255.240"
                        ]
                    }
                },
                "DiskIopsConfiguration": {
                    "Mode": "AUTOMATIC",
                    "Iops": 3072
                },
                "PreferredSubnetId": "subnet-0e4270793b4b19850",
                "RouteTableIds": [
                    "rtb-04abe1840b02b7ca7"
                ],
                "ThroughputCapacity": 128,
                "WeeklyMaintenanceStartTime": "5:04:00"
            }
        }
    ]
}

# SVM
$ aws fsx describe-storage-virtual-machines 
{
    "StorageVirtualMachines": [
        {
            "CreationTime": "2022-11-29T13:00:23.019000+00:00",
            "Endpoints": {
                "Iscsi": {
                    "DNSName": "iscsi.svm-09d76a91bcb77b618.fs-02c7c7ebb743b92a2.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "172.31.83.247",
                        "172.31.32.103"
                    ]
                },
                "Management": {
                    "DNSName": "svm-09d76a91bcb77b618.fs-02c7c7ebb743b92a2.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "172.31.255.209"
                    ]
                },
                "Nfs": {
                    "DNSName": "svm-09d76a91bcb77b618.fs-02c7c7ebb743b92a2.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "172.31.255.209"
                    ]
                }
            },
            "FileSystemId": "fs-02c7c7ebb743b92a2",
            "Lifecycle": "CREATED",
            "Name": "SVM",
            "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-02c7c7ebb743b92a2/svm-09d76a91bcb77b618",
            "StorageVirtualMachineId": "svm-09d76a91bcb77b618",
            "Subtype": "DEFAULT",
            "UUID": "25813a8b-6fea-11ed-84ff-3df40f843f92"
        }
    ]
}

SVMの管理エンドポイントとNFSのエンドポイントのIPアドレスもエンドポイントIPアドレス範囲内のIPアドレスになっていますね。

次に、FSx for ONTAPファイルシステムのENIを確認します。

$ aws ec2 describe-network-interfaces \
    --network-interface-ids eni-097c54b261e931320 eni-0587f67fff8d801df
{
    "NetworkInterfaces": [
        {
            "Attachment": {
                "AttachTime": "2022-11-29T13:13:33+00:00",
                "AttachmentId": "eni-attach-0bce1f64f22f861a9",
                "DeleteOnTermination": false,
                "DeviceIndex": 3,
                "NetworkCardIndex": 0,
                "InstanceOwnerId": "292200246037",
                "Status": "attached"
            },
            "AvailabilityZone": "us-east-1a",
            "Description": "[Do not detach or untag] Amazon FSx network interface for fs-02c7c7ebb743b92a2",
            "Groups": [
                {
                    "GroupName": "default",
                    "GroupId": "sg-09833fa43dc030900"
                }
            ],
            "InterfaceType": "interface",
            "Ipv6Addresses": [],
            "MacAddress": "0e:bb:6d:7c:5d:47",
            "NetworkInterfaceId": "eni-0587f67fff8d801df",
            "OwnerId": "<AWSアカウントID>",
            "PrivateDnsName": "ip-172-31-47-250.ec2.internal",
            "PrivateIpAddress": "172.31.47.250",
            "PrivateIpAddresses": [
                {
                    "Primary": true,
                    "PrivateDnsName": "ip-172-31-47-250.ec2.internal",
                    "PrivateIpAddress": "172.31.47.250"
                },
                {
                    "Primary": false,
                    "PrivateDnsName": "ip-172-31-44-99.ec2.internal",
                    "PrivateIpAddress": "172.31.44.99"
                },
                {
                    "Primary": false,
                    "PrivateDnsName": "ip-172-31-32-103.ec2.internal",
                    "PrivateIpAddress": "172.31.32.103"
                }
            ],
            "RequesterId": "470192892696",
            "RequesterManaged": false,
            "SourceDestCheck": false,
            "Status": "in-use",
            "SubnetId": "subnet-00b2246e7a23ec379",
            "TagSet": [
                {
                    "Key": "AmazonFSx.FileSystemId",
                    "Value": "fs-02c7c7ebb743b92a2"
                }
            ],
            "VpcId": "vpc-0e0796981cea634c1"
        },
        {
            "Attachment": {
                "AttachTime": "2022-11-29T13:13:32+00:00",
                "AttachmentId": "eni-attach-0a6ad1ccbd0c4d00f",
                "DeleteOnTermination": false,
                "DeviceIndex": 3,
                "NetworkCardIndex": 0,
                "InstanceOwnerId": "292200246037",
                "Status": "attached"
            },
            "AvailabilityZone": "us-east-1c",
            "Description": "[Do not detach or untag] Amazon FSx network interface for fs-02c7c7ebb743b92a2",
            "Groups": [
                {
                    "GroupName": "default",
                    "GroupId": "sg-09833fa43dc030900"
                }
            ],
            "InterfaceType": "interface",
            "Ipv6Addresses": [],
            "MacAddress": "12:d8:3a:62:c6:1f",
            "NetworkInterfaceId": "eni-097c54b261e931320",
            "OwnerId": "<AWSアカウントID>",
            "PrivateDnsName": "ip-172-31-90-26.ec2.internal",
            "PrivateIpAddress": "172.31.90.26",
            "PrivateIpAddresses": [
                {
                    "Primary": true,
                    "PrivateDnsName": "ip-172-31-90-26.ec2.internal",
                    "PrivateIpAddress": "172.31.90.26"
                },
                {
                    "Primary": false,
                    "PrivateDnsName": "ip-172-31-81-49.ec2.internal",
                    "PrivateIpAddress": "172.31.81.49"
                },
                {
                    "Primary": false,
                    "PrivateDnsName": "ip-172-31-83-247.ec2.internal",
                    "PrivateIpAddress": "172.31.83.247"
                }
            ],
            "RequesterId": "470192892696",
            "RequesterManaged": false,
            "SourceDestCheck": false,
            "Status": "in-use",
            "SubnetId": "subnet-0e4270793b4b19850",
            "TagSet": [
                {
                    "Key": "AmazonFSx.FileSystemId",
                    "Value": "fs-02c7c7ebb743b92a2"
                }
            ],
            "VpcId": "vpc-0e0796981cea634c1"
        }
    ]
}

プライベートIPアドレスにクラスター間エンドポイントやiSCSIエンドポイントのIPアドレスが割り当てられていますが、エンドポイントIPアドレス範囲内のIPアドレスは割り当てられていないですね。

次に、ルートテーブルのルートを確認します。

VPCのルートテーブルの確認

エンドポイントIPアドレス範囲内のIPアドレスがFSx for ONTAPファイルシステムのENIにルーティングされるようになっています。これにより、管理エンドポイントやNFSのエンドポイントへのアクセスがFSx for ONTAPに到達するようになっているようですね。

VPCピアリング経由で通信できるか確認

それではVPCピアリング経由でアクセスできるか確認してみます。

VPCピアリングは以下のように設定しました。特殊なことは何もしていません。

VPCピアリングの確認

各VPCのルートテーブルで、互いのVPCのCIDRへの通信はVPCピアリングにルーティングするよう設定します。

クライアントがいるVPCのルートテーブルは以下の通りです。

クライアントのサブネットのルートテーブル

FSx for ONTAPがいるVPCのルートテーブルは以下の通りです。

FSx for ONTAPのサブネットのルートテーブル

この状態でFSx for ONTAPのボリュームをマウントしてみます。

# マウントポイントの作成
$ sudo mkdir /mnt/fsxn

# マウント
$ sudo mount -t nfs 172.31.255.209:/vol1 /mnt/fsxn -v
mount.nfs: timeout set for Tue Nov 29 14:30:39 2022
mount.nfs: trying text-based options 'vers=4.1,addr=172.31.255.209,clientaddr=10.0.1.46'

はい、いつまで経ってもマウントできませんでした。

FSx for ONTAPファイルシステムに対してSSHしようとしても通信できません。

# SSHしようとする
$ ssh fsxadmin@172.31.255.240 -v

# SSHできないので、tracerouteで到達できるのか確認
$ sudo traceroute -T -p 22 172.31.255.240
traceroute to 172.31.255.240 (172.31.255.240), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

エンドポイントIPアドレス範囲内のIPアドレスではない、クラスター間エンドポイントに対するSSHはパスワードの要求をされたため行えそうです。

$ ssh fsxadmin@172.31.90.26
The authenticity of host '172.31.90.26 (172.31.90.26)' can't be established.
ECDSA key fingerprint is SHA256:h1L3XGwsFViqzco+E4A5e/4g7HNbeitviCodYeJBh4E.
ECDSA key fingerprint is MD5:2a:23:d8:f7:da:9e:5a:54:4e:54:9c:9a:d9:ee:28:62.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.31.90.26' (ECDSA) to the list of known hosts.
Password:

そのため、VPCピアリングやルートテーブルの設定については問題なさそうです。

よくよく考えると、VPCのルートテーブルはVPCピアリングから入ってきたトラフィックに対してルーティングすることはできません。また、VPCピアリングではトランジットすることができません。そのため、内部的にVPCピアリングは「VPCのCIDR : local」のルートしか判断できないと予想します。

エンドポイントIPアドレスはENIに直接割り当てられていないフローティングIPです。もしかしたら、フローティングIPのようにENIに紐づいていないIPアドレスについては、そのIPアドレスがVPCのCIDR内で合っても「VPCのCIDR : local」のルートではルーティングできないのではと考えます。

確かに、ルートテーブル上でENIとIPアドレスが紐づいていない以上、どのENIに通信をルーティングすれば良いのか分からないですね。

ということで、VPCピアリング経由でエンドポイントIPアドレスにアクセスするのはできないと判断しました。

Transit Gateway経由で通信できることを確認

VPCピアリング経由でエンドポイントIPアドレスに通信できないことが分かったので、Transit Gateway経由でチャレンジしてみます。

構成図は以下のようになります。

Amazon FSx for NetApp ONTAPのエンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定できるようになりました_Transit Gateway版の検証環境

Transit Gatewayと各VPCにTransit Gateway attachmentの作成をしました。デフォルトのTransit gateway route tableへの関連付けと、デフォルトのTransit gateway route tableへのPropagation(伝搬)を有効にしているので、デフォルトのTransit gateway route tableに各VPCのTransit Gateway attachmentへのルートが動的に追加されます。

Transit Gateway route table

エンドポイントIPアドレスの範囲にVPCのCIDR外のものを選択した場合は、静的ルートを追加する必要があります。エンドポイントIPアドレスの範囲をVPCのCIDR内にすることで、Propagationにより動的に追加されるルートで事足ります。

あとは各VPCのルートテーブルで、互いのVPCのCIDRへの通信はTransit Gatewayにルーティングするよう設定します。

クライアントがいるVPCのルートテーブルは以下の通りです。

FSx for ONTAPのサブネットのルートテーブル

FSx for ONTAPがいるVPCのルートテーブルは以下の通りです。

クライアントのサブネットのルートテーブル

この状態でFSx for ONTAPのボリュームをマウントしてみます。

# マウント
$ sudo mount -t nfs 172.31.255.209:/vol1 /mnt/fsxn

# マウントできていることを確認
$ df -ht nfs4
Filesystem            Size  Used Avail Use% Mounted on
172.31.255.209:/vol1  973M  320K  973M   1% /mnt/fsxn

# マウントポイントを確認
$ ls -ld /mnt/fsxn/
drwxr-xr-x 2 root root 4096 Nov 29 13:33 /mnt/fsxn/

# 書き込めることを確認
# rootユーザーにスイッチ
$ sudo -i

# 書き込み
$ echo "test" > /mnt/fsxn/test.txt

# 書き込んだファイルがあることを確認
$ ls -l /mnt/fsxn/
total 0
-rw-r--r-- 1 root root 5 Nov 29 15:02 test.txt

マウントでき、書き込み読み込みも問題なくできました。

FSx for ONTAPファイルシステムに対してSSHもしてみましょう。

$ ssh fsxadmin@172.31.255.240
The authenticity of host '172.31.255.240 (172.31.255.240)' can't be established.
ECDSA key fingerprint is SHA256:h1L3XGwsFViqzco+E4A5e/4g7HNbeitviCodYeJBh4E.
ECDSA key fingerprint is MD5:2a:23:d8:f7:da:9e:5a:54:4e:54:9c:9a:d9:ee:28:62.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.31.255.240' (ECDSA) to the list of known hosts.
Password:

This is your first recorded login.

FsxId02c7c7ebb743b92a2::> network interface show -fields vserver, lif, address, is-vip, home-node, home-port, curr-node, curr-port, status-oper, is-home,failover-policy, auto-revert, failover-group
vserver                lif      address        is-vip home-node                 home-port curr-node                 curr-port status-oper is-home failover-policy       auto-revert failover-group
---------------------- -------- -------------- ------ ------------------------- --------- ------------------------- --------- ----------- ------- --------------------- ----------- --------------
FsxId02c7c7ebb743b92a2 fsxadmin 172.31.255.240 false  FsxId02c7c7ebb743b92a2-01 e0e       FsxId02c7c7ebb743b92a2-01 e0e       up          true    broadcast-domain-wide true        Fsx
FsxId02c7c7ebb743b92a2 inter_1  172.31.90.26   false  FsxId02c7c7ebb743b92a2-01 e0e       FsxId02c7c7ebb743b92a2-01 e0e       up          true    disabled              false       Fsx
FsxId02c7c7ebb743b92a2 inter_2  172.31.47.250  false  FsxId02c7c7ebb743b92a2-02 e0e       FsxId02c7c7ebb743b92a2-02 e0e       up          true    disabled              false       Fsx
SVM                    iscsi_1  172.31.83.247  false  FsxId02c7c7ebb743b92a2-01 e0e       FsxId02c7c7ebb743b92a2-01 e0e       up          true    disabled              false       Fsx
SVM                    iscsi_2  172.31.32.103  false  FsxId02c7c7ebb743b92a2-02 e0e       FsxId02c7c7ebb743b92a2-02 e0e       up          true    disabled              false       Fsx
SVM                    nfs_smb_management_1
                                172.31.255.209 false  FsxId02c7c7ebb743b92a2-01 e0e       FsxId02c7c7ebb743b92a2-01 e0e       up          true    system-defined        true        Fsx
6 entries were displayed.

こちらもできました。Transit Gateway経由でのアクセスは問題なくできますね。

本当に「VPCのCIDR : local」のルートはENIに紐づいていないIPアドレスに対してルーティングできないのか

最後に本当に「VPCのCIDR : local」のルートはENIに紐づいていないIPアドレスに対してルーティングできないのか確認してみます。

FSx for ONTAPファイルシステムがいるVPC上に「VPCのCIDR : local」のルートとTransit Gatewayのルートテーブルを作成し、FSx for ONTAPのスタンバイサブネットに割り当てます。

Transit Gateway用のルートテーブル

この状態で、FSx for ONTAPファイルシステムに対してSSHしようとしてみます。

$ ssh fsxadmin@172.31.255.240 -v
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 172.31.255.240 [172.31.255.240] port 22.

通信できなくなりましたね。

「VPCのCIDR : local」のルートではやはりENIに紐づいていないIPアドレスに対してルーティングできないですね。

次に、作成したルートテーブルにFSx for ONTAPのエンドポイントIPアドレスへのルートを追加します。

対象のFSx for ONTAPファイルシステムを作成してアクション-ルートテーブルを管理をクリックし、追加したいルートテーブルを選択します。すると、更新タブにルートテーブルの関連付けというイベントが追加されます。こちらのステータスが完了済みになることを確認します。

ルートテーブルの管理

追加したルートテーブルのルートを確認すると、エンドポイントIPアドレスへのルートが追加されています。

ルートが追加されたことを確認

ちなみにこの関連付けるルートテーブルの追加・削除をする機能もre:Invent期間中のアップデートです。

Change Description Date
Support added for updating VPC route tables on Multi-AZ file systems You can now associate (add) a new VPC route table to an existing Multi-AZ FSx for ONTAP file system or disassociate (remove) an existing VPC route table from an existing Multi-AZ FSx for ONTAP file system. For more information, see Updating a file system. November 28, 2022

抜粋 : Document History for Amazon FSx for NetApp ONTAP - FSx for ONTAP

ルートテーブルで直接上述のような「エンドポイントIPアドレス : ENI」というルートを作成しようとすると、Route destination doesn't match any subnet CIDR blocksと怒られます。

Route destination doesn't match any subnet CIDR blocks

この状態で、再度FSx for ONTAPファイルシステムに対してSSHしようとしてみます。

$ ssh fsxadmin@172.31.255.240
Password:

Last login time: 11/29/2022 15:08:28
Unsuccessful login attempts since last login: 1
FsxId02c7c7ebb743b92a2::>
FsxId02c7c7ebb743b92a2::> date show
  (cluster date show)
Node      Date                      Time zone
--------- ------------------------- -------------------------
FsxId02c7c7ebb743b92a2-01
          11/29/2022 15:21:01       Etc/UTC
          +00:00
FsxId02c7c7ebb743b92a2-02
          11/29/2022 15:21:01       Etc/UTC
          +00:00
2 entries were displayed.

SSHできました。

やはり「VPCのCIDR : local」のルートはENIに紐づいていないIPアドレスに対してはルーティングできないということが分かりました。

Transit Gateway route tableに設定するルートが少なくなります

Amazon FSx for NetApp ONTAPのエンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定できるようになったアップデートを紹介しました。

エンドポイントIPアドレスにVPCのCIDR範囲内のIPアドレスを指定することで、Transit Gateway route tableに設定するルートが少なくなるのはありがたいですね。VPC内に空きIPアドレスがないなど特に理由がなければ、VPCのCIDR範囲内のIPアドレスを指定することになると思います。

IPアドレスの範囲については後から変更できないため、SVMの数に応じてサイジングをしてください。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!