mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-15 05:16:49 +00:00
Add Route53 component documentation (#6439)
* Add Route53 component documentation
* ✏️ Tweaks
* Update 'ha_release'
This commit is contained in:
parent
0573c83bca
commit
9db4d711a0
103
source/_components/route53.markdown
Normal file
103
source/_components/route53.markdown
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "route53"
|
||||||
|
description: "Automatically update your AWS Route53 DNS records."
|
||||||
|
date: 2018-02-10 20:08
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
logo: route53.png
|
||||||
|
ha_category: Network
|
||||||
|
ha_release: "0.81"
|
||||||
|
---
|
||||||
|
|
||||||
|
With the `route53` component can you keep your AWS Route53 DNS records up to date.
|
||||||
|
|
||||||
|
The component will run every hour, but can also be started manually by using the service `route53.update_records` under services.
|
||||||
|
|
||||||
|
Please note that this platform uses the API from [ipify.org](https://www.ipify.org/) to set the public IP address.
|
||||||
|
|
||||||
|
## {% linkable_title Setup %}
|
||||||
|
|
||||||
|
You will need to configure your AWS Account with a suitable IAM policy and API keys for this to function.
|
||||||
|
|
||||||
|
If you are familiar with this process, you can skip the next section and head directly to the configuration section.
|
||||||
|
|
||||||
|
On the AWS side, you need to do the following;
|
||||||
|
|
||||||
|
1. Create a suitable zone for a domain that you own and manage in Route53, the domain `home.yourdomain.com` is used as an example.
|
||||||
|
|
||||||
|
2. Once created, write down the Hosted Zone ID value for the domain. This is needed for the plugin and IAM configuration.
|
||||||
|
|
||||||
|
3. Create an IAM Policy that provides update and query access to this domain explicitly and has no other permissions to the AWS account.
|
||||||
|
|
||||||
|
Here is an IAM Policy sample, don't forget to update your Zone ID on the Resource line.
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"Version": "2012-10-17",
|
||||||
|
"Statement": [
|
||||||
|
{
|
||||||
|
"Sid": "VisualEditor0",
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": [
|
||||||
|
"route53:GetHostedZone",
|
||||||
|
"route53:ChangeResourceRecordSets",
|
||||||
|
"route53:ListResourceRecordSets"
|
||||||
|
],
|
||||||
|
"Resource": "arn:aws:route53:::hostedzone/YOURZONEIDGOESHERE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sid": "VisualEditor1",
|
||||||
|
"Effect": "Allow",
|
||||||
|
"Action": "route53:TestDNSAnswer",
|
||||||
|
"Resource": "*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Once this has been done, create a new user called `homeassistant` and add the IAM policy to the user, allowing it to manage this DNS resource.
|
||||||
|
|
||||||
|
5. Under the security credentials tab for the `homeassistant` user, create a set of access keys for placement in the component definition YAML.
|
||||||
|
|
||||||
|
## {% linkable_title Configuration %}
|
||||||
|
|
||||||
|
To use the component in your installation, add the following to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
route53:
|
||||||
|
aws_access_key_id: ABC123
|
||||||
|
aws_secret_access_key: DEF456
|
||||||
|
zone: ZONEID678
|
||||||
|
domain: home.yourdomain.com
|
||||||
|
records:
|
||||||
|
- vpn
|
||||||
|
- hassio
|
||||||
|
- home
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration route53 %}
|
||||||
|
aws_access_key_id:
|
||||||
|
description: The AWS access key ID for the account that has IAM access to the domain.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
aws_secret_access_key:
|
||||||
|
description: The AWS secret access key for the account that has IAM access to the domain.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
zone:
|
||||||
|
description: The AWS zone ID for the domain in Route53.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
description: The domain name for the domain in Route53.
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
records:
|
||||||
|
description: A list of records you want to update.
|
||||||
|
required: true
|
||||||
|
type: list
|
||||||
|
{% endconfiguration %}
|
BIN
source/images/supported_brands/route53.png
Normal file
BIN
source/images/supported_brands/route53.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
Loading…
x
Reference in New Issue
Block a user