Skip to content

Blog

AWS で CentOS7 AMI のホスト名を固定化する

AWS の EC2 で CentOS7 の AMI からインスタンスを作成した場合、/etc/hostname を修正してホスト名を手動設定しても再起動する度に元に戻ってしまいます。具体的には以下のようなホスト名に戻ってしまうはずです。

1
[root@ip-172-30-1-1 ~]#

これは CentOS7 の AMI イメージが cloud-init で制御されており、起動時にホスト名が再設定されるから、のようです。

Docker で SSL/TLS 化された BitBucket と ownCloud を簡単に構築する

GitBucket を使うと Git リポジトリを、ownCloud を使うと DropBox クローンを利用することが出来ます。「各々を構築する」ことは当然可能ですが、Docker コンテナを利用すると構築の手間を大幅に省けます。コンテナを利用することは一長一短ですが、「構築の手間が省ける」以外にも「最新バージョンのコンテナが提供されたら、古いコンテナは廃棄して新しいコンテナに差し替えるだけで OK」といったメリットもあります (その場合、データをコンテナの外部へ保存するようにしておく必要があります)。

しかし、BitBucket と ownCloud を同じサーバで提供しようとする場合、「GitBucket 用のコンテナは TCP/80 で、ownCloud 用のコンテナは TCP/8080 で…」といった具合にポート番号を分けて運用する、といった工夫が必要になってしまいます。これはフロントに nginx-proxy を用意し、クライアントがアクセスしてきた FQDN に応じて通信を適切なコンテナに転送することで解消することが出来ます。また、昨今では Web サイトを SSL/TLS 化するケースが増えていますが、これも専用のコンテナを使うことで簡単にサーバ証明書の取得や更新を自動化することが出来ます。

SSH 多段接続で三段先のサーバに接続する

SSH の ProxyCommand を使うと接続先サーバで自動的に指定コマンドを実行出来ます。これを利用することで「サーバ A に接続し、そこからサーバ B に接続する(二段接続)」ということが出来ます。更に、これを応用すると「サーバ A に接続し、そこからサーバ B に接続し、更にサーバ B からサーバ C へ接続する(三段接続)」ということも出来ます(四段以上の接続も可能です)。今回は多段 SSH の設定方法をメモしておきます。

Let's Encrypt で無料のサーバ証明書を証明書を発行する(Certbot 編)

Let's Encrypt を使うと無料で SSL/TLS サーバ証明書を発行することが出来ます。Let's Encrypt を利用する際、以前は letsencrypt-auto というツールを使ったのですが、現在は certbot-auto というツールを使います。基本的な使い方はあまり変わらないのですが、今回は certbot-auto の使い方をメモしておきます。また、後半で証明書の自動更新についても記載しています。詳細は後述しますが、Let's Encrypt での証明書取得は単位時間辺りの枚数制限がありますので、頻繁過ぎる更新は避けるべきです。

EC2 上の CentOS7 から goofys で S3 をマウントする(IAM ロール利用編)

EC2 インスタンスから S3 バケットをマウントする手順として、以前に EC2 上の CentOS7 から S3 をマウントする(API 利用編) というメモを書きました。この方法ではアクセスキー/シークレットキーを EC2 インスタンスの中に保存しましたが、IAM ロールを使えば EC2 インスタンス内に情報を保存する必要が無くなり、セキュリティが向上します。

EC2 上の CentOS7 から goofys で S3 をマウントする(API 利用編)

goofys を使って AWS の EC2 上に作った CentOS7 から S3 をマウントするには以下のようにします。EC2 のインスタンスは「CentOS 7 (x86_64) - with Updates HVM (2016/02/26)」をベースにしました。今回は AWS の API を使ってマウントしていますが、IAM ロールを使ってマウントする方法 もあります。