JP7053732B2 - 仮想ネットワーク検証サービス - Google Patents
仮想ネットワーク検証サービス Download PDFInfo
- Publication number
- JP7053732B2 JP7053732B2 JP2020121858A JP2020121858A JP7053732B2 JP 7053732 B2 JP7053732 B2 JP 7053732B2 JP 2020121858 A JP2020121858 A JP 2020121858A JP 2020121858 A JP2020121858 A JP 2020121858A JP 7053732 B2 JP7053732 B2 JP 7053732B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- virtual
- virtual network
- client
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
●仮想ネットワーク内のどのインスタンスにインターネットからアクセス可能であるか。
●いずれのインスタンスが仮想ネットワーク上の指定されたリソースにアクセスできるか(例えば、データベース、キャッシュ、ストレージエンドポイント、他のインスタンスなど)。
●仮想ネットワークはネットワーキングセキュリティ標準のベストプラクティスに準拠しているか。
●仮想ネットワークは、ルールのこのセットにエンコードされているように、自分の会社のベストプラクティスに準拠しているか。
●例えば図1、図14および図15に示すような仮想ネットワーク。
●リソースインスタンス(例えば、サービス102を使用するクライアントによる、仮想コンピューティングリソースインスタンスとして構成されたVM(例えば、アプリケーションサーバ、Webサーバ、データベースサーバ、アクセスポイント、ゲートウェイ、ロードバランサー、ロギングサービスなどの特定のプロバイダネットワークサービスのインスタンス、ネットワーク監視および分析サービス、コードリポジトリサービス、コンテナ管理サービスなど)。
●タグ-いくつかの実施形態では、クライアントは、リソースインスタンスをタグ付けすることによって、クライアントの仮想ネットワーク内の特定のリソースインスタンス(例えば、VM)に特定の役割を割り当てることを可能にされ得る。タグは、例えば、PRODやDEVなどのテキスト文字列であり得る。タグは、リソースインスタンスのメタデータに格納され得る。タグは、標準プロバイダネットワーク定義タグおよび/またはクライアント定義タグを含み得る。リソースインスタンスの例示的な役割には、セキュアソケットシェル(Secure Socket Shell,SSH)アクセスインスタンス、ロギングサービスインスタンス、コードリポジトリインスタンス、本番リソースインスタンスおよび開発リソースインスタンスが含まれるが、これらに限定されない。
●仮想ネットワークエンドポイント(例えば、計算リソース、ストレージリソース、サーバ、ホストデバイスなどのエンドポイント)。
●仮想ネットワークピアリング接続。いくつかの実施形態では、クライアントはプロバイダネットワーク上に2つ以上の仮想ネットワークを確立することができる。仮想ネットワークがインターネットなどの外部ネットワークを横断する必要なしにプロバイダネットワークを介して安全に通信することを可能にするピアリング接続が、仮想ネットワーク間で確立されてもよい。
●仮想ネットワークの外部のエンティティから仮想ネットワークのリソースの少なくともいくつかへのアクセスを提供するインターネットゲートウェイ。
●例えば、仮想ネットワーク上のリソースインスタンスのグループまたはクラスタ間でネットワークトラフィックを分散する仮想化ロードバランサインスタンスである、ロードバランサ。
●ネットワークアドレス変換(Network Address Translation,NAT)インスタンス。
●NATゲートウェイ。
●ネットワークアクセスコントロールリスト(Network Access Control List,ACL)。
●ネットワークインターフェース。
●ルートテーブル。
●サブネット-仮想ネットワークは、必ずしもそうとは限らないが、例えば図14および図15に示すように、2つ以上のサブネットワーク、またはサブネットに細分することができる。
●セキュリティグループ-いくつかの実施形態では、プロバイダネットワークは、例えば図15に示すように、クライアントが、サブネット内またはサブネット間で、クライアントの仮想ネットワーク内の仮想セキュリティグループを確立および管理することを可能にし得る。セキュリティグループは、リソースインスタンスを論理的にグループ化したものであり、セキュリティグループルールに従ってセキュリティグループ内の1つ以上のリソースインスタンスに到達することを可能にされたトラフィックを制御する仮想ファイアウォールとして機能する。
●地域-プロバイダネットワークサービスおよびリソース(例えば、仮想ネットワーク、VMインスタンス、データストレージ、ゲートウェイ、ロードバランサなど)は、複数の地理的な場所または地域でサポートされ得る。本明細書で使用されるとき、地域は、プロバイダネットワークサービスをサポートし、その中でクライアントがリソースを起動および構成することができる別個の地理的領域である。サービスおよびAPIにより、クライアントは1つ以上の地域でクライアントのリソースを起動または複製することが可能になり得る。
●ゾーン-各地域には、本明細書でゾーンと呼ばれる複数の孤立した場所が含まれ得る。クライアントのリソースインスタンスは、1つのゾーン内のリソースインスタンスに障害が発生した場合に、別のゾーン内のインスタンスが要求を処理できるように、地域内の複数のゾーンに分散させることができる。
すべてのインスタンス:
!internet-can-ssh-to-instance(インスタンス)
すべてのインスタンス:
atom/instance-tag(インスタンス、タグキー/名前、タグ値/SSHAccessInstance)
<=>ClientNetwork-can-ssh-to-instance(インスタンス)
●SSHを介してクライアントネットワーク180からSSHアクセスインスタンス112のみがアクセス可能である。
●リソースインスタンス118Aおよび118Bは、中間ネットワーク150B(例えばインターネット)を介して外部エンティティ190によってそれぞれのHTTPSアクセスインスタンス114Aおよび114Bを通して到達可能である。
●リソースインスタンス118Aおよび118Bは、要求を認証するために中間ネットワーク150Bに到達することができる。
●リソースインスタンス118Aおよび118Bは特定のサービスインスタンス116に書き込むことができる。
●特定のサービスインスタンス116は、HTTPSアクセスインスタンス114Cを介してクライアントネットワーク180から到達することができる。
●指定サービスインスタンス116は、仮想ネットワーク110上の指定エンドポイントに到達することができる。
●すべてのインスタンスは、指定されたタグのセットのうちの1つでタグ付けされる。
routable-private:endpoint->endpoint->type
-:routable-private Endpoint1 Endpoint2
<-routable-private-one-way Endpoint1 Endpoint2
<-routable-private-one-way Endpoint2 Endpoint1
routable-private-one-way:endpoint->endpoint->type
-:routable-private-one-way Endpoint1 Endpoint2
<-endpoint-has-virtual-network Endpoint1 Vnetwork
<-endpoint-has-virtual-network Endpoint2 Vnetwork
-: routable-private-one-way Endpoint1 Endpoint2
//エンドポイントのIPを参照する
<-endpoint-has-private-ip Endpoint1 Ip1
<-endpoint-has- private-ip Endpoint1 Ip2
//エンドポイントの仮想ネットワークを参照する
<-endpoint-has-virtual-network Endpoint1 Vnetwork1
<-endpoint-has-virtual-network Endpoint2 Vnetwork2
//ピアリングのCIDR(クラスレスドメイン間ルーティング)を参照する
<-peered-cidrs Pcx Vnetwork1 Cidr1 Vnetwork2 Cidr2
//ソースエンドポイントのルートテーブルを参照する
<-endpoint-has-rtb Endpoint1 Rtb1
//テーブル内のルートのCIDRを参照し、そのルートがアクティブであることを確認する
<-atom/pcx-route Rtb1 Pcx Cidr3 route-state/active
//3つのCIDRすべてがそれぞれのIPと一致することを確認する
<-cidr-matches-private-ip Cidr1 Ip1
<-cidr-matches-private-ip Cidr2 Ip2
<-cidr-matches-private-ip Cidr3 Ip2
いくつかの実施形態では、仮想ネットワーク検証サービスは、クライアントが仮想ネットワーク自体を構築およびテストする必要がないように、制約、例えばクエリに課される制約を満たす仮想ネットワークを自動的に合成するのに使用できる。例えば、クライアントは、特定のネットワーキングセキュリティ標準および/またはクライアント指定のネットワーキング標準に準拠し、指定されたネットワーキングプリミティブのセットを含む仮想ネットワークを確立したいと思う場合がある。標準によって課された制約はクエリとして提示されることができ、クエリは、制約を満たす仮想ネットワーク構成を決定するために、あるいは仮想ネットワークの構成が制約に適合するかどうかを決定するために解決され得る。制約に適合する仮想ネットワークが合成されてもよく、あるいは仮想ネットワークが制約に適合するように修正されてもよい。
本項では、図1から図10を参照して説明した方法および装置の実施形態が実装され得る例示的なプロバイダネットワーク環境について説明する。しかしながら、これらの例示的なプロバイダネットワーク環境は限定的であることを意図していない。
1.メモリに結合されたプロセッサを含むコンピュータシステムであって、メモリは仮想ネットワーク検証サービスの命令を含み、命令は、実行時にシステムに、
クライアントデバイスを介してクライアントから、仮想ネットワークであってプロバイダネットワーク内でインスタンス化され仮想マシンを含む仮想ネットワークについての、クエリであって制約問題として表現されるクエリを受信させ、
クエリに応答して、
クライアントの仮想ネットワークに対する記述的情報を取得させ、
宣言的論理プログラミング言語に従って記述的情報をエンコードして、仮想ネットワークのエンコードされた記述を生成させ、
制約ソルバープログラムであって宣言型論理プログラミング言語に従って制約問題を解決するように構成された制約ソルバープログラムを使用して、エンコードされた仮想ネットワーキングルールに従ってクエリを解決させ、
クエリ解決の結果をクライアントデバイスに提供させる、システム。
2.メモリは、実行時にシステムにプロバイダネットワークのアプリケーションプログラムインターフェースから記述的情報を取得させる命令をさらに含む、条項1に記載のシステム。
3.実行時にシステムに記述的情報を取得させる命令は、実行時にシステムに、
1つ以上のプロバイダネットワークサービスから仮想ネットワークの記述的情報を取得するための許可をクライアントから受け取らせ、
1つ以上のプロバイダネットワークサービスから、プロバイダネットワーク上の仮想ネットワークに対する記述的情報を取得させる命令をさらに含む、条項1に記載のシステム。
4.記述的情報は、仮想ネットワーク内で実装されたネットワーキングプリミティブのインスタンスを識別する情報、仮想ネットワーク内の仮想マシンの記述、仮想ネットワーク内の仮想マシン間の関係の記述、または仮想ネットワークの外部のエンティティへのインターフェースの記述のうちの1つ以上を含む条項1に記載のシステム。
5.仮想ネットワーキングルールは、仮想ネットワークに実装されたネットワーキングプリミティブのための仮想ネットワーキングセマンティクスおよび論理をエンコードするルール、1つ以上のネットワーキングセキュリティ標準をエンコードするルール、またはクライアントのネットワーキング要件をエンコードするクライアント定義ルールのうちの1つ以上を含む、条項1に記載のシステム。
6.クエリは、仮想ネットワーク内の仮想マシンと仮想ネットワーク内の他の仮想マシンとの間のパスが開いていることを検証するか、仮想ネットワーク内の仮想マシンと仮想ネットワークの外部の1つ以上のエンティティとの間のパスが開いていることを検証するか、または仮想ネットワーク内の仮想マシンが、仮想マシンにアクセスすべきでないエンティティによってアクセス可能ではないことを検証するように提示される、条項1に記載のシステム。
7.結果が、クエリ解決の結果のテキスト表現、またはクエリ解決の結果のグラフィック表現のうちの1つ以上を含む、条項1に記載のシステム。
8.方法であって、
プロバイダネットワーク上の1つ以上のデバイスによって実装された仮想ネットワーク検証サービスによって、
プロバイダネットワーク上でクライアントの仮想ネットワークについてのクエリを受信し、クエリは制約問題を表すことと、
仮想ネットワークの記述的情報を取得することと、
宣言型論理プログラミング言語に従って記述的情報をエンコードして仮想ネットワークのエンコードされた記述を生成することと、
制約ソルバーエンジンを使用して、エンコードされた仮想ネットワーキングルールに従って、エンコードされた記述に対するクエリを解決することと、
クエリ解決の結果をクライアントに提供することと、を実行することを含む、方法。
9.記述的情報はクライアントから取得される、条項8に記載の方法。
10.記述的情報を取得することは、
1つ以上のプロバイダネットワークサービスから仮想ネットワークの記述的情報を取得するための許可をクライアントから取得することと、
1つ以上のプロバイダネットワークサービスからプロバイダネットワーク上の仮想ネットワークに対する記述的情報を取得することと、を含む、条項8に記載の方法。
11.記述的情報は、仮想ネットワークに実装されたネットワーキングプリミティブのインスタンスを識別する情報、仮想ネットワーク内の仮想マシンの記述、仮想ネットワーク内の仮想マシン間の関係の記述、または仮想ネットワークの外部のエンティティへのインターフェースの記述のうちの1つ以上を含む、条項8に記載の方法。
12.仮想ネットワーキングルールは、仮想ネットワークに実装されたネットワーキングプリミティブのための仮想ネットワーキングセマンティクスおよび論理をエンコードするルール、1つ以上のネットワーキングセキュリティ標準をエンコードするルール、またはクライアントのネットワーキング要件をエンコードするクライアント定義ルールのうちの1つ以上を含む、条項8に記載の方法。
13.クライアントからエンコードされた仮想ネットワーキングルールを受信することをさらに含み、エンコードされた仮想ネットワーキングルールは、クライアントによって定義された仮想ネットワークに対するベストプラクティスを指定するルールを含み、クエリは、仮想ネットワークがベストプラクティスに準拠することを検証するように提示される、条項8に記載の方法。
14.クエリは、仮想ネットワーク内の仮想マシンと仮想ネットワーク内の別の仮想マシンとの間のパスが開いていることを検証するか、仮想ネットワーク内の仮想マシンと仮想ネットワークの外部の1つ以上のエンティティとの間のパスが開いていることを検証するか、または仮想ネットワーク内の仮想マシンが、仮想マシンにアクセスすべきでないエンティティによってアクセス可能ではないことを検証するように提示される、条項8に記載の方法。
15.クエリ解決の結果をクライアントに提供することは、クエリ解決の結果のテキスト表現をクライアントに提供すること、またはクエリ解決の結果のグラフィック表現をクライアントに提供することを含む、条項8に記載の方法。
16.クエリを受信することと、記述的情報を取得することと、仮想ネットワーク検証サービスへのアプリケーションプログラミングインターフェースに従ってクエリ解決の結果を提供することと、をさらに含む、条項8に記載の方法。
17.クライアントの仮想ネットワークは2つのピア仮想ネットワークを含み、クエリは、第1のピア仮想ネットワーク内の仮想マシンがプロバイダネットワークを介したピア仮想ネットワーク間のピア接続を介して第2のピア仮想ネットワーク内の別の仮想マシンと通信できることを検証するように提示される、条項8に記載の方法。
18.プログラム命令を格納した非一時的コンピュータ可読記憶媒体であって、前記プログラム命令は1つ以上のコンピュータによって実行されると前記1つ以上のコンピュータに、
プロバイダネットワーク上におけるクライアントの仮想ネットワークについての1つ以上のクエリであって制約問題として表現されるクエリを受け取らせ、
仮想ネットワークの記述的情報を取得させ、
宣言的論理プログラミング言語に従って記述的情報をエンコードして仮想ネットワークのエンコードされた記述を生成させ、
制約ソルバーエンジンを使用して、エンコードされた仮想ネットワーキングルールに従って、エンコードされた記述に対する1つ以上のクエリを解決させ、
1つ以上のクエリの解決の結果をクライアントに提供させる、非一時的コンピュータ可読記憶媒体。
19.記述的情報は、クライアントから、または仮想ネットワークを記述するメタデータを保持する1つ以上のプロバイダネットワークサービスから取得される、条項18に記載の非一時的コンピュータ可読記憶媒体。
20.記述的情報は、仮想ネットワーク内で実装されたネットワーキングプリミティブのインスタンスを識別する情報、仮想ネットワーク内の仮想マシンの記述、仮想ネットワーク内の仮想マシン間の関係の記述、または仮想ネットワークの外部のエンティティへのインターフェースの記述のうちの1つ以上を含む、条項18に記載の非一時的コンピュータ可読記憶媒体。
21.仮想ネットワーキングルールは、仮想ネットワークに実装されたネットワーキングプリミティブのための仮想ネットワーキングセマンティクスおよび論理をエンコードするルール、1つ以上のネットワーキングセキュリティ標準をエンコードするルール、またはクライアントのネットワーキング要件をエンコードするクライアント定義ルールのうちの1つ以上を含む、条項18に記載の非一時的コンピュータ可読記憶媒体。
いくつかの実施形態では、本明細書に記載のプロバイダネットワーク環境において仮想ネットワークを検証するための方法および装置の一部または全部を実装するシステムは、1つ以上のコンピュータアクセス可能媒体を含む、またはこれにアクセスするように構成された、例えば、図16に示すコンピュータシステム5000などの汎用コンピュータシステムを含み得る。図示の実施形態では、コンピュータシステム5000は、入出力(I/O)インターフェース5030を介してシステムメモリ5020に結合された1つ以上のプロセッサ5010を含む。コンピュータシステム5000は、I/Oインターフェース5030に結合されたネットワークインターフェース5040をさらに含む。
様々な実施形態は、コンピュータアクセス可能媒体上で前述の説明に従って実装された命令および/またはデータを受信、送信または記憶することをさらに含むことができる。一般的に言えば、コンピュータアクセス可能媒体は、ディスクまたはDVD/CD-ROMなどの磁気または光媒体、RAM(例えば、SDRAM、DDR、RDRAM、SRAMなど)、ROMなどの揮発性または不揮発性媒体、ならびにネットワークおよび/または無線リンクなどの通信媒体を介して伝達される、電気信号、電磁気信号、またはデジタル信号などの伝送媒体または信号を含むことができる。
Claims (15)
- メモリに結合されたプロセッサを含むコンピュータシステムであって、前記メモリは、仮想ネットワーク検証サービスのための命令を含み、該命令は、実行に際して前記システムに、
クライアントデバイスを介して、クライアントから仮想ネットワークのためのネットワーキングプリミティブに対する指定仕様を受信させ、
宣言型論理プログラミング言語に従って、前記指定されたネットワーキングプリミティブに少なくとも部分的に基づいて、前記仮想ネットワークのためのエンコードされた仮想ネットワーキングルールを生成させ、
前記宣言型論理プログラミング言語に従って、前記指定されたネットワーキングプリミティブに少なくとも部分的に基づいて、前記仮想ネットワークのエンコードされた記述を生成させ、
前記仮想ネットワークに対するクエリであって、前記仮想ネットワークに対する制約を指定する制約問題として表現される前記クエリを、前記クライアントデバイスを介して前記クライアントから受信させ、
前記宣言型論理プログラミング言語に従って、制約問題を解決するように構成される制約ソルバープログラムを使用して、前記エンコードされた仮想ネットワーキングルールに従って、前記仮想ネットワークの前記エンコードされた記述に対するクエリを解決させ、且つ、
前記仮想ネットワークの前記エンコードされた記述に対する前記クエリの解決の結果に基づいて、前記クエリによって指定された制約を満たす前記ネットワークのための構成を生成させる、コンピュータシステム。 - 前記メモリは命令を更に備え、該命令は、実行に際して前記システムに、前記生成された構成に従って、プロバイダネットワーク内で仮想ネットワークをインスタンス化させ、前記インスタンス化された仮想ネットワークは、1つ以上の仮想マシンを含む、請求項1に記載のシステム。
- 前記メモリは命令を更に備え、該命令は、実行に際して前記システムに、前記生成された構成に従って、プロバイダネットワーク内で既存の仮想ネットワークを修正させ、前記既存の仮想ネットワークは、1つ以上の仮想マシンを含む、請求項1に記載のシステム。
- 前記エンコードされた仮想ネットワーキングルールは、ルールの中の1つ以上を含み、ここで該ルールとは、前記指定されたネットワーキングプリミティブに対して仮想ネットワーキングセマンティクス及び論理をエンコードするルールか、前記クライアントによって指定された1つ以上のネットワーキングセキュリティ標準をエンコードするルールか、又は前記クライアントのネットワーキング要件をエンコードするクライアント定義ルールである、請求項1に記載のシステム。
- 前記クエリは、クエリの中の1つ以上を含み、ここで該クエリとは、前記仮想ネットワーク内の仮想マシンと前記仮想ネットワーク内の他の仮想マシンとの間のパスが開いていることを検証するために提示されるクエリか、前記仮想ネットワーク内の仮想マシンと前記仮想ネットワークの外部の1つ以上のエンティティとの間のパスが開いていることを検証するために提示されるクエリか、又は前記仮想ネットワーク内の仮想マシンが、前記仮想マシンにアクセスすべきでないエンティティによってアクセス可能ではないことを検証するために提示されるクエリである、請求項1に記載のシステム。
- 前記仮想ネットワークのための前記ネットワーキングプリミティブに対する前記指定仕様及び前記仮想ネットワークに対する前記クエリは、前記仮想ネットワーク検証サービスへのアプリケーションプログラミングインターフェースに従って受信される、請求項1に記載のシステム。
- 前記ネットワーキングプリミティブは、1つ以上のプロバイダネットワークサービスを介して、プロバイダネットワークのクライアントに提供されるネットワーキングリソース、構造、機能性を含む、請求項1に記載のシステム。
- 方法であって、
プロバイダネットワーク上の1つ以上のデバイスによって実装された仮想ネットワーク検証サービスによって、
仮想ネットワークのためのネットワーキングプリミティブに対する指定仕様を受信することと、
宣言型論理プログラミング言語に従って、前記指定されたネットワーキングプリミティブに少なくとも部分的に基づいて、前記仮想ネットワークに対してエンコードされた仮想ネットワーキングルールを生成することと、
前記宣言型論理プログラミング言語に従って、前記指定されたネットワーキングプリミティブに少なくとも部分的に基づいて、前記仮想ネットワークのエンコードされた記述を生成することと、
前記仮想ネットワークに対するクエリであって、前記仮想ネットワークに対する制約を指定する制約問題として表現される前記クエリを受信することと、
制約ソルバーエンジンを使用して、前記エンコードされた仮想ネットワーキングルールに従って、前記仮想ネットワークの前記エンコードされた記述に対してクエリを解決することと、
前記仮想ネットワークの前記エンコードされた記述に対する前記クエリの解決の結果に基づいて、前記クエリによって指定された前記制約を満たす前記仮想ネットワークのための構成を生成することと、
を実行することを備える、方法。 - 前記生成された構成に従って、前記プロバイダネットワーク内で前記仮想ネットワークをインスタンス化することを更に備える方法であって、前記インスタンス化された仮想ネットワークは、1つ以上の仮想マシンを含む、請求項8に記載の方法。
- 前記生成された構成に従って、前記プロバイダネットワーク内で既存の仮想ネットワークを修正することを更に備える方法であって、前記既存の仮想ネットワークは、1つ以上の仮想マシンを含む、請求項8に記載の方法。
- 前記エンコードされた仮想ネットワーキングルールは、ルールの中の1つ以上を含み、ここで該ルールとは、前記指定されたネットワーキングプリミティブに対して仮想ネットワーキングセマンティクス及び論理をエンコードするルールか、クライアントによって指定された1つ以上のネットワーキングセキュリティ標準をエンコードするルールか、又は前記クライアントのネットワーキング要件をエンコードするクライアント定義ルールである、請求項8に記載の方法。
- 前記クエリは、クエリの中の1つ以上を含み、ここで該クエリとは、前記仮想ネットワーク内の仮想マシンと前記仮想ネットワーク内の他の仮想マシンとの間のパスが開いていることを検証するために提示されるクエリか、前記仮想ネットワーク内の仮想マシンと前記仮想ネットワークの外部の1つ以上のエンティティとの間のパスが開いていることを検証するために提示されるクエリか、又は前記仮想ネットワーク内の仮想マシンが、前記仮想マシンにアクセスすべきでないエンティティによってアクセス可能ではないことを検証するために提示されるクエリである、請求項8に記載の方法。
- 前記仮想ネットワークのための前記ネットワーキングプリミティブに対する前記指定仕様及び前記仮想ネットワークに対する前記クエリは、前記仮想ネットワーク検証サービスへのアプリケーションプログラミングインターフェースに従って、前記プロバイダネットワークのクライアントから受信される、請求項8に記載の方法。
- 前記ネットワーキングプリミティブは、1つ以上のプロバイダネットワークサービスを介して、前記プロバイダネットワークのクライアントに提供されるネットワーキングリソース、構造、機能性を含む、請求項8に記載の方法。
- プログラム命令を格納する1つ以上の非一時的コンピュータ可読記憶媒体であって、該プログラム命令は、1つ以上のプロセッサ上で又は1つ以上のプロセッサにわたって実行されると、前記1つ以上のプロセッサに、
仮想ネットワークのためのネットワークプリミティブに対する指定仕様を受信させ、
宣言型論理プログラミング言語に従って、前記指定されたネットワーキングプリミティブに少なくとも部分的に基づいて、前記仮想ネットワークに対してエンコードされた仮想ネットワーキングルールを生成させ、
前記宣言型論理プログラミング言語に従って、前記指定されたネットワーキングプリミティブに少なくとも部分的に基づいて、前記仮想ネットワークのエンコードされた記述を生成させ、
前記仮想ネットワークに対するクエリであって、前記仮想ネットワークに対する制約を指定する制約問題として表現される前記クエリを受信させ、
制約ソルバーエンジンを使用して、前記エンコードされた仮想ネットワーキングルールに従って、前記仮想ネットワークの前記エンコードされた記述に対してクエリを解決させ、且つ、
前記仮想ネットワークの前記エンコードされた記述に対する前記クエリの解決の結果に基づいて、前記クエリによって指定された前記制約を満たす前記仮想ネットワークのための構成を生成させる、1つ以上の非一時的コンピュータ可読記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022058458A JP7293446B2 (ja) | 2016-11-22 | 2022-03-31 | 仮想ネットワーク検証サービス |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/359,500 | 2016-11-22 | ||
US15/359,500 US10469324B2 (en) | 2016-11-22 | 2016-11-22 | Virtual network verification service |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019547254A Division JP6737965B2 (ja) | 2016-11-22 | 2017-11-17 | 仮想ネットワーク検証サービス |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022058458A Division JP7293446B2 (ja) | 2016-11-22 | 2022-03-31 | 仮想ネットワーク検証サービス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020195139A JP2020195139A (ja) | 2020-12-03 |
JP7053732B2 true JP7053732B2 (ja) | 2022-04-12 |
Family
ID=60703016
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019547254A Active JP6737965B2 (ja) | 2016-11-22 | 2017-11-17 | 仮想ネットワーク検証サービス |
JP2020121858A Active JP7053732B2 (ja) | 2016-11-22 | 2020-07-16 | 仮想ネットワーク検証サービス |
JP2022058458A Active JP7293446B2 (ja) | 2016-11-22 | 2022-03-31 | 仮想ネットワーク検証サービス |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019547254A Active JP6737965B2 (ja) | 2016-11-22 | 2017-11-17 | 仮想ネットワーク検証サービス |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022058458A Active JP7293446B2 (ja) | 2016-11-22 | 2022-03-31 | 仮想ネットワーク検証サービス |
Country Status (5)
Country | Link |
---|---|
US (3) | US10469324B2 (ja) |
EP (1) | EP3545650A1 (ja) |
JP (3) | JP6737965B2 (ja) |
CN (2) | CN114884822B (ja) |
WO (1) | WO2018098042A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10469324B2 (en) | 2016-11-22 | 2019-11-05 | Amazon Technologies, Inc. | Virtual network verification service |
JP6585656B2 (ja) * | 2017-05-10 | 2019-10-02 | 株式会社ソニー・インタラクティブエンタテインメント | 製造ライン用コンピュータシステム及びそのネットワーク設定方法 |
US10474435B2 (en) * | 2017-08-07 | 2019-11-12 | Sap Se | Configuration model parsing for constraint-based systems |
US10534592B2 (en) | 2017-08-07 | 2020-01-14 | Sap Se | Template expressions for constraint-based systems |
US20190238410A1 (en) * | 2018-01-31 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Verifying network intents |
US11108805B2 (en) * | 2018-06-27 | 2021-08-31 | Amazon Technologies, Inc. | Automated packetless network reachability analysis |
US11570244B2 (en) * | 2018-12-11 | 2023-01-31 | Amazon Technologies, Inc. | Mirroring network traffic of virtual networks at a service provider network |
US20200192898A1 (en) * | 2018-12-14 | 2020-06-18 | Amazon Technologies, Inc. | Multi-tenant storage for analytics with push down filtering |
US11483350B2 (en) * | 2019-03-29 | 2022-10-25 | Amazon Technologies, Inc. | Intent-based governance service |
US11606301B2 (en) | 2019-04-23 | 2023-03-14 | Hewlett Packard Enterprise Development Lp | Verifying intents in stateful networks using atomic address objects |
US11044184B2 (en) * | 2019-05-28 | 2021-06-22 | Servicenow, Inc. | Data packet loss detection |
US11442959B2 (en) * | 2019-08-07 | 2022-09-13 | Nutanix, Inc. | System and method of time-based snapshot synchronization |
CN110311828B (zh) * | 2019-08-14 | 2021-03-30 | 清华大学 | 一种网络验证的方法、装置、计算机存储介质及电子设备 |
US11451477B2 (en) * | 2019-09-27 | 2022-09-20 | Amazon Technologies, Inc. | Load balanced access to distributed endpoints |
US20220103518A1 (en) * | 2020-08-03 | 2022-03-31 | Cazena, Inc. | Scalable security for SaaS data lakes |
KR102382317B1 (ko) * | 2020-10-22 | 2022-04-04 | 국방과학연구소 | 사이버 훈련 도구 다운로드 시스템 및 방법 |
US11516088B1 (en) * | 2021-10-28 | 2022-11-29 | Microsoft Technology Licensing, Llc | Network configuration verification in computing systems |
CN114244763B (zh) * | 2021-12-20 | 2023-11-17 | 中电福富信息科技有限公司 | 基于规则引擎的动态网络拓扑管理方法及其系统 |
US20240089257A1 (en) * | 2022-09-08 | 2024-03-14 | Vmware, Inc. | Evaluation of network correctness requirement |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136788A1 (en) | 2004-12-16 | 2007-06-14 | Monahan Brian Q | Modelling network to assess security properties |
JP2015204614A (ja) | 2014-04-10 | 2015-11-16 | 富士通株式会社 | オブジェクト指向のネットワーク仮想化 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892903A (en) | 1996-09-12 | 1999-04-06 | Internet Security Systems, Inc. | Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system |
US7047288B2 (en) | 2000-01-07 | 2006-05-16 | Securify, Inc. | Automated generation of an english language representation of a formal network security policy specification |
JP2002185512A (ja) * | 2000-12-12 | 2002-06-28 | Hitachi Ltd | ネットワーク接続性検証方法 |
US7761480B2 (en) * | 2003-07-22 | 2010-07-20 | Kinor Technologies Inc. | Information access using ontologies |
US7685281B1 (en) * | 2004-02-13 | 2010-03-23 | Habanero Holdings, Inc. | Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers |
WO2005101789A1 (en) | 2004-04-14 | 2005-10-27 | Gurunath Samir Kalekar | A system for real-time network based vulnerability assessment of a host/device |
US20080059416A1 (en) * | 2004-09-15 | 2008-03-06 | Forbes David I | Software system for rules-based searching of data |
GB2424539A (en) * | 2005-03-22 | 2006-09-27 | Hewlett Packard Development Co | Modelling network to determine assess security properties |
US8250654B1 (en) | 2005-01-27 | 2012-08-21 | Science Applications International Corporation | Systems and methods for implementing and scoring computer network defense exercises |
US10015140B2 (en) | 2005-02-03 | 2018-07-03 | International Business Machines Corporation | Identifying additional firewall rules that may be needed |
US7523118B2 (en) * | 2006-05-02 | 2009-04-21 | International Business Machines Corporation | System and method for optimizing federated and ETL'd databases having multidimensionally constrained data |
US8145760B2 (en) * | 2006-07-24 | 2012-03-27 | Northwestern University | Methods and systems for automatic inference and adaptation of virtualized computing environments |
US8938783B2 (en) * | 2006-09-11 | 2015-01-20 | Microsoft Corporation | Security language expressions for logic resolution |
US8281396B2 (en) | 2008-08-15 | 2012-10-02 | Qualys, Inc. | System and method for performing remote security assessment of firewalled computer |
US9106540B2 (en) * | 2009-03-30 | 2015-08-11 | Amazon Technologies, Inc. | Providing logical networking functionality for managed computer networks |
CN101699801B (zh) * | 2009-10-30 | 2011-09-28 | 孙喜明 | 一种数据传输方法及传输数据的虚拟对等网络系统 |
CN102170457A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 向应用的多租户提供服务的方法和装置 |
US9129086B2 (en) * | 2010-03-04 | 2015-09-08 | International Business Machines Corporation | Providing security services within a cloud computing environment |
US9177017B2 (en) * | 2010-09-27 | 2015-11-03 | Microsoft Technology Licensing, Llc | Query constraint encoding with type-based state machine |
JP5383927B2 (ja) | 2010-11-17 | 2014-01-08 | 株式会社日立製作所 | 通信ネットワークに接続されている通信装置を発見する方法及び管理装置 |
US8782762B2 (en) * | 2011-08-17 | 2014-07-15 | International Business Machines Corporation | Building data security in a networked computing environment |
US9311159B2 (en) * | 2011-10-31 | 2016-04-12 | At&T Intellectual Property I, L.P. | Systems, methods, and articles of manufacture to provide cloud resource orchestration |
US9426169B2 (en) | 2012-02-29 | 2016-08-23 | Cytegic Ltd. | System and method for cyber attacks analysis and decision support |
EP2852107B1 (en) * | 2012-06-21 | 2021-03-03 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
JP2014083535A (ja) * | 2012-10-29 | 2014-05-12 | Jfe Steel Corp | ハンマーミルおよびハンマーの再利用方法 |
US9122510B2 (en) | 2013-01-02 | 2015-09-01 | International Business Machines Corporation | Querying and managing computing resources in a networked computing environment |
DE102013003055A1 (de) * | 2013-02-18 | 2014-08-21 | Nadine Sina Kurz | Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache |
JP6036464B2 (ja) * | 2013-03-26 | 2016-11-30 | 富士通株式会社 | プログラム、診断方法及び診断システム |
US9374302B2 (en) * | 2013-04-26 | 2016-06-21 | Brocade Communications Systems, Inc. | Distributed methodology for peer-to-peer transmission of stateful packet flows |
US9177250B2 (en) * | 2013-06-28 | 2015-11-03 | Vmware, Inc. | Method and system for determining configuration rules based on configurations of complex systems |
US9634900B2 (en) * | 2014-02-28 | 2017-04-25 | Futurewei Technologies, Inc. | Declarative approach to virtual network creation and operation |
CN104363159B (zh) * | 2014-07-02 | 2018-04-06 | 北京邮电大学 | 一种基于软件定义网络的开放虚拟网络构建系统和方法 |
US9686162B2 (en) | 2014-10-17 | 2017-06-20 | International Business Machines Corporation | Identifying configuration inconsistency in edge-based software defined networks (SDN) |
WO2016103421A1 (ja) * | 2014-12-25 | 2016-06-30 | 株式会社日立システムズ | クラウド構成可視化システム、クラウド構成可視化方法及びクラウド構成可視化プログラム |
JP5911620B2 (ja) * | 2015-03-05 | 2016-04-27 | 株式会社日立製作所 | 仮想ネットワーク管理サーバ及びエッジルータ |
US20170293501A1 (en) * | 2016-04-11 | 2017-10-12 | Vmware, Inc. | Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility |
US10469324B2 (en) | 2016-11-22 | 2019-11-05 | Amazon Technologies, Inc. | Virtual network verification service |
WO2018130903A1 (en) | 2017-01-11 | 2018-07-19 | Morphisec Information Security Ltd. | Protecting computing devices from a malicious process by exposing false information |
US11108805B2 (en) * | 2018-06-27 | 2021-08-31 | Amazon Technologies, Inc. | Automated packetless network reachability analysis |
US11425157B2 (en) * | 2018-08-24 | 2022-08-23 | California Institute Of Technology | Model based methodology for translating high-level cyber threat descriptions into system-specific actionable defense tactics |
US11483350B2 (en) * | 2019-03-29 | 2022-10-25 | Amazon Technologies, Inc. | Intent-based governance service |
-
2016
- 2016-11-22 US US15/359,500 patent/US10469324B2/en active Active
-
2017
- 2017-11-17 WO PCT/US2017/062336 patent/WO2018098042A1/en unknown
- 2017-11-17 CN CN202210533894.5A patent/CN114884822B/zh active Active
- 2017-11-17 JP JP2019547254A patent/JP6737965B2/ja active Active
- 2017-11-17 CN CN201780070172.8A patent/CN109964451B/zh active Active
- 2017-11-17 EP EP17817389.4A patent/EP3545650A1/en active Pending
-
2019
- 2019-11-01 US US16/672,120 patent/US11095523B2/en active Active
-
2020
- 2020-07-16 JP JP2020121858A patent/JP7053732B2/ja active Active
-
2021
- 2021-08-11 US US17/400,057 patent/US20210377126A1/en active Pending
-
2022
- 2022-03-31 JP JP2022058458A patent/JP7293446B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070136788A1 (en) | 2004-12-16 | 2007-06-14 | Monahan Brian Q | Modelling network to assess security properties |
JP2015204614A (ja) | 2014-04-10 | 2015-11-16 | 富士通株式会社 | オブジェクト指向のネットワーク仮想化 |
Also Published As
Publication number | Publication date |
---|---|
WO2018098042A1 (en) | 2018-05-31 |
JP6737965B2 (ja) | 2020-08-12 |
JP2022079638A (ja) | 2022-05-26 |
US20200067785A1 (en) | 2020-02-27 |
CN109964451B (zh) | 2022-06-07 |
EP3545650A1 (en) | 2019-10-02 |
CN109964451A (zh) | 2019-07-02 |
JP7293446B2 (ja) | 2023-06-19 |
CN114884822A (zh) | 2022-08-09 |
JP2020504405A (ja) | 2020-02-06 |
US11095523B2 (en) | 2021-08-17 |
US20210377126A1 (en) | 2021-12-02 |
US20180145879A1 (en) | 2018-05-24 |
CN114884822B (zh) | 2024-04-05 |
JP2020195139A (ja) | 2020-12-03 |
US10469324B2 (en) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7053732B2 (ja) | 仮想ネットワーク検証サービス | |
US20230171188A1 (en) | Linking Resource Instances to Virtual Network in Provider Network Environments | |
JP7060636B2 (ja) | 仮想ネットワークインタフェースオブジェクト | |
US10666606B2 (en) | Virtual private network service endpoints | |
US11269673B2 (en) | Client-defined rules in provider network environments | |
US11671442B2 (en) | Automated packetless network reachability analysis | |
US10911406B2 (en) | Accessing cloud resources using private network addresses | |
US10862796B1 (en) | Flow policies for virtual networks in provider network environments | |
US10326710B1 (en) | Propagating access rules on virtual networks in provider network environments | |
US10057267B1 (en) | Integrating external devices with private networks in provider network environments | |
US10558482B1 (en) | Client network instances for resources in provider network environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200828 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211026 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220331 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7053732 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |