AWS API Gateway의 IP 제한

AWS API Gateway의 IP 제한



AWS Security Groups처럼 쉽게 Inbound rules 설정을 할 수 없었기 때문에 비망록.
화이트리스트를 설정하는 방법.

API Gateway 콘솔에서 설정



1. Amazon API Gateway > APIs > 해당 API > Resource Policy
2. 아래 소스를 참조하십시오. aws:SourceIp에게 허가하고 싶은 IP를 넣는다. 복수의 IP를 동시에 설정할 수 있다.
3. Save. 저장했을 때 AWS가 자신이 좋아하는 형태로 json을 다시 쓸 수 있다. 어쩌면 문제는 없다.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/*/*/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "0.0.0.0/0"
                }
            }
        }
    ]
}




설정 후 잊지 않고 배포



화이트리스트를 설정하면 API를 배포하지 않으면 반영되지 않습니다.
1. Amazon API Gateway > APIs > 해당 API > Resources
2. Actions 풀다운에서 Deploy API를 선택합니다.
3. Deployment stage를 선택하고 선택적으로 설명도 설명 Deploy.
4. Amazon API Gateway > APIs > 해당 API > Stages > 해당 Stage
5. Deployment History 탭에서 배포가 성공하면 완료.

동작 확인



화이트리스트에서 허가한 IP로 액세스 해보고 200이 돌아오면 성공.
허가하지 않은 IP로 액세스 해보고, 403이 돌아오면 성공.

기타



Resource Policy를 수정했을 때 설정이 손상되었습니다.
→ 배포 이력에서 성공했을 때 배포로 돌아갑니다.
1. Amazon API Gateway > APIs > 해당 API > Stages > 해당 Stage
2. Deployment History 탭에서 설정을 깨기 전에 배포를 선택하여 Change Deployment.
3. Current stage에서 선택한 배포 이력을 체크하면 OK.
※배포 이력을 알기 쉽게 하기 위해, 배포시에는 Description을 기재해 두는 것이 좋다.
※※※이 작업으로, 언제라도 어느 배포(설정)에도 돌아갈 수 있다.

좋은 웹페이지 즐겨찾기