my icon

jagijagijag1 tech note

jagijagijag1

boto3で開発をしていたところ,AWSのドキュメント誤りでハマったのでメモ. AWSのドキュメントも間違ってる上に長期間修正されないこともあるので信用しすぎない.

起こったこと

  • boto3でcreate_network_acl_entryしようとしてドキュメントを確認
  • Exampleを見ると,protocolをプロトコル名で指定できるように書いてある
    response = client.create_network_acl_entry(
        CidrBlock='0.0.0.0/0',
        Egress=False,
        NetworkAclId='acl-5fb85d36',
        PortRange={
            'From': 53,
            'To': 53,
        },
        Protocol='udp',
        RuleAction='allow',
        RuleNumber=100,
    )
      
    print(response)
    
  • しかし,サンプル通りにしても動かない
  • 少し上の説明読むと,プロトコルは数値で指定しろと書いており,実際数値で引数与えるとうまくいく

    Protocol (string) – [REQUIRED] The protocol number. A value of “-1” means all protocols. If you specify “-1” or a protocol number other than “6” (TCP), “17” (UDP), or “1” (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol “58” (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol “58” (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

  • 何が悪いのか散々悩んだ挙げ句に色々探してみたところ,botocoreのところで同じ状況に対するIssueが立っていて,マニュアルの誤りだということでプルリクが作られていた
  • しかしプルリクがCloseされているが,最新版のbotocoreのドキュメントでは依然として間違ったExampleが記載されている
  • 修正がどうマージされてるのかよくわからないけど,AWSドキュメントにもそれなりの期間放置されてしまう誤りがあるという

Say Something

Comments

Recent Posts

Categories

Blog PVs

Powered by Pixela