aws-samples / aws-lambda-ddns-function

Dynamically create Route 53 resource records using CloudWatch Events and Lambda
Apache License 2.0
236 stars 116 forks source link

union.py.zip does not appear to be an actual zip file #2

Closed ghost closed 7 years ago

ghost commented 8 years ago

I kept getting

--zip-file must be a zip file with the fileb:// prefix.
Example usage:  --zip-file fileb://path/to/file.zip

So I attempted to unzip the file and it does not unzip properly.

I tried creating the lambda function manually on the AWS console and got this error:

Could not unzip uploaded file. Please check your file, then try to upload again.

jicowan commented 8 years ago

I'll try to replicate this on my side. In the meantime, can you try copying and pasting the code for the function into the Lambda console?

ghost commented 8 years ago

I think that worked. But I think I have a bigger problem. Lambda is not available in US-West-1 and that is where all my instances are. Is that a deal breaker for using this method?

jicowan commented 8 years ago

Like you said, Lambda is not available in us-west-1 yet. So far as I know, there's no way to configure CloudWatch Events to call a Lambda function in another region. You might, however, be able to publish the event to an SNS topic that relays the event a Lambda function in another region for processing. I haven't attempted this before so I don't know whether it will work.

ghost commented 8 years ago

I have it working successfully in Oregon. Thanks.

On Tue, Jun 28, 2016 at 7:04 PM, Jeremy Cowan notifications@github.com wrote:

Like you said, Lambda is not available in us-west-1 yet. So far as I know, there's no way to configure CloudWatch Events to call a Lambda function in another region. You might, however, be able to publish the event to an SNS topic that relays the event a Lambda function in another region for processing. I haven't attempted this before so I don't know whether it will work.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-lambda-ddns-function/issues/2#issuecomment-229236953, or mute the thread https://github.com/notifications/unsubscribe/ARA0TEnQjgbTIMN7VEfU5O1oaormf6NQks5qQdKkgaJpZM4I_vfE .

Laurie Kepford Cloud DevOps Engineer Panoramic Software 760-712-2266

ghost commented 8 years ago

Another related question. I am using this with internal subdomain sub.domain.com. I have a public zone called sb.panosoft.com is there a way for it to update that domain when instances are placed in the public subnet?

I also have a zone called domain.com and I have seen new records popping up in there. For instance, I created an instance called sv1 and set the CNAME to sv1.sub.domain.com and it showed up correctly in the sub.domain.com zone but was also added to domain.com as sv1.domain.com. Interestingly enough it does not resolve when I tried accessing the public side of that instance.

jicowan commented 8 years ago

I created a forked version that might be able to handle this. It's called split horizon. Can you try using that version and let me know the results?

ghost commented 8 years ago

Thanks Jeremy! I will test it out. Do I just need to change the lambda code? or is there more that needs to change?

On Fri, Jul 1, 2016 at 8:20 AM, Jeremy Cowan notifications@github.com wrote:

I created a forked version that might be able to handle this. It's called split horizon. Can you try using that version and let me know the results?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-lambda-ddns-function/issues/2#issuecomment-229974556, or mute the thread https://github.com/notifications/unsubscribe/ARA0THVEYJqolYu9FEcEr0hUdG3X9xSgks5qRTBLgaJpZM4I_vfE .

Laurie Kepford Cloud DevOps Engineer Panoramic Software 760-712-2266

ghost commented 8 years ago

It works! Thanks!

ghost commented 8 years ago

For some reason it is updating the panosoft.com domain as well. Is that by design?

ghost commented 8 years ago

The Log. I changed the zone names

START RequestId: 2d8a5a79-3fae-11e6-8dc9-39f27cba1b3c Version: $LATEST 
DynamoDB table already exists 
The reverse lookup zone for this instance is: 0.10.10.in-addr.arpa. 
DNS hostnames enabled for vpc-eea5d48a 
DNS support enabled for vpc-eea5d48a 
Reverse lookup zone found: 0.10.10.in-addr.arpa. 
Reverse lookup zone ZZZZZZXR9RUPC is associated with VPC vpc-eea5d48a 
The tag 'CNAME' is not a zone tag 
Updating CNAME record ld1 in zone nxt.panosoft.com.  
Updating CNAME record ld1 in zone panosoft.com.  
Updating CNAME record ld1 in zone nxt.panosoft.com.  
The tag 'Name' is not a zone tag 
Private zone found nxt.panosoft.com. 
Private hosted zone ZZZZZZZZMYRQLX9 is associated with VPC vpc-eea5d48a 
Updating A record ip-10-10-0-216 in zone nxt.panosoft.com.  
Updating PTR record 216.0.10.10. in zone in-addr.arpa  
No matching zone for AmazonProvidedDNS. 
END RequestId: 2d8a5a79-3fae-11e6-8dc9-39f27cba1b3c 
REPORT RequestId: 2d8a5a79-3fae-11e6-8dc9-39f27cba1b3c  Duration: 5615.42 ms    Billed Duration: 5700 ms Memory Size: 128 MB Max Memory Used: 86 MB 
jicowan commented 8 years ago

What are you using for the zone tag?

ghost commented 8 years ago

Nothing. My understanding is that if I don't add a zone tag it will default to the zone I have used in my DCHP options.

On Fri, Jul 1, 2016 at 2:15 PM, Jeremy Cowan notifications@github.com wrote:

What are you using for the zone tag?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-lambda-ddns-function/issues/2#issuecomment-230048953, or mute the thread https://github.com/notifications/unsubscribe/ARA0TMUHttzpH6BR3jDRSshM3tkH6FjJks5qRYOFgaJpZM4I_vfE .

Laurie Kepford Cloud DevOps Engineer Panoramic Software 760-712-2266

jicowan commented 8 years ago

If you want to create a resource record in a public hosted zone, you need to use the zone tag.

ghost commented 8 years ago

I am not using a zone tag, and yet it is updating panosoft.com. It has been doing this from the very beginning. It is not new to the split-horizon version.

This is the log from when I launched a new instance. This instance has two tags. Name: LD1 CNAME ld1.nxt.panosoft.com.

Loading function 17:12:54.340090
START RequestId: 35d62b20-4078-11e6-ad15-3be8351dfdba Version: $LATEST
DynamoDB table already exists
The reverse lookup zone for this instance is: 0.10.10.in-addr.arpa.
DNS hostnames enabled for vpc-eea5d48a
DNS support enabled for vpc-eea5d48a
Reverse lookup zone found: 0.10.10.in-addr.arpa.
Reverse lookup zone ZTRE2RXR9RUPC is associated with VPC vpc-eea5d48a
The tag 'CNAME' is not a zone tag
**Updating CNAME record ld1 in zone nxt.panosoft.com.
Updating CNAME record ld1 in zone panosoft.com.
Updating CNAME record ld1 in zone nxt.panosoft.com.**
The tag 'Name' is not a zone tag
Private zone found nxt.panosoft.com.
Private hosted zone ZYLLXXMYRQLX9 is associated with VPC vpc-eea5d48a
Updating A record ip-10-10-0-216 in zone nxt.panosoft.com.
Updating PTR record 216.0.10.10. in zone in-addr.arpa
No matching zone for AmazonProvidedDNS.
END RequestId: 35d62b20-4078-11e6-ad15-3be8351dfdba
REPORT RequestId: 35d62b20-4078-11e6-ad15-3be8351dfdba Duration: 5293.61 ms
Billed Duration: 5300 ms Memory Size: 128 MB Max Memory Used: 85 MB

In zone panosoft.com (public) ld1.panosoft.com. CNAME ecxxxxxxxx2.us-west-2.compute.amazonaws.com.

In zone nxt.panosoft.com (public) ld1.nxt.panosoft.com. CNAME ecxxxxxxxx2.us-west-2.compute.amazonaws.com.

In zone nxt.panosoft.com (private) ld1.nxt.panosoft.com. CNAME ip-10-10-0-216.us-west-2.compute.internal.

jicowan commented 8 years ago

You need the zone tag to create an A record in the pubic hosted zone.