ヤマムギ

growing hard days.

*

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

   

Rocket.Chatのデフォルトポート番号は3000です。
80を使うようにするには、Caddyfileに以下を設定しておく必要があります。

http://サーバーURL
proxy / localhost:3000 {
websocket
transparent
}

ElasticIPアドレスを使って同じパブリックDNSを使用するのならいいかもですが、一時的に使いたい場合はパブリックDNSでもいいです。
EC2インスタンスは起動してから割り当てられたパブリックIPアドレスに紐づくパブリックDNSが生成されアクセスできるようになります。
パブリックDNSをメタデータで取得してCaddyfileを作成、サービスを再起動するユーザーデータを使用しました。

他のパラメーターとともに起動テンプレートに設定して、「テンプレートからインスタンスを起動」をしてすぐに80ポートでアクセスできました。

よくユーザーデータからメタデータ取得というシナリオがドキュメントにありますが、実際例がなかったので記録しておきます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

AWS LambdaをVPC設定したときに「The provided execution role does not have permissions to call CreateNetworkInterface on EC2」

The provided execution role does not hav …

AWS X-Ray SDK for PythonをOrganizations組織内にLambda Layersで共有しました

ローカルでパッケージ作成 インストールコマンドはこちらAWS X-Ray SDK …

AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録

日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …

cfn-initでEC2インスタンスにPHPをインストールしWebサーバーを起動する

AWS CloudFormation による Amazon EC2 へのアプリケ …

API Gateway 作成済REST APIの定義をSwaggerの形式でエクスポート

SAMで似たようなAPIを作りたくて、エクスポートしました。 Swaggerは、 …

AWS Systems Manager セッションマネージャを使用するために必要な設定

AWS Systems Manager セッションマネージャを使用するために必要 …

S3バケットのリクエスタ支払い

S3バケットのリクエスタ支払いを試しました。 バケットの設定 検証用のS3バケッ …

「ポケットスタディ AWS認定 デベロッパーアソシエイト」を執筆しました

2021年3月6日に、「ポケットスタディ AWS認定 デベロッパーアソシエイト」 …

AWS Transfer Family S3向けのSFTP対応サーバーをVPCで作成してEIPをアタッチ

EIPの作成 同じリージョンでEIPを作成しておきます。 SFTP対応サーバーの …

AWS Service CatalogポートフォリオをOrganizations組織で共有する

AWS Service Catalogチュートリアルで作成したポートフォリオのO …