AWS 上で Rancher 環境を構築するメモ(コマンドをほぼ不使用で、ありもののAMIを使って)


AWS 上で Rancher 環境を構築するメモ

目的

  • コマンド(docker)などよく知らないひとでも
  • AWS をちょっといじれれば
  • Rancher 環境を作って遊ぶことができるよ。

注意

  • 無料枠の範囲を超えていると思うのでお財布と相談して利用
  • ありものの AMI を使っているので Rancher は最新ではないです

構成

用途 AMI 名 AMI Image ID SSH Login Username Recommend Instance Type Note
WEB UI: Rancher Server Rancher on RancherOS ami-d68392ad rancher t2.medium 手で作る
Each Hosts : Docker RancherOS - HVM Host AMI List rancher t2.small Rancher WEB UI から Deploy

1. Rancher Host を Deploy する

  • お勧めに従ってポチポチと
    • あとで ELB 配下に収める予定ですが動作確認もしたいので TCP:8080 が Public からつながるようにする
    • Public IP も忘れずにアサインする
Rancher on RancherOS ami-d68392ad t2.medium

2. Rancer Host を Deploy したのち ssh 接続してみる(任意)

  • トラブルシュートするときには必要になることも
$ ssh -i <SSH Key> rancher@<INSTANCE DNS NAME or Public IP>
[rancher@ ~]$ ros --version
ros version v1.1.0
[rancher@ ~]$ docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                              NAMES
3c08e1dc751f        rancher/server:latest   "/usr/bin/entry /usr/"   7 minutes ago       Up 7 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher-server

[rancher@ ~]$ docker --version
Docker version 1.12.6, build 78d1802

[rancher@ ~]$ docker exec -ti 3c08e1dc751f sh -c "cat /etc/os-release"
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

3. WEB UI 動作確認

  • ADMIN に ! が付いているように最初は管理者アカウントがノーパスで設定されている
アドレス: http://<Public IP>:8080/

4. HTTPS 化 (詳細割愛)

ELB:443 <---> Rancher:8080

  • ACM で証明書取る
  • Route 53 で DNS 設定
  • ELB(ALB) を作って Rancher Host を Target 配下に置く
  • https で接続できるか確認する

5. 管理者ユーザー設定

  • 今回は GitHub アカウントと紐づけます
  • ローカルでパスワード認証させることも可能

Rancher WEB UI: Admin -> Access Control

5-1. "1. Setup a GitHub Application"

5-2. "2. Configure Rancher to use your application for authentication"

  • github.com 側に OAuth Apps に表示されている ClientID と Client Secret を Rancher WEB UI 側の にコピペする

5-3. "3. Test and enable authentication"

  • Authenticate する

5-4. GitHub is enabled

  • ADMIN > Access Control で GitHub is enabled になれば成功
  • ADMIN > Account で github アカウントが Admin になっていることを確認

6. EC2 Instance の Security Group 設定変更(任意)

  • ELB 配下に入れたので Public の 8080 は閉じる
  • ELB からの Private 8080 へのアクセスは残す
  • Public の SSH は管理用に残す

7. Hosts の追加

7-1. Rancher WEB UI

  • INFRASTRUCTURE > Hosts
  • ADD Hosts > Amazon EC2

7-2. AWS WEB UI

  • AWS IAM > User で AmazonEC2FullAccess と AdministratorAccess のユーザーを作って Security Credentials で Create Access Key を実行する
    • (かなり緩い設定にしています)
  • Access Key ID と Secret Access Key を Rancher WEB UI 側にコピペ

7-3. Rancher WEB UI

  • Region: us-east-1 (EC2インスタンスのあるところを選択)
  • Next: Authenticate & select a network へ進む
  • Availability Zone, VPC/subnet を選択
  • Security Group は Standard のまま
  • Next: Set Instance options へ進む
  • Name: ranchernode (ranchernode1 — ranchernode3 と自動で数字が付きます)
  • Quantity: 3 (ノード数)
  • AMI: ami-38964e45 (us-east-1 latest)
  • SSH User: rancher (固定)
  • IAM Profile: 適宜
  • Private IP: 適宜(今回はチェックなしで Public からもアクセス可に)
  • Create を押す

8. 以下のようになれば完了