GCP의 Always Free에서 Vault를 HTTPS로 시작할 때까지
하고 싶은 일
자격 증명 정보를 안전하게 관리하고 싶습니다.
HashiCorp Vault 을 사용해보고 싶습니다.
우선 GCP에서 무료로 하고 싶다.
사전 준비
HTTPS화하기 위해 하나의 도메인을 확보하십시오.
GCP
인프라를 만들고 있습니다.
GCE
GCE은 GCP의 컴퓨팅 서비스입니다. AWS에서 말하는 EC2.
Always Free f1.micro in 오레곤 리전에서 만듭니다.
스토리지도 무료 테두리 30GB로 만듭니다.
Vault의 Backend Storage로 GCS를 이용하기 위해 아래에서 권한을 부여해 둡니다.
GCS
Vault의 backend strage로 GCS를 활용하기 위해 미리 버킷을 만들어 둡니다.
도커
환경 구축은 Docker 컨테이너로 실시해 갑니다.
Docker 설치curl -fsSL https://get.docker.com/ | sh
# sudoersに所属している必要があります
Docker 그룹에 추가sudo usermod -aG docker $USER
# 非ルートユーザでdockerが実行できるようになります
DockerCompose 설치sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
여기까지 가능하면 한 번 다시 연결하십시오.
컨테이너 구축
머신이 만들어지면 실제 Vault를 구축합니다. HTTPS 대응 1 하기 위해서, 이번은 Caddy를 이용합니다.
DNS 등록
Caddy에서 적절하게 Let's Encrypt에 의한 인증서 발급을 하기 위해서는, 사전에 GCE의 퍼블릭 IP 주소를, 자신이 소유하는 도메인의 A/AAAA 레코드에 등록할 필요가 있습니다.
여기는 생략합니다. 적절하게 Route53이나 이름닷컴 등으로 설정해 주십시오.
Vault와 Caddy
아래 정의에서 시작했습니다.
디렉토리 구성.
├── caddy
│ └── Caddyfile
├── docker-compose.yml
└── vault
└── config
└── vault.json
docker-compose.ymlversion: "3"
volumes:
vault-data:
caddy-data:
services:
vault:
image: vault:1.4.3
container_name: vault
restart: unless-stopped
volumes:
- ./vault/config:/vault/config
- ./vault/policies:/vault/policies
- vault-data:/vault/data
expose:
- 8200
cap_add:
- IPC_LOCK
command: vault server -config=/vault/config/vault.json
caddy:
image: caddy:2.1.1-alpine
container_name: caddy
restart: unless-stopped
volumes:
- caddy-data:/data
- ./caddy:/etc/caddy
ports:
- 80:80
- 443:443
links:
- vault
Caddyfile# 下記を自身のドメイン名を記載してください。
# vault.example.com
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
reverse_proxy vault:8200
vault.json{
"ui": true,
"listener": {
"tcp": {
"address": "0.0.0.0:8200",
"tls_disable": "true"
}
},
"backend": {
"gcs": {
"bucket": "ここにGCSのバケット名を記載"
}
},
"default_lease_ttl": "168h",
"max_lease_ttl": "0h",
"api_addr": "http://0.0.0.0:8200"
}
이제 컨테이너를 시작합니다.
컨테이너 시작docker-compose up -d
브라우저에서 액세스하면 무사히 화면이 표시되었습니다.
마스터 키를 생성하고 다운로드합니다.
마스터 키로 무사히 처음 로그인할 수 있었습니다.
Feature Request: Support Let's Encrypt secret engine #4950 이 이슈가 Merge 되면 필요 없게 될지도! ↩
Reference
이 문제에 관하여(GCP의 Always Free에서 Vault를 HTTPS로 시작할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shinmai88/items/9d805885add90cffe332
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
HTTPS화하기 위해 하나의 도메인을 확보하십시오.
GCP
인프라를 만들고 있습니다.
GCE
GCE은 GCP의 컴퓨팅 서비스입니다. AWS에서 말하는 EC2.
Always Free f1.micro in 오레곤 리전에서 만듭니다.
스토리지도 무료 테두리 30GB로 만듭니다.
Vault의 Backend Storage로 GCS를 이용하기 위해 아래에서 권한을 부여해 둡니다.
GCS
Vault의 backend strage로 GCS를 활용하기 위해 미리 버킷을 만들어 둡니다.
도커
환경 구축은 Docker 컨테이너로 실시해 갑니다.
Docker 설치curl -fsSL https://get.docker.com/ | sh
# sudoersに所属している必要があります
Docker 그룹에 추가sudo usermod -aG docker $USER
# 非ルートユーザでdockerが実行できるようになります
DockerCompose 설치sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
여기까지 가능하면 한 번 다시 연결하십시오.
컨테이너 구축
머신이 만들어지면 실제 Vault를 구축합니다. HTTPS 대응 1 하기 위해서, 이번은 Caddy를 이용합니다.
DNS 등록
Caddy에서 적절하게 Let's Encrypt에 의한 인증서 발급을 하기 위해서는, 사전에 GCE의 퍼블릭 IP 주소를, 자신이 소유하는 도메인의 A/AAAA 레코드에 등록할 필요가 있습니다.
여기는 생략합니다. 적절하게 Route53이나 이름닷컴 등으로 설정해 주십시오.
Vault와 Caddy
아래 정의에서 시작했습니다.
디렉토리 구성.
├── caddy
│ └── Caddyfile
├── docker-compose.yml
└── vault
└── config
└── vault.json
docker-compose.ymlversion: "3"
volumes:
vault-data:
caddy-data:
services:
vault:
image: vault:1.4.3
container_name: vault
restart: unless-stopped
volumes:
- ./vault/config:/vault/config
- ./vault/policies:/vault/policies
- vault-data:/vault/data
expose:
- 8200
cap_add:
- IPC_LOCK
command: vault server -config=/vault/config/vault.json
caddy:
image: caddy:2.1.1-alpine
container_name: caddy
restart: unless-stopped
volumes:
- caddy-data:/data
- ./caddy:/etc/caddy
ports:
- 80:80
- 443:443
links:
- vault
Caddyfile# 下記を自身のドメイン名を記載してください。
# vault.example.com
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
reverse_proxy vault:8200
vault.json{
"ui": true,
"listener": {
"tcp": {
"address": "0.0.0.0:8200",
"tls_disable": "true"
}
},
"backend": {
"gcs": {
"bucket": "ここにGCSのバケット名を記載"
}
},
"default_lease_ttl": "168h",
"max_lease_ttl": "0h",
"api_addr": "http://0.0.0.0:8200"
}
이제 컨테이너를 시작합니다.
컨테이너 시작docker-compose up -d
브라우저에서 액세스하면 무사히 화면이 표시되었습니다.
마스터 키를 생성하고 다운로드합니다.
마스터 키로 무사히 처음 로그인할 수 있었습니다.
Feature Request: Support Let's Encrypt secret engine #4950 이 이슈가 Merge 되면 필요 없게 될지도! ↩
Reference
이 문제에 관하여(GCP의 Always Free에서 Vault를 HTTPS로 시작할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shinmai88/items/9d805885add90cffe332
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
환경 구축은 Docker 컨테이너로 실시해 갑니다.
Docker 설치
curl -fsSL https://get.docker.com/ | sh
# sudoersに所属している必要があります
Docker 그룹에 추가
sudo usermod -aG docker $USER
# 非ルートユーザでdockerが実行できるようになります
DockerCompose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
여기까지 가능하면 한 번 다시 연결하십시오.
컨테이너 구축
머신이 만들어지면 실제 Vault를 구축합니다. HTTPS 대응 1 하기 위해서, 이번은 Caddy를 이용합니다.
DNS 등록
Caddy에서 적절하게 Let's Encrypt에 의한 인증서 발급을 하기 위해서는, 사전에 GCE의 퍼블릭 IP 주소를, 자신이 소유하는 도메인의 A/AAAA 레코드에 등록할 필요가 있습니다.
여기는 생략합니다. 적절하게 Route53이나 이름닷컴 등으로 설정해 주십시오.
Vault와 Caddy
아래 정의에서 시작했습니다.
디렉토리 구성.
├── caddy
│ └── Caddyfile
├── docker-compose.yml
└── vault
└── config
└── vault.json
docker-compose.ymlversion: "3"
volumes:
vault-data:
caddy-data:
services:
vault:
image: vault:1.4.3
container_name: vault
restart: unless-stopped
volumes:
- ./vault/config:/vault/config
- ./vault/policies:/vault/policies
- vault-data:/vault/data
expose:
- 8200
cap_add:
- IPC_LOCK
command: vault server -config=/vault/config/vault.json
caddy:
image: caddy:2.1.1-alpine
container_name: caddy
restart: unless-stopped
volumes:
- caddy-data:/data
- ./caddy:/etc/caddy
ports:
- 80:80
- 443:443
links:
- vault
Caddyfile# 下記を自身のドメイン名を記載してください。
# vault.example.com
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
reverse_proxy vault:8200
vault.json{
"ui": true,
"listener": {
"tcp": {
"address": "0.0.0.0:8200",
"tls_disable": "true"
}
},
"backend": {
"gcs": {
"bucket": "ここにGCSのバケット名を記載"
}
},
"default_lease_ttl": "168h",
"max_lease_ttl": "0h",
"api_addr": "http://0.0.0.0:8200"
}
이제 컨테이너를 시작합니다.
컨테이너 시작docker-compose up -d
브라우저에서 액세스하면 무사히 화면이 표시되었습니다.
마스터 키를 생성하고 다운로드합니다.
마스터 키로 무사히 처음 로그인할 수 있었습니다.
Feature Request: Support Let's Encrypt secret engine #4950 이 이슈가 Merge 되면 필요 없게 될지도! ↩
Reference
이 문제에 관하여(GCP의 Always Free에서 Vault를 HTTPS로 시작할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shinmai88/items/9d805885add90cffe332
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
.
├── caddy
│ └── Caddyfile
├── docker-compose.yml
└── vault
└── config
└── vault.json
version: "3"
volumes:
vault-data:
caddy-data:
services:
vault:
image: vault:1.4.3
container_name: vault
restart: unless-stopped
volumes:
- ./vault/config:/vault/config
- ./vault/policies:/vault/policies
- vault-data:/vault/data
expose:
- 8200
cap_add:
- IPC_LOCK
command: vault server -config=/vault/config/vault.json
caddy:
image: caddy:2.1.1-alpine
container_name: caddy
restart: unless-stopped
volumes:
- caddy-data:/data
- ./caddy:/etc/caddy
ports:
- 80:80
- 443:443
links:
- vault
# 下記を自身のドメイン名を記載してください。
# vault.example.com
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
reverse_proxy vault:8200
{
"ui": true,
"listener": {
"tcp": {
"address": "0.0.0.0:8200",
"tls_disable": "true"
}
},
"backend": {
"gcs": {
"bucket": "ここにGCSのバケット名を記載"
}
},
"default_lease_ttl": "168h",
"max_lease_ttl": "0h",
"api_addr": "http://0.0.0.0:8200"
}
docker-compose up -d
Reference
이 문제에 관하여(GCP의 Always Free에서 Vault를 HTTPS로 시작할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shinmai88/items/9d805885add90cffe332텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)