CloudFrontでデバイスタイプごとにキャッシュを保存させる方法

CloudFrontで、スマホとPCで別々にコンテンツをキャッシュさせる方法について確認します。

利用するヘッダー

CloudFrontは、リクエストヘッダーに基づいてコンテンツをキャッシュできます。

デバイス判断は、通常 User-Agent を利用しますが、User-Agent ごとにキャッシュを保存するとキャッシュ効率が悪くなります。そのため、CloudFrontでは、デバイスタイプごとにキャッシュを保存したい場合、以下のヘッダーを利用するようです。

  • CloudFront-Is-Desktop-Viewer
  • CloudFront-Is-Mobile-Viewer
  • CloudFront-Is-SmartTV-Viewer
  • CloudFront-Is-Tablet-Viewer

CloudFrontの設定

Edit Behavior

673-aws-cloudfront-cache-header_1.png

Edit Behaviorを開きます。

Cache Based on Selected Request Headersの項目で設定します。

673-aws-cloudfront-cache-header_2.png

Whitelistを選択して、該当のヘッダーを追加します。

これでデバイスタイプごとにキャッシュを保存してくれるようになります。

おまけ|nuxt-device-detect

nuxt.jsでデバイス判定したいとき、nuxt-device-detectが便利です。

こちらもCloudFrontをサポートしています。user-agentAmazon CloudFront のとき、先述した CloudFront-Is-Mobile-ViewerCloudFront-Is-Tablet-Viewer を利用してデバイス判定しているようです。

参考

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。