投稿

ACM+CloudFront+Route53でS3バケットをhttps付きでWeb公開

イメージ
もはやAWSでは出さされつくした感のある S3をhttps形式で公開しましょう というデザインパターンを試してみました。 前回 のWordPressを移行した後の設定で使用した内容です。まぁ ここの手順 そのままチックではあるんですが、、、とりあえず個人の備忘録として置いておきます。 1.ACMの設定  Amazonのコンソールにログインしてリージョン設定を[米国東部(バージニア北部)]に変更する。 サービスで「ACM」と検索してCertificateManagerを選択する。  [今すぐ始める]ボタンをクリックする。 ※ない場合は[証明書のリクエスト]をクリックする。 [パブリックの証明書リクエスト]が選択されていることを確認して[証明書のリクエスト]をクリックする。 [ドメイン名]の箇所に証明書を発行したいドメインを入力する。その後[この証明書に別の名前を追加]をクリックする。  「*.ドメイン名」を入力する。 ※ほんとはワイルドカードじゃなくて個別のサブドメイン指定するほうがいい。 入力できたら[次へ]をクリック  [DNSの検証]を選択する。 *自分はRoute53を使うのでこうすると楽  [確定とリクエスト]をクリックする。  ドメイン名の横の「▲」をクリックして[Route53でのレコードの作成]をクリックする。  「成功」表示を確認してから[続行]をクリックする。  「状況」で[成功]となっていれば作業は完了 リージョン設定を[アジアパシフィック(東京)]に変更する 2.CroudFrontの設定  サービスで「CloudFront」と検索してCloudFrontを選択する。  [CreateDistribution]をクリックする。  [Web]となっているほうの[Get Started]をクリックする。  あらかじめWeb用に作成したS3bucketを選択する。 ・Restrict Bucket Accessは[YES]を選択する。 ・Origin Access Identityは[C...

既存のVPSのWordPressをEC2+AuroraServelessに移行してみた

今現在、趣味で Conoha にて運用している WordPress のサイトがあるのですが、VPSを別の用途で使いたいと思いまして、サイトの移行を考えています。 そして移行第一弾としてこのWordPressサイトをそのまま AWS に移してみようということで今回、移行作業にトライしてみました。 これを機会に DNS もConohaに設定していたのを Route53 に移しています。 ちなみに Route53 への移行はこ このサイト を参考にしました。後は VPC の設定とかは 事前に全部完了させている想定です。 大まかな手順は以下の通りです。色々と先人がいたおかげで、結構簡単にできました。 1.既存サーバでデータベースのエクスポートと既存サイトの圧縮 2. EC2 にてWebサーバを構築( nginx + PHP7.3 ) 3. AuroraServeless にてデータベース設定 4.既存サーバから取得したデータベースと既存サイトを展開 5.nginx起動 ではコマンド類です。 参考 https://qiita.com/morizyun/items/f45dc580bac0ebba79ab   1.既存サイト側の作業  (1)MySQLバックアップ $ sudo mysqldump --default-character-set=utf8 -u root -p samplesite > ~/20191001_wpdump.sql $ cd $ sudo chown sshloginuser 20191001_wpdump.sql $ sudo mv 20191001_wpdump.sql /home/sshloginuser (2)WordPressバックアップ $ cd /var/www/ $ sudo tar -czvf samplesite_bkup.tar.gz samplesite $ sudo chown sshloginuser samplesite_bkup.tar.gz $ sudo mv samplesite_bkup.tar.gz /home/sshloginuser $ sudo vi samplesite/wp-config.php ※以下の箇所を控えておく(移行時に使...

GCPのGAEでDataStoreにデータ投入して検索するAPIのサンプル作ってみた

前回 の続き、 GCP の開発環境は作ってみたものの。肝心の GAE + DataStore の環境ができていないのでローカル環境でサンプル的なものを作って動かしてみることにした。 もしかしたら DynamoDB でも似た様な事をできるのかもしれないけど グローバルセカンダリインデックス の考え方がよく分からなかったのと複合条件とかが結構複雑な考え方でやらないといけないっぽかったのでGCPとAWSを適材に応じて使えますとか言ったら、 転職に有利になるかと 、会社のお役に立てると思い今回はGAEでやってみました。 1.環境構築 (1)作業用ディレクトリ作成 $ mkdir flasksample $ cd flasksample (2)DataStore用cloud-gui導入 参考サイト: https://engineer.crowdworks.jp/entry/2019/03/08/161559 https://qiita.com/kerupani129/items/60ee8c8becc2fe9f0d28 $ mkdir datastore $ cd datastore $ cd ../ $ sudo apt update $ sudo apt install -y nodejs npm $ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - $ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list $ sudo apt update $ sudo apt -y install yarn $ sudo yarn global add google-cloud-gui $ sudo npm i -g google-cloud-gui (3)CloudSDK設定 参考サイト: https://qiita.com/G-awa/items/e6904b040caa0096fba0 https://qiita.com/sky0621/items/597d4de7ed9ba7e31f6d h...

aptでGCloud入れてみた。

GoogleCloudPlatform で DataStore と flask を利用して GAE でAPIを作れないかと色々と調べているものの 前回作成した環境 だと2020年1月サービス終了のpython2系環境に固定されちゃうんで嫌だなぁと思って、何か他にうまい手がないか調べたところ、 公式 ではaptで入れられるらしいし ここ を調べるとpython2系と3系をpyenvで併存させられるみたいなので、こっちの 環境でgcloudを入れ直してみた。 ■以下はコマンド #pyenv設定 $ pyenv global 2.7.16 3.7.3 $ pyenv global 2.7.16 3.7.3 #CloudSDKインストール $ export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" $ echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list $ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - $ sudo apt-get update && sudo apt-get -y install google-cloud-sdk google-cloud-sdk-app-engine-python google-cloud-sdk-app-engine-python-extras google-cloud-sdk-datastore-emulator google-cloud-sdk-pubsub-emulator google-cloud-sdk-cbt google-cloud-sdk-bigtable-emulator kubectl #インストール後確認 $ gcloud --version Google Cloud SDK 259.0.0 alpha 2019.08.16 app-engine-python 1.9.86 ap...

AWSのUbuntu18.04LTSにmauticをインストール

最近 マーケティングオートメーション なる考え方を勉強していて、 マルケト SATORI HUBSPOT Salesforce Pardot なんか色々とあるということは理解できたけど、ほとんどが有償でハードルが高いです。 調べていた中でOSS版 mautic だとお手軽に勉強できそうだったのでインストールしてみました。ひさびさにPHPのサーバ構築で、 FastCGI のところでやや嵌りましたが無事にインストールできました。なのでひとまず備忘録として置いておきます。 この通りの手順でやって損害出るかもなのでコピペして本番運用はしない方がいいかと思います。それなりにセキュリティ対策はしておいてください。環境はAWSのUbuntu18.04+PHP7.2+MariaDBです。PHP7.3でやりたかったんですが、対応してないってことなので泣く泣くPHP7.2です。 あとはゆくゆくのバージョンアップを考えて git clone でインストールしてみました。 バージョンアップ 、これは今後の課題、それでは以下手順です。 ◆作業手順 ## ホスト名設定 $ sudo hostnamectl set-hostname mautic_srv ## アップデート $ sudo apt-get -y update $ sudo apt-get -y upgrade ## sshセキュア強化 $ sudo vi /etc/ssh/sshd_config PermitRootLogin no ←追記 $ sudo service ssh restart ## 日本語化 $ sudo apt-get -y install language-pack-ja $ sudo update-locale LANG=ja_JP.UTF-8 $ sudo apt-get -y install binutils $ strings /etc/default/locale $ sudo apt-get -y install manpages-ja manpages-ja-dev ## timeZone設定 $ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime $ sudo dpkg-r...

python2.7のLambdaEC2自動起動スクリプトをpython3.7化してみた

https://dev.classmethod.jp/cloud/aws/simple-auto-start-stop-for-ec2/ 上記のサイトを丸写ししてEC2の自動起動をしていたんだけれども、 python2.7のサポート終了 が近付いてきているので、Lambda関数をpython3.7化してみた。 最初にLambdaをそのまま3.7に切替えてみたんですが動作しない。 CloudWatchのログ を見てみるとエラー出てるじゃないですか。 ※先にログ見ろよな [ERROR] Runtime.UserCodeSyntaxError: Syntax error in module 'lambda_function': invalid syntax (lambda_function.py, line 10) Traceback (most recent call last): File "/var/task/lambda_function.py" Line 10 print 'started your instances: ' + ", ".join(instances) そりゃそうですよねぇ。そのままで動くと思ったらprint文で引っかかるんですね。 ひとまずエラーの内容を元に以下の通り書き替えました。 import boto3 def lambda_handler(event, context): region = event['Region'] operate = event['Action'] instances = event['Instances'] ec2 = boto3.client('ec2', region_name=region) if operate == 'start': ec2.start_instances(InstanceIds=instances) msg = 'started your instances: ' + ", ...

ClamAVインストール時にエラーが出て困った話

Linuxだと、よく ClamAV をウィルス対策に入れたりするわけですがたまに以下の様なメッセージが出ることがあります。通常はアップデートを待つしかないので仕方なく待つわけなんですが、 Your ClamAV installation is OUTDATED! Local version: 0.100.3 Recommended version: 0.101.2 Ubuntu18.04LTSだとStapleがversion0.100.3で こんな感じでトラブって いるようです。 そして用事があるのでHyper-VにUbuntu18.0.4LTSを入れました。普段はこういうケースの時はClamAV入れないんですけど、とある事情でどうしても入れなきゃいけなくなりました。ところがどっこい、今日はうまくいかない、、、。なぜだ? 以下の様なメッセージがmain.cvdとdaily.cvdとbytecode.cvdの3つで発生してしまって途方に暮れておりました。どうすりゃいいんすか? -> !Can't download bytecode.cvd from db.us.clamav.net -> Giving up on db.us.clamav.net... -> Update failed. Your network may be down or none of the mirrors listed in /etc/clamav/freshclam.conf is working. Check https://www.clamav.net/documents/official-mirror-faq for possible reasons. さらにスキャンしようとすると当然ながらエラーです。 LibClamAV Error: cli_loaddbdir(): No supported database files found in /var/lib/clamav ERROR: Can't open file or directory 色々と調べていて途方に暮れていたところQNAPなんですが何となく これ が参考になるのではないかと思い強引に試してみました。 $ wget http://databas...