1. VPC Reachability Analyzer 경로를 생성합니다.

2. 출발지 소스를 지정합니다.

3. 대상으로 지정합니다.

4. Amazon Simple Notification Service(Amazon SNS)

5. AWS Lambda 함수를 생성하여 Reachability Analyzer를 시작하고 분석이 실패할 경우 SNS 주제에 메시지를 게시합니다.

6. Lambda 함수를 호출하는 Amazon EventBridge(Amazon CloudWatch Events) 규칙을 생성합니다.

-> EventBridge 를 Cron 으로 설정하여 주기적으로 Lambda 를 실행하게 설정

 

 

 

[참고 코드]

import boto3

def lambda_handler(event, context):
    aws_region = 'your_aws_region'

    instance_id = 'your_instance_id'
    service_id = 'your_service_id'

    sns_topic_arn = 'your_sns_topic_arn'

    client = boto3.client('networkmanager', region_name=aws_region)

    try:
        # Reachability Analyzer 실행
        response = client.create_connectivity_test(
            GlobalNetworkId=service_id,
            TestDescription='Reachability Analyzer Test',
            ResourceType='EC2_INSTANCE',
            Source={
                'Ec2InstanceId': instance_id
            }
        )

        # Reachability Analyzer 실행 결과 반환
        test_id = response['ConnectivityTest']['ConnectivityTestId']
        return {
            'statusCode': 200,
            'body': f'Reachability Analyzer test started. Test ID: {test_id}'
        }
    except Exception as e:
        # Reachability Analyzer 실행 실패 시 SNS 알림 발생
        sns_client = boto3.client('sns', region_name=aws_region)
        sns_client.publish(
            TopicArn=sns_topic_arn,
            Message=f'Reachability Analyzer test failed: {str(e)}'
        )
        return {
            'statusCode': 500,
            'body': f'Reachability Analyzer test failed. Error: {str(e)}'
        }

'AWS' 카테고리의 다른 글

AWS Route53 DNA Type  (0) 2023.07.22
AWS Gateway Endpoint  (0) 2023.07.21
AWS 특정 VPC, IP S3 버킷 허용 하는 방법  (0) 2023.07.11
AWS EC2 Instance Metadata(IMDS)  (0) 2023.07.10
AWS EKS SVC 로 NLB 사용 시 Time out 발생 현상  (1) 2023.07.09

Amazon Route 53 Resolver는 퍼블릭 레코드,Amazon VPC별 DNS 이름, Amazon Route 53 프라이빗 호스팅 영역에 관한 AWS 리소스의 DNS 쿼리에 재귀적으로 응답하며 모든 VPC에서 기본적으로 사용할 수 있습니다.

 

VPC와 온프레미스 리소스를 모두 활용하는 워크로드가 있는 경우 온프레미스에서 호스팅되는 DNS 레코드도 확인해야 합니다. 마찬가지로 이러한 온프레미스 리소스는 AWS에서 호스팅되는 이름을 확인해야 할 수 있습니다. Resolver 엔드포인트 및 조건부 전달 규칙을 통해 온프레미스 리소스와 VPC 간의 DNS 쿼리를 확인하여 VPN 또는 Direct Connect(DX)를 통해 하이브리드 클라우드 설정을 생성할 수 있습니다. 구체적으로 설명하면 다음과 같습니다.

  • 인바운드 Resolver 엔드포인트를 사용하면 온프레미스 네트워크나 다른 VPC에서 귀하의 VPC로 DNS 쿼리를 보낼 수 있습니다.
    • 인바운드 엔드포인트: 네트워크의 DNS 해석기가 이 엔드포인트를 통해 DNS 쿼리를 Route 53 Resolver에 전달할 수 있습니다.이렇게 하면 DNS 해석기가 Route 53 프라이빗 호스팅 영역의 EC2 인스턴스 또는 레코드와 같은 AWS 리소스의 도메인 이름을 쉽게 해석할 수 있습니다

 

  • 아웃바운드 Resolver 엔드포인트를 사용하면 귀하의 VPC에서 온프레미스 네트워크나 다른 VPC로 DNS 쿼리를 보낼 수 있습니다.
    • 아웃바운드 엔드포인트: Resolver가 이 엔드포인트를 통해 쿼리를 네트워크의 해석기에게 조건부로 전달합니다.선택한 쿼리를 전달하려면 전달하려는 DNS 쿼리의 도메인 이름(예: example.com) 및 쿼리를 전달하려는 네트워크에 있는 DNS 해석기의 IP 주소를 지정하는 Resolver 규칙을 생성합니다. 쿼리가 여러 규칙(example.com, acme.example.com)과 일치하는 경우 Resolver는 가장 확실히 일치하는 규칙(acme.example.com)을 선택하고 해당 규칙에 지정한 IP 주소에 쿼리를 전달합니다

 

  • Resolver 규칙을 사용하면 각 도메인 이름에 대해 하나의 전달 규칙을 생성하고 DNS 쿼리를 VPC에서 온프레미스 DNS 해석기로, 온프레미스에서 VPC로 전달할 도메인의 이름을 지정할 수 있습니다. 규칙은 VPC에 직접 적용되며 복수의 계정에 걸쳐 공유될 수 있습니다.

 

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/resolver.html

 

'AWS > ANS' 카테고리의 다른 글

AWS Gateway Load Balancer(GWLB)  (0) 2023.07.30
AWS Traffic Mirroring  (0) 2023.07.30
AWS TGW Appliance  (0) 2023.07.16
AWS Service Catalog  (0) 2023.07.11
AWS ANS (Network) - NAT GW vs NAT Instance  (0) 2023.06.29

TGW 어플라이언스 모드를 사용하면 트래픽이 소스 또는 대상이 아닌 다른 AZ에서 트래픽 검사를 수행할 수 있습니다.

AWS Transit Gateway Appliance 모드를 사용하면 흐름의 방향과 시작된 가용 영역에 관계없이 동일한 AZ에서 네트워크 흐름을 전달해야 하는 연결을 지정할 수 있습니다. AWS Transit Gateway 어플라이언스 모드는 네트워크 흐름  동일한 AZ 및 네트워크 어플라이언스로 대칭적으로 라우팅되도록 합니다. 

 

TGW 어플라이언스 모드 활성화 인경우 트래픽

Transit Gateway는 흐름 해시 알고리즘을 사용하여 어플라이언스 VPC에서 단일 네트워크 인터페이스를 선택하여 흐름 수명 동안 트래픽을 전송합니다. Transit Gateway는 반환 트래픽에 대해 동일한 네트워크 인터페이스를 사용합니다. 이렇게 하면 양방향 트래픽이 대칭적으로 라우팅됩니다. 즉, 트래픽 흐름은 수명이 다할 때까지 VPC 연결의 동일한 가용 영역을 통해 라우팅됩니다. 아키텍처에 여러 Transit Gateway가 있는 경우 각 Transit Gateway는 자체 세션 선호도를 유지하며 각 Transit Gateway는 다른 네트워크 인터페이스를 선택할 수 있습니다.

VPC 연결이 여러 가용 영역에 걸쳐 있고 상태 저장 검사를 위해 소스 및 대상 호스트 간의 트래픽을 동일한 어플라이언스를 통해 라우팅해야하는 경우, 어플라이언스가 있는 VPC 연결에 대한 어플라이언스 모드 지원을 활성화합니다.

 

TGW 어플라이언스 모드 비활성화 인경우 트래픽

Transit Gateway는 대상에 도달할 때까지 트래픽이 원래 가용 영역의 VPC 연결 간에 라우팅을 유지하려고 합니다. 트래픽은 가용 영역 장애가 있거나 가용 영역에 VPC 연결과 연결된 서브넷이 없는 경우에만 연결 사이의 가용 영역을 지납니다.

다음 다이어그램은 어플라이언스 모드 지원이 활성화되지 않은 경우의 트래픽 흐름을 보여 줍니다. VPC B의 가용 영역 2에서 시작된 응답 트래픽은 Transit Gateway에 의해 VPC C의 동일한 가용 영역으로 라우팅됩니다. 따라서 가용 영역 2의 어플라이언스가 VPC A에 있는 소스의 원래 요청을 인식하지 못하기 때문에 트래픽이 삭제됩니다.

 

요약하자면, 어플라이언스 모드를 사용하면 VPC간 트래픽을 검사하며, VPC 연결의 동일한 가용 영역을 통해 라우팅됩니다

 

https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/transit-gateway-appliance-scenario.html

 

'AWS > ANS' 카테고리의 다른 글

AWS Traffic Mirroring  (0) 2023.07.30
Amazon Route 53 Resolver  (0) 2023.07.16
AWS Service Catalog  (0) 2023.07.11
AWS ANS (Network) - NAT GW vs NAT Instance  (0) 2023.06.29
AWS ANS (Network) - DX Type  (0) 2023.06.27

S3 정책설정으로 특정 VPC 엔드포인트, 특정 IP 등으로 제어 할 수있다

 

1. 특정 VPC 엔드포인트에 대해서만 S3 버킷 접근 허용

  • 기본적으로 Deny 정책을 지니며, Condition 에 해당하는 SourceVpce 에 대해서만 허용하는 규칙
{
   "Version": "2012-10-17",
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::awsexamplebucket1",
                    "arn:aws:s3:::awsexamplebucket1/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpce": "vpce-1a2b3c4d"
         }
       }
     }
   ]
}

2. 특정 IP에 대해서만 S3 버킷 접근 허용

  • 기본적으로 Deny 정책을 지니며, Condition에 해당하는 SourceIP에 대해서만 허용하는 규칙
  • 주의 : SourceIP는 공인 IP만 지정할 수 있음
  • 참고 : 사설IP에 대한 IP 지정은 aws:VpcSourceIp 조건으로 사용 가능
{
    "Version": "2012-10-17",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
            ],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "192.0.2.0/24"
                }
            }
        }
    ]
}

3. 특정 VPC 에서만 S3 버킷 접근 허용

  • 기본적으로 Deny 정책을 지니며, Condition에 해당하는 SourveVpc에 대해서만 허용하는 규칙
{
   "Version": "2012-10-17",
   "Id": "Policy1415115909153",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPC-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::awsexamplebucket1",
                    "arn:aws:s3:::awsexamplebucket1/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-111bbb22"
         }
       }
     }
   ]
}

 

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/add-bucket-policy.html

 

Amazon S3 콘솔을 사용하여 버킷 정책 추가 - Amazon Simple Storage Service

편의를 위해 버킷 정책 편집 페이지의 정책 텍스트 필드 위에 현재 버킷의 버킷 ARN(Amazon 리소스 이름)이 표시됩니다. AWS 정책 생성기 페이지의 명령문에 사용하기 위해 이 ARN을 복사할 수 있습니

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/amazon-s3-condition-keys.html

 

Amazon S3 조건 키 - Amazon Simple Storage Service

모든 조건이 전체 작업에 적용되는 것은 아닙니다. 예를 들어 s3:CreateBucket Amazon S3 권한을 부여하는 정책에는 s3:LocationConstraint 조건을 포함하는 것이 가능합니다. 그러나 s3:GetObject 권한을 부여하

docs.aws.amazon.com

 

'AWS' 카테고리의 다른 글

AWS Gateway Endpoint  (0) 2023.07.21
AWS 특정 트래픽 헬스체크 알람생성 방법  (0) 2023.07.16
AWS EC2 Instance Metadata(IMDS)  (0) 2023.07.10
AWS EKS SVC 로 NLB 사용 시 Time out 발생 현상  (1) 2023.07.09
EKS Config Update  (0) 2023.07.08

요약 : 여러 VPC 환경에 동일한 서비스를 배포하고 싶을때, Service Catalog 에 관련 템플릿을 생성 후, OU 단에서 공유하여 배포할 수 있습니다.

 

AWS Service Catalog를 사용하면 배포된 IT 서비스, 애플리케이션, 리소스 및 메타데이터를 중앙에서 관리하여 코드형 인프라(IaC) 템플릿에 일관된 거버넌스를 적용할 수 있습니다. AWS Service Catalog를 사용하면 규정 준수 요구 사항을 충족하는 동시에 승인된 IT 서비스를 고객에게 제공하여 필요한 서비스를 빠르게 배포하도록 지원할 수 있습니다.

 

AWS Service Catalog는 개발자가 모든 환경에서 인프라 구성 요소를 빠르고 안전하며 쉽게 배포할 수 있도록 지원합니다. 다음 다이어그램은 이 워크플로를 보여줍니다. 여기에서 AWS Service Catalog는 프로덕션 및 비프로덕션 인프라 구성 요소를 모두 애플리케이션 개발/QA/프로덕션 계정에 공유하는 데 사용됩니다.

 

 

https://aws.amazon.com/ko/blogs/mt/standardizing-infrastructure-delivery-in-distributed-environments-using-aws-service-catalog/

 

Standardizing infrastructure delivery in distributed environments using AWS Service Catalog | Amazon Web Services

A common security design pattern and best practice among many of our enterprise customers is to provide application isolation through the adoption of a multi-account strategy. Many customers choose to create individual AWS accounts based on software develo

aws.amazon.com

 

'AWS > ANS' 카테고리의 다른 글

Amazon Route 53 Resolver  (0) 2023.07.16
AWS TGW Appliance  (0) 2023.07.16
AWS ANS (Network) - NAT GW vs NAT Instance  (0) 2023.06.29
AWS ANS (Network) - DX Type  (0) 2023.06.27
AWS ANS (Network) - DX, VGW, VIF  (0) 2023.06.26

+ Recent posts