IBM Cloud Private Community Edition 3.1をAWS上にインストールしてみたメモ。
2.1.0.3のときのメモは以下。
AWSにIBM Cloud Private-CE 2.1.0.3をインストールする
システム要件の確認
システム要件を確認する。
Hardware requirements and recommendations
The minimum requirement for IBM Cloud Private is 1 master (and proxy) node, 1 management node, and 1 worker node.
とあるので、シングルノード構成は不可となったようにみえる。やればできるかもしれないが、今回は上記の通りのMaster、Management、Workerそれぞれ1台づつの構成でインストールする。必要なスペックは以下。
Master | Management | Worker | |
---|---|---|---|
CPU | 8 Core | 4 Core | 1 Core |
Memory | 16 GB | 16 GB | 4 GB |
Disk | 200 GB | 150 GB | 150 GB |
これは最低限であり、ICPはリソースが足りないといろいろエラーを起こすので、リソースはなるべく余裕があったほうがよい。コンポーネントの起動に時間がかかることで、いろいろなところでタイムアウトが発生してしまうためと思われる。
最初、Masterノードのスペックをm5.xlarge(4Core/16GB)としてインストールしようとしたが、途中のcloudctl login
のステップで失敗したので、スペックをm5.2xlarge(8Core/32GB)変更したところインストールに成功した。インストール時のMasterノードのロードアベレージは30を超えていた。
(追記)
その後シングルノード構成もやってみたところできました。m5.4xlarge(16Core/64GB)、ストレージ200GBのマシンでやりました。
top - 10:17:29 up 36 min, 2 users, load average: 38.69, 37.57, 23.73
Tasks: 496 total, 1 running, 430 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.7 us, 91.9 sy, 0.0 ni, 3.3 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 32121120 total, 23500636 free, 4902636 used, 3717848 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 26748864 avail Mem
サポートOSを確認する。今回はUbuntu 18.04 LTS(3.1からサポート対象に追加)を使うことにする。
Supported operating systems and platforms
サポートされるDockerのバージョンを確認する。Ubuntu 18.04 LTSではDocker CEの18.03.1がサポートされる。
ネットワーク環境の準備
VPCの作成
(参考)
0から始めるAWS入門①:VPC編
AWSコンソールでVPCを作成する。
項目 | 値 |
---|---|
名前タグ | icp31-vpc(任意) |
IPv4 CIDRブロック | 10.0.0.0/16 |
IPv6 CIDRブロック | なし |
テナンシー | デフォルト |
サブネットの作成
作成したVPCにサブネットを作成する。
項目 | 値 |
---|---|
名前タグ | icp31-subnet(任意) |
VPC | (前のステップで作成したVPC) |
アベイラビリティーゾーン | 指定なし |
IPv4 CIDRブロック | 10.0.0.0/24 |
インターネットゲートウェイの作成
インターネットゲートウェイを作成する。
項目 | 値 |
---|---|
Nameタグ | icp31-igw(任意) |
作成したインターネットゲートウェイをVPCにアタッチする。
ルートテーブルの追加
このままではまだインターネットから接続できないので、ルートテーブルを修正する。作成したVPCのメインのルートテーブルを選択し、ルートを追加して保存する。
送信先 | ターゲット |
---|---|
0.0.0.0/0 | (前のステップで作成したインターネットゲートウェイ) |
セキュリティグループの作成
作成したVPCにセキュリティグループを2つ作成する。
1つめ(icp31-default-sg)は全てのノード向けで、セキュリティグループ内のすべての接続を許可するルールと、SSHを許可する。
2つめ(icp31-master-sg)はMasterノード向けのセキュリティーグループを作成して以下へのアクセスを許可する。kube-apiserverとプライベートレジストリについては、kubectlやdockerコマンドを外部から直接実行しない場合は許可しなくてもよい。
- 8001(kube-apiserver)
- 8500(プライベートレジストリ)
- 8443(ICPダッシュボード)
- 80(HTTP)
- 443(HTTPS)
仮想マシンの準備
仮想マシン作成の流れ
仮想マシンインスタンスを作成する。Dockerのインストールなど各ノードで共通なので、
- WorkerノードのインスタンスをDockerインストールなどを実施
- WorkerノードのインスタンスからAMIを作成
- 作成したAMIからMasterノードとManagementノードのインスタンスを作成
という流れで実施する。
EC2インスタンスの作成
Ubuntu Server 18.04 TLSのインスタンスを作成する。
インスタンスタイプは後で変更するので今はt2.microとする。
事前に作成したVPCを指定する。グローバルIPの自動割り当てを有効にする。
項目 | 値 |
---|---|
ネットワーク | (事前に作成したVPC) |
サブネット | (事前に作成したサブネット) |
自動割り当てパブリックIP | 有効化 |
ストレージはWorkerノードの要件にあわせて150GBで作成。
Nameタグを追加しておく。
icp-default-sgのセキュリティーグループを指定する。
設定を確認して、インスタンスを作成する。
ICPインストールの事前準備
仮想マシンにログインし、以下の手順に従ってホストOSの事前準備を行う。
Preparing your cluster for installation
OS更新
とりあえずパッケージを更新する。
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
hostname変更
ホスト名を変更する。
(参考)
https://aws.amazon.com/jp/premiumsupport/knowledge-center/linux-static-hostname/
sudo hostname icp31-worker1
再起動後も反映されるようにする。
sudo vi /etc/hostname
icp31-worker1
再起動してもう一度ログインする。
sudo shutdown -r now
IPv6の無効化
ICPはIPv6に未対応なため、/etc/sysctl.conf
に以下を追加する。
sudo vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
以下コマンドで反映する。
sudo sysctl -p
/etc/hosts
でIPv6の記載はコメントアウトする。
sudo vi /etc/hosts
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
#ff02::3 ip6-allhosts
Python
Pythonをインストールする。Python2(2.6 or 2.7)またはPython3(3.5 or higher)がサポートされている。
今回はPython2がインストールされていないため/usr/bin/python
コマンドは存在しないが、Python3がインストール済みで/usr/bin/python3
コマンドは存在するという状態だった。Python2をインストールしてもよいが、シンボリックリンクを作成することで対応する。
sudo ln -s /usr/bin/python3 /usr/bin/python
(確認)
ubuntu@icp31-worker1:~$ python --version
Python 3.6.6
ubuntu@icp31-worker1:~$
socat
socatをインストールする。
sudo apt install socat
Docker CEのインストール
以下の手順にしたがってDocker CEをインストールする。
前提となるソフトウェアを導入。
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Docker CEをインストールするためのリポジトリをセットアップする。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
インストール可能なバージョンを確認。
ubuntu@icp31-worker1:~$ apt-cache madison docker-ce
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
ubuntu@icp31-worker1:~$
サポートされているバージョン18.03.1~ce~3-0~ubuntu
を指定してDocker CEをインストールする。
sudo apt-get install docker-ce=18.03.1~ce~3-0~ubuntu
Docker CEのバージョンをホールドする。
sudo apt-mark hold docker-ce
以下の手順にしたがってDockerの設定を確認する。
Setting up Docker for IBM® Cloud Private
Logging Driverがjson-fileであることを確認する。Logging Driver: json-file
が表示されればOK。
ubuntu@icp31-worker1:~$ sudo docker info|grep "Logging Driver"
WARNING: No swap limit support
Logging Driver: json-file
ubuntu@icp31-worker1:~$
SELinuxがDockerに対して有効になっていないことを確認する。["name=seccomp,profile=default","name=selinux"]
が表示されたらSELinuxが有効、["name=apparmor","name=seccomp,profile=default"]
が表示されれば無効。
ubuntu@icp31-worker1:~$ sudo docker info --format '{{json .SecurityOptions}}'
["name=apparmor","name=seccomp,profile=default"]
ubuntu@icp31-worker1:~$
仮想マシンの複製
ここまででWorkerノードの準備が(ほぼ)完了したので、仮想マシンをシャットダウンする。
sudo shutdown -h now
AWSコンソールで、この仮想マシンからAMIを作成する。
作成したAMIからManagementノードのインスタンスを作成する。
- インスタンスタイプの選択
- 4Core/16GBの要件にあうようにm5.xlarge(4Core/16GB)を選択
- インスタンス詳細の設定
- 事前に作成したVPCを指定
- 事前に作成したサブネットを指定
- 自動割り当てパブリックIPを有効化
- ストレージの追加
- 要件にあうように150GBの汎用SSDをルートに割り当て
- タグの追加
- Name=icp31-managementを追加
- セキュリティグループの設定
- icp31-default-sdを選択
作成したAMIからMasterノードのインスタンスを作成する。
- インスタンスタイプの選択
- 8Core/16GBの要件にあうようにm5.2xlarge(8Core/32GB)を選択
- インスタンス詳細の設定
- 事前に作成したVPCを指定
- 事前に作成したサブネットを指定
- 自動割り当てパブリックIPを有効化
- ストレージの追加
- 要件にあうように200GBの汎用SSDをルートに割り当て
- タグの追加
- Name=icp31-masterを追加
- セキュリティグループの設定
- icp31-default-sdとicp31-master-sgを両方選択
Elastic IPの割り当て
外部からMaster(兼Proxy)ノードへのアクセスに使用するため、Elastic IPを割り当て、Masterノードに関連付けておく。
Workerマシンのスペック変更
Workerノードのスペックを1Core/4GBの要件にあうようにt2.medium(2Core/4GB)に変更する。
変更したらWorkerノードの仮想マシンを起動する。
hostname変更
Masterノードにログインし、hostnameを変更する。
sudo hostname icp31-master
再起動後も反映されるようにする。
sudo vi /etc/hostname
icp31-master
Managementノードにログインし、hostnameを変更する。
sudo hostname icp31-management
再起動後も反映されるようにする。
sudo vi /etc/hostname
icp31-management
/etc/hostsの修正
各ノードで、/etc/hostsを修正して名前解決できるようにする。なお、プライベートIPはDHCPでアサインされるが、勝手に変わったりはしない。
VPC で起動されたインスタンスの場合、インスタンスが停止後に再開されたときはプライベート IPv4 アドレスとネットワークインターフェイスの関連付けが維持され、インスタンスが終了されたときは解放されます。
sudo vi /etc/hosts
127.0.0.1 localhost
10.0.0.127 icp31-master
10.0.0.215 icp31-management
10.0.0.144 icp31-worker1
# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
#ff02::3 ip6-allhosts
ICP-CEのインストール
以下の手順に従ってインストールする。今回はMasterノードがBootノードを兼ねているので、Masterノードで作業する。
sshのセットアップ
Sharing SSH keys among cluster nodes
インストーラーを実行するとAnsibleで各ノードに対してsshでログインするので、sshできるようにをセットアップする。
今回はインストーラーをubuntuユーザーで(sudoで)実行し、そこから各ノードにはubuntuユーザーでsshログインしてrootにスイッチさせるものとする。
ubuntuユーザーで鍵を生成する。
ubuntu@icp31-master:~$ ssh-keygen -b 4096 -f ~/.ssh/id_rsa -N ""
Generating public/private rsa key pair.
Your identification has been saved in /home/ubuntu/.ssh/id_rsa.
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:aDV7AVSsMbZMTfesYNk3dOWYVMmeokiGt9kL3rKS2RY ubuntu@icp31-master
The key's randomart image is:
+---[RSA 4096]----+
| .o=o . +.*|
| =.o+ = B |
| ++== . O o|
| ++B o + + |
| o S * o . |
| . E o |
| = + . |
| + = o |
| o.o |
+----[SHA256]-----+
ubuntu@icp31-master:~$
自ノードにubuntuユーザーからubuntuユーザーでsshできように公開鍵を登録する。
ubuntu@icp31-master:~$ cat ~/.ssh/id_rsa.pub | tee -a ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiqWLvpkkjX8PgjHRt4c27A5mKjIvETyt/QXPvAHduaUuK17FYLrBfeaB/Km0K516EaDsJx0owBTu6sCm8pX/hV0xghLY2NhGM8etc92dcpN+AJLhsQc5Zg5jMMwLT3GpgavnoHXcpKb7bdqimt+IgTq2czrrVZEHXVxQ13dccMbAAJ92om3ueHiD+kFy+PVd+gCNBYGdCR7Ia5FTt6uzprN1RYKRejkMK0O+EwepG8n1BeFDjy8kHDL+6xaslxtq238mlSG1/u583Lr1EycbPp53SEJg1kQjw5VOxAWsikUXXj/bAClMdoaAJcUZ/eT/LibSClAoFjdFHBvAwhzXchrYLnSoV1ar594oy9ckFKS6pUszqMWfvHEb+hNDSCwKGaQT8Kt4r5YTVHtAjtJWuoXF296veo70S5xc5GM0EQKiRa+gbWWlLAYhLzZdZ/FQ0P9e3dMDYAVcbcHq6/UXrNLMVwXQ4DXGnGXNV7PDdkjfTqQBsLihmz36q70frWEfFx5vVgvUrjohc7zxq4MmJSuCfJ9huQHPVeVsQ4tK5ILXYDxvnLUNQuHSoKO4A8K+NFClT6VmbDvJYDVCk3vGqhIrH43Xs9Iskn0Nhpth8ldC8aJqsccLoKsRwXa9iB+IuGEF4heqzq6QGm/zn+TUOv2629vkSWZuPPl37DQ/aGQ== ubuntu@icp31-master
ubuntu@icp31-master:~$
公開鍵をManagementノードとWorkerノードにも配置する。各ノードにパスワードでsshログインできるようになっていないので、ssh-copy-idでは鍵を渡せない。上記出力をコピペして渡す。
ManagementノードとWorkerノードで以下コマンドを実施する。
echo "<上記の出力された公開鍵>" >> ~/.ssh/authorized_keys
Masterノードのubuntuユーザーから各ノードにubuntuユーザーでsshログインできることを確認。
ubuntu@icp31-master:~$ ssh ubuntu@icp31-master whoami
ubuntu
ubuntu@icp31-master:~$ ssh ubuntu@icp31-management whoami
ubuntu
ubuntu@icp31-master:~$ ssh ubuntu@icp31-worker1 whoami
ubuntu
ubuntu@icp31-master:~$
インストール準備
Installing IBM® Cloud Private-CE
インストーラーイメージをPullする。
(コマンド)
sudo docker pull ibmcom/icp-inception:3.1.0
(実行例)
ubuntu@icp31-master:~$ sudo docker pull ibmcom/icp-inception:3.1.0
3.1.0: Pulling from ibmcom/icp-inception
a073c86ecf9e: Pull complete
cbc604ae1944: Pull complete
650be687acc7: Pull complete
a687004334e9: Pull complete
7664ea9d19f3: Pull complete
97c4037e775d: Pull complete
5fb11bea9f19: Pull complete
19aea527057b: Pull complete
060ae3284742: Pull complete
8db2b6e28cb8: Pull complete
92a37b9fe585: Pull complete
dfb007dce8a8: Pull complete
0573abd4b204: Pull complete
875ebddb61da: Pull complete
a1a7fd214344: Pull complete
391862def9ea: Pull complete
66ae4853d35e: Pull complete
Digest: sha256:3d390836726e88944487deaae748bb128a80ba5fd7c4a46f688e90b92d2d43f7
Status: Downloaded newer image for ibmcom/icp-inception:3.1.0
ubuntu@icp31-master:~$
インストール先ディレクトリーを作成。
ubuntu@icp31-master:~$ sudo mkdir /opt/ibm-cloud-private-ce-3.1.0
ubuntu@icp31-master:/$ cd /opt/ibm-cloud-private-ce-3.1.0
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$
インストーラーのDockerイメージから構成ファイルをコピーして抽出。
sudo docker run -e LICENSE=accept \
-v "$(pwd)":/data ibmcom/icp-inception:3.1.0 cp -r cluster /data
Ansibleが使用するホスト定義ファイルを修正する。
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$ sudo vi ./cluster/hosts
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$ cat ./cluster/hosts
[master]
10.0.0.127
[worker]
10.0.0.144
[proxy]
10.0.0.127
[management]
10.0.0.215
#[va]
#5.5.5.5
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$
Ansibleが使用するssh鍵(ubuntuユーザーの秘密鍵)をコピーする。
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$ sudo cp ~/.ssh/id_rsa ./cluster/ssh_key
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$
config.yamlの修正
config.yamlを修正してクラスター定義をカスタマイズする。
ubuntu@icp31-single:/opt/ibm-cloud-private-ce-3.1.0$ sudo cp cluster/config.yaml cluster/config.yaml.org
ubuntu@icp31-single:/opt/ibm-cloud-private-ce-3.1.0$ sudo vi cluster/config.yaml
docker.io/ibmcom/*
のイメージを許可するため、下記の定義を追加する。
image-security-enforcement:
clusterImagePolicy:
- name: "docker.io/ibmcom/*"
policy:
その他以下を参照してカスタマイズを行う。
Customizing the cluster with the config.yaml file
外部からのコンテナアプリへのアクセスなど、Proxyノード(今回はMasterノードが兼ねる)へのアクセスをElastic IPに対して行うため、proxy_lb_address
を設定する。
proxy_lb_address: <Elastic IPで取得したアドレス>
似たようなパラメータで、cluster_lb_address
はICPダッシュボードやプライベートレジストリやkube-apiserverなど、Masterノードで稼働するコンポーネントへのアクセスに使用するアドレスを定義する。このアドレスがmycluster.icp
(デフォルト値)から解決される。
こちらにElastic IPを使用するかはやや悩むところで、特にkube-apiserverへの通信がこのアドレスを使用するため、Elastic IPを設定するとクラスター内部の通信までもがわざわざElastic IPを使用することになる。
cluster_lb_address
を明示的に設定しないで、プライベートアドレスを使用してインストールことも可能だが、その場合は外部のPC等から直接Masterノードのコンポーネントにアクセスするのにひと工夫必要になる。具体的には外部のPC等でmycluster.icp
をElastic IPに解決してあげることでアクセスできる。
今回はcluster_lb_address
は設定せず、mycluster.icp
にはプライベートアドレスを使用させることにする。
Ansibleはubuntuユーザーでsshログインするため、以下を設定する。sudoにパスワードは不要なためansible_become_password
は設定しない。
ansible_user: ubuntu
ansible_become: true
# ansible_become_password: <password>
その他、今回は以下を設定した。
監査ログ出力を有効にする。
auditlog_enabled: true
DNSサーバーにループバックIPが設定されており、バリデーションエラーになったのでその対応を行う。
loopback_dns: true
インストールの実行
インストールは数十分の時間がかかり、その間にsshセッションが切れると困るので、screenやtmuxを使用した方がよい。
(コマンド)
cd ./cluster
sudo docker run --net=host -t -e LICENSE=accept \
-v "$(pwd)":/installer/cluster ibmcom/icp-inception:3.1.0 install
(実行例)
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0$ cd ./cluster/
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0/cluster$ sudo docker run --net=host -t -e LICENSE=accept \
> -v "$(pwd)":/installer/cluster ibmcom/icp-inception:3.1.0 install
PLAY [Checking Python interpreter] ******************************************************************************************************
TASK [Checking Python interpreter] ******************************************************************************************************
changed: [10.0.0.127]
changed: [10.0.0.215]
changed: [10.0.0.144]
PLAY [Checking prerequisites] ***********************************************************************************************************
TASK [Gathering Facts] ******************************************************************************************************************
ok: [10.0.0.127]
ok: [10.0.0.215]
ok: [10.0.0.144]
(省略)
PLAY RECAP ******************************************************************************************************************************
10.0.0.127 : ok=167 changed=92 unreachable=0 failed=0
10.0.0.144 : ok=109 changed=53 unreachable=0 failed=0
10.0.0.215 : ok=120 changed=64 unreachable=0 failed=0
localhost : ok=265 changed=161 unreachable=0 failed=0
POST DEPLOY MESSAGE *********************************************************************************************************************
The Dashboard URL: https://10.0.0.127:8443, default username/password is admin/admin
Playbook run took 0 days, 0 hours, 52 minutes, 14 seconds
ubuntu@icp31-master:/opt/ibm-cloud-private-ce-3.1.0/cluster$
インストールに失敗したら
インストールの途中で失敗したら、一度アンインストールして、おかしいところを直して再トライする。アンインストールのコマンドは以下。
Uninstalling IBM® Cloud Private-CE
sudo docker run -e LICENSE=accept --net=host \
-t -v "$(pwd)":/installer/cluster \
ibmcom/icp-inception:3.1.0 uninstall
sudo service docker restart
トラブルシューティングの文書も参照。何が原因かわからない場合、インストールコマンドに-vvv
オプションをつけると有益な情報が表示される、かもしれない。
kube-dnsの変更
の対応の続きを実施する。
3.1ではインストーラーがCLIをインストールしてくれている。Masterノードでkubectlを構成する。
ubuntu@icp31-master:~$ cloudctl login -a https://mycluster.icp:8443 --skip-ssl-validation
Username> admin
Password>
Authenticating...
OK
Select an account:
1. mycluster Account (id-mycluster-account)
Enter a number> 1
Targeted account mycluster Account (id-mycluster-account)
Select a namespace:
1. cert-manager
2. default
3. istio-system
4. kube-public
5. kube-system
6. platform
7. services
Enter a number> 5
Targeted namespace kube-system
Configuring kubectl ...
Property "clusters.mycluster" unset.
Property "users.mycluster-user" unset.
Property "contexts.mycluster-context" unset.
Cluster "mycluster" set.
User "mycluster-user" set.
Context "mycluster-context" created.
Switched to context "mycluster-context".
OK
Configuring helm: /home/ubuntu/.helm
OK
ubuntu@icp31-master:~$
kubectl edit daemonset kube-dns -n kube-system
KnowledgeCenterで編集すべきとされているdnsmasqのコンテナがそもそも定義されていないため、どのような対応をしたらよいか不明。このままだとPodが外部のドメイン名を解決できないかもしれない。要調査。ホストOS側の設定を変えた方がよいかもしれない。
ダッシュボードへのアクセス
ダッシュボードのURLはMasterノードのプライベートアドレスになっており、外部からはアクセスできない。MasterノードにアタッチしているElastic IPアドレスをURLに指定してアクセスしても、つながりはするのだが、リダイレクト処理でエラーになってしまう。
この問題を回避するため、クライアントPCの/etc/hosts
に以下を追記する。
<Elastic IP> mycluster.icp
その上で以下のURLにアクセスするとアクセスできる。
以上でインストールは完了。