スポンサーリンク
APIを公開するにあたって、リファレンス(仕様書)は非常に重要になります。
基本的にユーザはリファレンスのみを見て使い方を確認しますので、それがわかりづらかったり間違っていたりするとユーザの利便性に直結してしまうためです。
さて、そんなAPIリファレンスでは swagger
というソフトウェアがよく使われているようです。今回はswaggerを表示する swagger-ui
をAWSにデプロイする手順を記載したいと思います。
まずEC2でサーバをデプロイします。
サイズ: t2.micro
イメージ: Amazon Linux (Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type)
コマンドはこんな感じです
sudo su -
yum install docker
こんな感じの表示が出ればOKです。
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main | 2.1 kB 00:00:00
amzn-updates | 2.5 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 0:18.06.1ce-5.22.amzn1 will be installed
--> Processing Dependency: xfsprogs for package: docker-18.06.1ce-5.22.amzn1.x86_64
--> Processing Dependency: pigz for package: docker-18.06.1ce-5.22.amzn1.x86_64
--> Processing Dependency: libseccomp.so.2()(64bit) for package: docker-18.06.1ce-5.22.amzn1.x86_64
--> Processing Dependency: libltdl.so.7()(64bit) for package: docker-18.06.1ce-5.22.amzn1.x86_64
--> Running transaction check
---> Package libseccomp.x86_64 0:2.3.1-2.4.amzn1 will be installed
---> Package libtool-ltdl.x86_64 0:2.4.2-20.4.8.5.32.amzn1 will be installed
---> Package pigz.x86_64 0:2.3.3-1.6.amzn1 will be installed
---> Package xfsprogs.x86_64 0:4.5.0-9.21.amzn1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================
Installing:
docker x86_64 18.06.1ce-5.22.amzn1 amzn-updates 45 M
Installing for dependencies:
libseccomp x86_64 2.3.1-2.4.amzn1 amzn-main 79 k
libtool-ltdl x86_64 2.4.2-20.4.8.5.32.amzn1 amzn-main 51 k
pigz x86_64 2.3.3-1.6.amzn1 amzn-main 71 k
xfsprogs x86_64 4.5.0-9.21.amzn1 amzn-main 1.7 M
Transaction Summary
========================================================================================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 47 M
Installed size: 154 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): libtool-ltdl-2.4.2-20.4.8.5.32.amzn1.x86_64.rpm | 51 kB 00:00:00
(2/5): libseccomp-2.3.1-2.4.amzn1.x86_64.rpm | 79 kB 00:00:00
(3/5): pigz-2.3.3-1.6.amzn1.x86_64.rpm | 71 kB 00:00:00
(4/5): xfsprogs-4.5.0-9.21.amzn1.x86_64.rpm | 1.7 MB 00:00:00
(5/5): docker-18.06.1ce-5.22.amzn1.x86_64.rpm | 45 MB 00:00:02
--------------------------------------------------------------------------------------------------------------------------------------------------------
Total 17 MB/s | 47 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libseccomp-2.3.1-2.4.amzn1.x86_64 1/5
Installing : libtool-ltdl-2.4.2-20.4.8.5.32.amzn1.x86_64 2/5
Installing : pigz-2.3.3-1.6.amzn1.x86_64 3/5
Installing : xfsprogs-4.5.0-9.21.amzn1.x86_64 4/5
Installing : docker-18.06.1ce-5.22.amzn1.x86_64 5/5
Verifying : xfsprogs-4.5.0-9.21.amzn1.x86_64 1/5
Verifying : pigz-2.3.3-1.6.amzn1.x86_64 2/5
Verifying : libtool-ltdl-2.4.2-20.4.8.5.32.amzn1.x86_64 3/5
Verifying : docker-18.06.1ce-5.22.amzn1.x86_64 4/5
Verifying : libseccomp-2.3.1-2.4.amzn1.x86_64 5/5
Installed:
docker.x86_64 0:18.06.1ce-5.22.amzn1
Dependency Installed:
libseccomp.x86_64 0:2.3.1-2.4.amzn1 libtool-ltdl.x86_64 0:2.4.2-20.4.8.5.32.amzn1 pigz.x86_64 0:2.3.3-1.6.amzn1 xfsprogs.x86_64 0:4.5.0-9.21.amzn1
Complete!
一発です。
まずdockerを起動します。
/etc/init.d/docker start
Starting cgconfig service: [ OK ]
Starting docker: . [ OK ]
ついでに自動起動の設定も入れておきます
chkconfig docker on
(何も表示されなければOKです)
次にswagger-uiのdockerイメージをpullします。
docker pull swaggerapi/swagger-ui
こんな感じの結果が出ればOKです。
Using default tag: latest
latest: Pulling from swaggerapi/swagger-ui
cd784148e348: Pull complete
7cd9347ff112: Pull complete
7e58137a5d8a: Pull complete
98c93a8e17c8: Pull complete
354923840fe5: Pull complete
554bdb414864: Pull complete
31c6617d09d2: Pull complete
8b92e9eaf922: Pull complete
6bdf6784d0f8: Pull complete
53522e57382a: Pull complete
Digest: sha256:cde7c6e246a41060a4a1558351c50a97eb7f58615f831ff7d2e4d168a2227f2c
Status: Downloaded newer image for swaggerapi/swagger-ui:latest
とりあえずの起動は以下の手順です。
docker run -p 80:8080 swaggerapi/swagger-ui
この状態でウェブブラウザを開き、ec2のIPアドレスにアクセスしてみて、以下のような画面が表示されれば成功です。
簡単ですが、これでswagger-uiのデプロイは完了です。
スポンサーリンク