投稿

ラベル(GitHub)が付いた投稿を表示しています

(続)静的Webサイトホスティング二重化してみる(その4)

イメージ
前回までで おおよそ意図した構成は完成したものの。やっぱりコンテンツを二重投稿するのはイヤだということで GCSのときと同様 にGitHubActions使ってmainブランチにコンテンツをpushすると S3 と Blob に同時にコンテンツをアップロードするという構成を作ります。 AWSのIAMでS3にオブジェクトアップロードできる権限を作るとこと GitHubActions の設定やなんかは GCSのとき のを参考にシークレットとか設定します。 最終的に↓感じの構成になりました。 ◆シリーズ その1:AWSでCloudFront+S3構成を作る その2:AzureでApplicationGateway+Blob構成を作る その3:DNSでフェイルオーバー設定 その4:S3とBlobにGitHubActions使ってコンテンツ同期(今回) その5:TerraformでIaC化 ◆環境 azure-cli 2.14.0 Ubuntu20.04.4LTS ◆作業内容 1.AzureのCREDENTIALSを発行 ローカルで発行しようとしたもののエラーが発生したて解消できませんでした。どんだけあがいてもうまく行かなかったのでAzureのCloudShell上でコマンドを叩きます。 $ az ad sp create-for-rbac --name tohonokai_tk --role contributor \ --scopes /subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP_NAME} \ --sdk-auth The underlying Active Directory Graph API will be replaced by Microsoft Graph API in Azure CLI 2.37.0. Please carefully review all breaking changes introduced during this migration: https://docs.microsoft.com/cli/azure/microsoft-gr...

静的Webサイトホスティング二重化してみる(その3)

イメージ
2020年中に完了させたかったのですが、結局年をまたいでしまいました。静的Webサイトホスティング冗長化の件、設定作業自体は前回の内容で完了しているのですが、コンテンツの更新で2ヶ所に更新するというのもナンセンスだし、今時 FTPでファイルアップ とかいう時代遅れなことをする気もないので GitHub の mainブランチ に push したタイミングで S3 と GCS の両方にコンテンツを同期するという仕組みを準備することで更新漏れを防止するという仕組みを準備します。こうしておけばいつ CloudFront が落ちても安心ですね。(オイ 後は2021年8月13日に GitHubでパスワード運用が廃止 になるらしいのでトークンを発行してパスワード運用からの切替えもしました。 GitHubにpushすれば本番リリースというのはとても楽でいいですね。確認終わったやつをmergeしてからpushすりゃ本番リリース完了サーバ再起動も発生しない。もはやWebのためにサーバという発想がなくなってきています。後はこいつを IaC 化できればいいなぁ。 最終的にこんな感じになりました。 ◆シリーズ その1:AWSでCloudFront+S3構成を作る その2:GoocleCloudでLoadBaranser+GCS構成を作りDNSでフェイルオーバ その3:S3とGCSにGitHubActions使ってコンテンツ同期 その4:TerraformでIaC化 ◆手順概要 1.AWSのIAM設定 2.GCPのサービスアカウント発行 3.GitHubの諸設定  3-1.トークン設定  3-2.Secretの設定 4.GitHubActionsの設定 ◆手順 1.AWSのIAM設定 ・コンソールでIAMから[グループ]を選択して[新しいグループの作成]をクリックする。 ・[グループ名]を選択して[次のステップ]をクリックする。 ・ポリシーで[S3FullAccess]と[CloudFrontFullAccess]を付与して[グループの作成]をクリックする。 ・続いてユーザの作成を行う[ユーザ]を選択して[ユーザを追加]をクリックする。 ・[ユーザ名]を入力し、アクセスの種類で[プログラムによるアクセス]を選択する。[次のステップ]をクリックする。 ・ユーザをグループに追加セクションで先に作成...