

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS TNB에서 네트워크 인스턴스 업데이트
<a name="update-network-instance"></a>

네트워크 인스턴스가 인스턴스화되면 인프라 또는 애플리케이션을 업데이트해야 할 수 있습니다. 이렇게 하려면 네트워크 인스턴스의 네트워크 패키지 및 파라미터 값을 업데이트하고 업데이트 작업을 배포하여 변경 사항을 적용합니다.

## 고려 사항
<a name="update-considerations"></a>
+ `Instantiated` 또는 `Updated` 상태의 네트워크 인스턴스를 업데이트할 수 있습니다.
+ 네트워크 인스턴스를 업데이트할 때 `UpdateSolNetworkService` API는 새 네트워크 패키지와 파라미터 값을 사용하여 네트워크 인스턴스의 토폴로지를 업데이트합니다.
+ AWS TNB는 네트워크 인스턴스의 NSD 및 VNFD 파라미터 수가 200개를 초과하지 않는지 확인합니다. 이 제한은 서비스에 영향을 미치는 잘못된 페이로드를 전달하는 악의적인 행위자로부터 보호하기 위해 적용됩니다.

## 업데이트할 수 있는 파라미터
<a name="update-parameters"></a>

인스턴스화된 네트워크 인스턴스를 업데이트할 때 다음 파라미터를 업데이트할 수 있습니다.


| 파라미터 | 설명 | 예: 이전 | 예: 이후 | 
| --- | --- | --- | --- | 
| Amazon EKS 클러스터 버전 | Amazon EKS 클러스터 컨트롤 플레인 `version` 파라미터의 값을 다음 마이너 버전으로 업데이트할 수 있습니다. 버전을 다운그레이드할 수 없습니다. |  <pre>EKSCluster:<br />    type: tosca.nodes.AWS.Compute.EKS<br />    properties:<br />      version: "{{1.28}}"</pre> |  <pre>EKSCluster:<br />    type: tosca.nodes.AWS.Compute.EKS<br />    properties:<br />      version: "{{1.29}}"</pre> | 
| Amazon EKS 워커 노드 | `EKSManagedNode kubernetes_version` 파라미터 값을 업데이트하여 노드 그룹을 최신 Amazon EKS 버전으로 업그레이드하거나 `ami_id` 파라미터를 업데이트하여 노드 그룹을 최신 EKS 최적화 AMI로 업그레이드할 수 있습니다.<br />의 AMI ID를 업데이트할 수 있습니다`EKSSelfManagedNode`. AMI의 Amazon EKS 버전은 Amazon EKS 클러스터 버전과 동일하거나 최대 2개 버전 미만이어야 합니다. 예를 들어 Amazon EKS 클러스터 버전이 1.31인 경우 Amazon EKS AMI 버전은 1.31, 1.30 또는 1.29여야 합니다. |  <pre>EKSManagedNodeGroup01:<br />    ...<br />    properties:<br />      kubernetes_version: "{{1.28}}"<br />    EKSSelfManagedNode01:<br />      compute:<br />        compute:<br />          properties:<br />            ami_id: "{{ami-123123OLD}}"</pre> |  <pre>EKSManagedNodeGroup01:<br />    ...<br />    properties:<br />      kubernetes_version: "{{1.29}}"<br />    EKSSelfManagedNode01:<br />      compute:<br />        compute:<br />          properties:<br />            ami_id: "{{ami-123123NEW}}"</pre> | 
| Amazon EKS 노드 그룹 | 컴퓨팅 요구 사항에 따라 노드 그룹을 추가하거나 제거할 수 있습니다.<br />기존 노드 그룹을 삭제하고 새 노드 그룹을 추가할 때 새 노드 그룹의 IDs가 삭제된 노드 그룹과 다른지 확인합니다. 그렇지 않으면 작업이 삭제 및 추가 대신 노드 그룹 수정으로 처리됩니다. 기존 노드 그룹의 경우 제한된 파라미터 집합만 업데이트할 수 있습니다. 이 테이블을 스크롤하여 업데이트할 수 있는 파라미터를 확인합니다. |  <pre>Free5GCEKSNode01:<br />  type: tosca.nodes.AWS.Compute.EKSManagedNode<br />  ...<br />    scaling:<br />      properties:<br />        desired_size: 1<br />        min_size: 1<br />        max_size: 1<br />  ...<br />{{Free5GCEKSNode02}}: # Deleted Nodegroup<br />  type: tosca.nodes.AWS.Compute.EKSManagedNode<br />  ...<br />    scaling:<br />      properties:<br />        desired_size: 1<br />        min_size: 1<br />        max_size: 1<br />  ...<br />{{Free5GCEKSNode03}}: # Deleted Nodegroup  <br />  type: tosca.nodes.AWS.Compute.EKSSelfManagedNode<br />  ...<br />    scaling:<br />      properties:<br />        desired_size: 1<br />        min_size: 1<br />        max_size: 1<br />  ...</pre> | <pre>Free5GCEKSNode01:<br />  type: tosca.nodes.AWS.Compute.EKSManagedNode<br />  ...<br />    scaling:<br />      properties:<br />        desired_size: 1<br />        min_size: 1<br />        max_size: 1<br />  ...<br />{{Free5GCEKSNode04}}: # New Nodegroup<br />  type: tosca.nodes.AWS.Compute.EKSSelfManagedNode<br />  ...<br />    scaling:<br />      properties:<br />        desired_size: 1<br />        min_size: 1<br />        max_size: 1<br />  ...<br />{{Free5GCEKSNode05}}: # New Nodegroup  <br />  type: tosca.nodes.AWS.Compute.EKSManagedNode<br />  ...<br />    scaling:<br />      properties:<br />        desired_size: 1<br />        min_size: 1<br />        max_size: 1<br />  ...</pre> | 
| 조정 속성 | `EKSManagedNode` 및 `EKSSelfManagedNode` TOSCA 노드의 조정 속성을 업데이트할 수 있습니다. |  <pre>EKSNodeGroup01:<br />    ...<br />    scaling:<br />        properties:<br />            desired_size: {{1}}<br />            min_size: {{1}}<br />            max_size: {{1}}</pre>  |  <pre>EKSNodeGroup01:<br />    ...<br />    scaling:<br />        properties:<br />            desired_size: {{2}}<br />            min_size: {{0}}<br />            max_size: {{2}}</pre>  | 
| Amazon EBS CSI 플러그인 속성 | Amazon EKS 클러스터에서 Amazon EBS CSI 플러그인을 활성화하거나 비활성화할 수 있습니다. 플러그인 버전을 변경할 수도 있습니다. |  <pre>EKSCluster:<br />  capabilities:<br />   ...<br />    ebs_csi:<br />      properties:<br />        enabled: {{false}}</pre>  |  <pre>EKSCluster:<br />  capabilities:<br />   ...<br />    ebs_csi:<br />      properties:<br />        enabled: {{true}}<br />        version: "{{v1.30.0-eksbuild.1}}"</pre>  | 
| 루트 볼륨 크기 | EKSManagedNode 및 EKSSelfManagedNode TOSCA 노드의 루트 볼륨 크기 속성을 추가, 제거 또는 업데이트할 수 있습니다. |  <pre>Free5GCEKSNode01:<br />      ...<br />      capabilities:        <br />        compute:<br />          properties:<br />            root_volume_size: {{50}}</pre>  |  <pre>Free5GCEKSNode01:<br />      ...<br />      capabilities:<br />        compute:<br />          properties:            <br />            root_volume_size: {{100}}</pre>  | 
| VNF | NSD에서 VNFs를 참조하고 VNFDeployment TOSCA 노드를 사용하여 NSD에서 생성된 클러스터에 배포할 수 있습니다. 업데이트의 일환으로 VNFs 있습니다. |  <pre>vnfds:<br />  - descriptor_id: "{{43c012fa-2616-41a8-a833-0dfd4c5a049e}}"<br />    namespace: "{{vnf1}}"<br />  - descriptor_id: "{{64222f98-ecd6-4871-bf94-7354b53f3ee5}}"<br />    namespace: "{{vnf2}}" // Deleted VNF<br />...<br />SampleVNF1HelmDeploy:<br />      type: tosca.nodes.AWS.Deployment.VNFDeployment<br />      requirements:<br />        cluster: EKSCluster<br />        vnfs:<br />          - {{vnf1.SampleVNF1}}<br />          - {{vnf2.SampleVNF2}}</pre>  |  <pre>vnfds:<br />  - descriptor_id: "{{59f77222-79e9-4dc1-be53-5712ad06e31b}}"<br />    namespace: "{{vnf1}}" // Updated VNF<br />  - descriptor_id: "{{b7e072dc-839d-4fac-916c-561a166da1fc}}"<br />    namespace: "{{vnf3}}" // Added VNFn<br />....<br />SampleVNF1HelmDeploy:<br />      type: tosca.nodes.AWS.Deployment.VNFDeployment<br />      requirements:<br />        cluster: EKSCluster<br />        vnfs:<br />          - {{vnf1.SampleVNF1}}<br />          - {{vnf3.SampleVNF3}}</pre>  | 
| 후크 | 네트워크 함수를 생성하기 전과 후에 수명 주기 작업을 실행하려면 `VNFDeployment` 노드에 `pre_create` 및 `post_create` 후크를 추가합니다.<br />이 예제에서는이 인스턴스화되기 전에 `PreCreateHook` 후크`vnf3.SampleVNF3`가 실행되고이 인스턴스화되면 `PostCreateHook` 후크`vnf3.SampleVNF3`가 실행됩니다. |  <pre>vnfds:<br />  - descriptor_id: "{{43c012fa-2616-41a8-a833-0dfd4c5a049e}}"<br />    namespace: "{{vnf1}}"<br />  - descriptor_id: "{{64222f98-ecd6-4871-bf94-7354b53f3ee5}}"<br />    namespace: "{{vnf2}}"<br />...<br />SampleVNF1HelmDeploy:<br />  type: tosca.nodes.AWS.Deployment.VNFDeployment<br />  requirements:<br />    cluster: EKSCluster<br />    vnfs:<br />      - {{vnf1.SampleVNF1}}<br />      - {{vnf2.SampleVNF2}} // Removed during update</pre>  |  <pre>vnfds:<br />  - descriptor_id: "{{43c012fa-2616-41a8-a833-0dfd4c5a049e}}"<br />    namespace: "{{vnf1}}"<br />  - descriptor_id: "{{b7e072dc-839d-4fac-916c-561a166da1fc}}"<br />    namespace: "{{vnf3}}"<br />....<br /><br />SampleVNF1HelmDeploy:<br />  type: tosca.nodes.AWS.Deployment.VNFDeployment<br />  requirements:<br />    cluster: EKSCluster<br />    vnfs:<br />      - {{vnf1.SampleVNF1}} // No change to this function, as the namespace and uuid remain the same<br />      - {{vnf3.SampleVNF3}} // New VNF as the namespace, vnf3, was not previously present<br />  interfaces:<br />    Hook:<br />      post_create: {{PostCreateHook}}<br />      pre_create: {{PreCreateHook}}</pre>  | 
| 후크 | 네트워크 함수를 업데이트하기 전과 후에 수명 주기 작업을 실행하려면 `pre_update` 후크와 `post_update` 후크를 `VNFDeployment` 노드에 추가할 수 있습니다.<br />이 예제에서는 `PreUpdateHook`가 업데이트되기 전에 `vnf1.SampleVNF1`가 실행되고 `vnf1.SampleVNF1`가 네임스페이스 vnf1에 `uuid` 대해 업데이트된 로 표시된 `vnf` 패키지로 업데이트된 후에가 실행`PostUpdateHook`됩니다. |  <pre>vnfds:<br />  - descriptor_id: "{{43c012fa-2616-41a8-a833-0dfd4c5a049e}}"<br />    namespace: "{{vnf1}}"<br />  - descriptor_id: "{{64222f98-ecd6-4871-bf94-7354b53f3ee5}}"<br />    namespace: "{{vnf2}}"<br />...<br /><br />SampleVNF1HelmDeploy:<br />  type: tosca.nodes.AWS.Deployment.VNFDeployment<br />  requirements:<br />    cluster: EKSCluster<br />    vnfs:<br />      - {{vnf1.SampleVNF1}}<br />      - {{vnf2.SampleVNF2 }}<br /></pre>  |  <pre>vnfds:<br />  - descriptor_id: "{{0ebe4e95-bd87-44bd-b8a1-918466606a14}}"<br />    namespace: "{{vnf1}}"<br />  - descriptor_id: "{{64222f98-ecd6-4871-bf94-7354b53f3ee5}}"<br />    namespace: "{{vnf2}}"<br /><br />...<br /><br />SampleVNF1HelmDeploy:<br />  type: tosca.nodes.AWS.Deployment.VNFDeployment<br />  requirements:<br />    cluster: EKSCluster<br />    vnfs:<br />      - {{vnf1.SampleVNF1}} // A VNF update as the uuid changed for namespace "vnf1"<br />      - {{vnf2.SampleVNF2}} // No change to this function as namespace and uuid remain the same<br />  interfaces:<br />    Hook:<br />      pre_update: {{PreUpdateHook}}<br />      post_update: {{PostUpdateHook}}</pre>  | 
| 서브넷 | 네트워크에서 서브넷을 추가하고 삭제할 수 있습니다. 서브넷을 삭제하기 전에 네트워크의 리소스에서 서브넷을 사용하지 않는지 확인합니다. |  <pre>{{Free5GCSubnet01}}: #Deleted Subnet<br />  type: tosca.nodes.AWS.Networking.Subnet<br />  properties:<br />    type: "PUBLIC"<br />    availability_zone: { get_input: subnet_01_az }<br />    cidr_block: { get_input: subnet_01_cidr_block }<br />  requirements:<br />    route_table: Free5GCRouteTable<br />    vpc: Free5GCVPC</pre>  |  <pre>{{Free5GCSubnet02}}: #New Subnet<br />  type: tosca.nodes.AWS.Networking.Subnet<br />  properties:<br />    type: "PUBLIC"<br />    availability_zone: { get_input: subnet_02_az }<br />    cidr_block: { get_input: subnet_02_cidr_block }<br />  requirements:<br />    route_table: Free5GCRouteTable<br />    vpc: Free5GCVPC</pre>  | 
| 보안 그룹 | 네트워크에서 보안 그룹을 추가하고 삭제할 수 있습니다. 보안 그룹을 삭제하기 전에 네트워크의 리소스에서 보안 그룹을 사용하지 않는지 확인합니다. |  <pre>{{Free5GCSecurityGroup01}}: #Deleted Security Group<br />  type: tosca.nodes.AWS.Networking.SecurityGroup<br />  properties:<br />    description: "SecurityGroup for Free5GC cluster"<br />    name: "Free5GCSecurityGroup01"<br />    tags:<br />      - "Name=Free5GCEKSAdditionalSecurityGroup"<br />  requirements:<br />    vpc: Free5GCVPC<br /><br />{{Free5GCSecurityGroupEgressRule01}}: #Deleted Security Group Egress Node<br />  type: tosca.nodes.AWS.Networking.SecurityGroupEgressRule<br />  properties:<br />    ip_protocol: "tcp"<br />    from_port: 8000<br />    to_port: 9000<br />    description: "Egress Rule for free5GC cluster"<br />    cidr_ip : "172.10.10.1/24"<br />  requirements:<br />    security_group: Free5GCSecurityGroup01<br /><br />{{Free5GCSecurityGroupIngressRule01}}: #Deleted Security Group Ingress Node<br />  type: tosca.nodes.AWS.Networking.SecurityGroupIngressRule<br />  properties:<br />    ip_protocol: "tcp"<br />    from_port: 8000<br />    to_port: 9000<br />    description: "Ingress Rule for free5GC cluster"<br />    cidr_ip: "172.10.10.1/24"<br />  requirements:<br />    security_group: Free5GCSecurityGroup01</pre>  |  <pre>{{Free5GCSecurityGroup02}}: #New Security Group<br />  type: tosca.nodes.AWS.Networking.SecurityGroup<br />  properties:<br />    description: "SecurityGroup for Free5GC cluster"<br />    name: "Free5GCSecurityGroup02"<br />    tags:<br />      - "Name=Free5GCEKSAdditionalSecurityGroup"<br />  requirements:<br />    vpc: Free5GCVPC<br />   <br />{{Free5GCSecurityGroupEgressRule02}}: #New Security Group Egress Node<br />  type: tosca.nodes.AWS.Networking.SecurityGroupEgressRule<br />  properties:<br />    ip_protocol: "tcp"<br />    from_port: 8000<br />    to_port: 9000<br />    description: "Egress Rule for free5GC cluster"<br />    cidr_ip: "172.10.10.1/24"<br />  requirements:<br />    security_group: Free5GCSecurityGroup02<br />   <br />{{Free5GCSecurityGroupIngressRule02}}: #New Security Group Ingress Node<br />  type: tosca.nodes.AWS.Networking.SecurityGroupIngressRule<br />  properties:<br />    ip_protocol: "tcp"<br />    from_port: 8000<br />    to_port: 9000<br />    description: "Ingress Rule for free5GC cluster"<br />    cidr_ip: "172.10.10.1/24"<br />  requirements:<br />    security_group: Free5GCSecurityGroup02</pre>  | 
| 네트워크 인터페이스 | 네트워크에서 ENIs 추가, 수정 및 삭제할 수 있습니다. |  <pre>Free5GCENI01: #Modified ENI<br />  type: tosca.nodes.AWS.Networking.ENI<br />  properties:<br />    device_index: 2<br />  requirements:<br />    subnet: {{Free5GCENISubnet01}}<br />    security_groups:<br />      - Free5GCSecurityGroup01<br /><br />Free5GCENI02: #Modified ENI<br />  type: tosca.nodes.AWS.Networking.ENI<br />  properties:<br />    device_index: 3<br />    source_dest_check: true<br />  requirements:<br />    subnet: Free5GCENISubnet01<br /><br />{{Free5GCENI04}}: #Deleted ENI<br />  type: tosca.nodes.AWS.Networking.ENI<br />  properties:<br />    device_index: 4<br />    source_dest_check: true<br />  requirements:<br />    subnet: Free5GCENISubnet01<br /></pre>  |  <pre>Free5GCENI01: #Modified ENI<br />  type: tosca.nodes.AWS.Networking.ENI<br />  properties:<br />    device_index: 2<br />  requirements:<br />    subnet: {{Free5GCENISubnet02}}<br />    security_groups:<br />      - Free5GCSecurityGroup01<br /><br />Free5GCENI02: #Modified ENI<br />  type: tosca.nodes.AWS.Networking.ENI<br />  properties:<br />    device_index: 3<br />    source_dest_check: true<br />  requirements:<br />    subnet: Free5GCENISubnet01<br />    {{security_groups:}}<br />      {{- Free5GCSecurityGroup01}}<br /><br />{{Free5GCENI03}}: #New ENI<br />  type: tosca.nodes.AWS.Networking.ENI<br />  properties:<br />    device_index: 3<br />  requirements:<br />    subnet: Free5GCSubnet01<br />    security_groups:<br />      - Free5GCSecurityGroup01</pre>  | 

## 네트워크 인스턴스 업데이트
<a name="update-network-instance-steps"></a>

------
#### [ Console ]

**콘솔을 사용하여 네트워크 인스턴스를 업데이트하려면**

1. [https://console.aws.amazon.com/tnb/](https://console.aws.amazon.com/tnb/) AWS TNB 콘솔을 엽니다.

1. 탐색 창에서 **네트워크**를 선택합니다.

1. 네트워크 인스턴스를 선택합니다. 네트워크 인스턴스의 상태가 `Instantiated` 또는 인 경우에만 네트워크 인스턴스를 업데이트할 수 있습니다`Updated`.

1. **작업** 및 **업데이트를** 선택합니다.

   현재 인프라의 네트워크 세부 정보 및 파라미터 목록과 함께 **인스턴스 업데이트** 페이지가 나타납니다.

1. 새 네트워크 패키지를 선택합니다.

   새 네트워크 패키지의 파라미터는 **업데이트된 파라미터** 섹션에 표시됩니다.

1. 선택적으로 업데이트된 파라미터 섹션에서 **파라미터 값을 업데이트**합니다. 업데이트할 수 있는 파라미터 값 목록은 섹션을 참조하세요[업데이트할 수 있는 파라미터](#update-parameters).

1. **네트워크 업데이트를** 선택합니다.

   AWS TNB는 요청을 검증하고 배포를 시작합니다. **배포 상태** 페이지가 나타납니다.

1. **새로 고침** 아이콘을 사용하여 네트워크 인스턴스의 배포 상태를 추적합니다. **배포 작업** 섹션에서 **자동 새로 고침**을 활성화하여 각 작업의 진행 상황을 추적할 수도 있습니다.

   배포 상태가 로 변경되면 `Completed`네트워크 인스턴스가 업데이트됩니다.

1. 
   + 검증에 실패하면 네트워크 인스턴스는 업데이트를 요청하기 전과 동일한 상태인 `Instantiated` 또는 로 유지됩니다`Updated`.
   + 업데이트에 실패하면 네트워크 인스턴스 상태가 로 표시됩니다`Update failed`. 실패한 각 작업에 대한 링크를 선택하여 이유를 확인합니다.
   + 업데이트에 성공하면 네트워크 인스턴스 상태에가 표시됩니다`Updated`.

------
#### [ AWS CLI ]

**CLI를 사용하여 네트워크 인스턴스 업데이트**  
[update-sol-network-instance](https://docs.aws.amazon.com/cli/latest/reference/tnb/update-sol-network-instance.html) 명령을 `UPDATE_NS` 업데이트 유형과 함께 사용하여 네트워크 인스턴스를 업데이트합니다.

```
aws tnb update-sol-network-instance --ns-instance-id {{^ni-[a-f0-9]{17}$}} --update-type UPDATE_NS --update-ns "{\"nsdInfoId\":\"{{^np-[a-f0-9]{17}$}}\", \"additionalParamsForNs\": {\"{{param1}}\": \"{{value1}}\"}}"
```

------