概要

先日、Omeka Sのデータをダウンロードするプログラムを作成しました。

今回は、AWS Copilotを使用して、上記のプログラムを定期的に実行してみます。

AWS Copilotのインストール

以下を参考にしてください。

https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/AWS_Copilot.html

ファイルの準備

任意の場所で、Dockerfilemain.sh.envの3ファイルを作成します。

Dockerfile

FCCROMOPDMYsphy.tsmhhaoin.n:.3sh

main.sh

se#edd#if#gg#cpp#cs#omccc#gggggg#crrexxiifiiidiidhdkdppiiiiiidmmtpOprrrrcttrppcidgttttttomo__[mmle$smori$--i---rertdoccqdiirap=rorrtsacccprretktoa---nlluinnciy.dtdooouffaotdrreooirssn.-iadnnmsorlaffnnr_tt./prtffmh$$uSe=s$eeetaas.u.iiiddtpted$$mollh.$sggtiipootiddeoll/orru_o=rii--nl$d/uu-__ttld_rrddt-di$$ssmtd_oat__ees-rirddeeoadototdpp.uriirr"otilaooatttpr_rr..ular=slothhxged__enps=helatrqattmade.tt]s11autooamat.t;ediaooiet/pt$$ersllledstrree//""o:heepmtdd"$c/eppie/ao$ns/noopn$tceag__tsasmmitdsuaetoa.b..i"hottdlulaxi"bstr.$ecdtoimr$/_dntiaorko_aldmautraas1e9t6/omekas_backup.git

.env

aguedpismiitear_hrinuunlarba=ml_mne=uea=hr=kdtlnaet=amvphkustar:tma/pu@/sred:axe/am<polmee.koar.gorg/o>m@egkiat-hsu-bs.acnodmb<x/api>/<>.git

以下、説明です。

項目説明値の例備考
api_url対象とするOmeka SのAPIのURLhttps://dev.omeka.org/omeka-s-sandbox/api-
github_url保存先のgithubリポジトリのurlhttps://<個人アクセストークン>@github.com/<ユーザ名>/<リポジトリ名>.gitPersonal access tokenを含めることで、本プログラムの実行結果を当該のGitHubリポジトリに反映することができます。
usernameコミット用のユーザ名nakamura-
mailコミット用のメールアドレスnakamura@example.org-
dirname保存先のgithubリポジトリに作成するディレクトリdev-

AWS Copilotの実行

以下のようにcopilot initを実行します。いくつかの質問に回答する必要がありますが、これだけでAmazon ECSへのデプロイが可能です。

%D%WtcUAWJDSRONYADoeoospooocakoolelcclneprbchtCTtWuClpskochtlkkeegrherrrlepoeaeilned:ree:oerorimlixcoarueatmaiyflepniaamfl1atdAeatg:ioestdeiehteirnehlttyrti:l,drctidtNeooiiotetehhf,oiuznnyo:ywtcieeEmntegpmpehttsCyaihgdneee'eoemtRoiteeaa:k/:lrcauntspmaDliytncr'.CepeSsoRnuioersosrl:c-casfcrfnpehpevihbkteroeetoiticoeaeetapsasalcamdcrsittiiloueteukfutlyntltpsikluipropfsooaepluteorsCwtnsd-eacrcieLih:-jtwaoetItabJoSuirjns!htNaobcrlmoffocbhel6bifoWaoke4gorepudthour'cepuoohmrlrorllaeajoenaemdsktocttdaaibagaensbsoloiJaee-nointogrebsmdneobevnaeegrgiclkvienscdkiaetztaeeeuksloehmrtpe-odeevme-bpwrdiacjyamaa.cntoocelpoeiebuknkpmsfdrutlee.ap.yikastc-ocantWojuasdsecnot-otbtibjfwpa.hoaooiiirncbrllnoksloeuouatrgnpups/h-npeosAjdltmisWoeiezoSbrcpkem.alaeiatasaAnpit-nqnpofbdualnoaeapircjsppcomkotplamubilite'poicikl-sncaoaijcsatnsnohti-ubeioobxdonmamunecxalokk8neimau6isesp_f(k-.6e@aab4sesa'tvc-c.eobkiyrlaunmylcpslek.t1cuehtpa)id.or.nunIonffinygouo'ndtrhaethsecrhebduuilled@aenvderryun1ha.sarchitecturetypearm64,pleasechangethe'platform'fieldinyourworkloadmanifestto'linux/arm64'.

上記を実行後、copilot/{service name}/manifest.ymlの末尾などに以下を追加します。環境変数を追加します。

####nt#eaynTRYmpvhehoee_eatu::fdtrimpoSlatsjmcenh:oeh:ie/bkef/ad.efansuesuwa-lntlsmbevl.eadfgcosiwkJrptiuoehlpbtcul-hibjef.boiieb"cooa/umtcseioekopdanisli-fonbotar-nccaktlmuhiipe/n-dgj"ooScybcso"h/uemrjdaounrblie.efsdeosuJtro/cbse"cshtelydipukeleeadlt-o:jgobg/roups,ECSTasks,etc.

その後、以下のコマンドにより、デプロイが可能です。ファイルなどを修正した際にも、以下のコマンドで更新することができます。

%copilotdeploy

まとめ

Amazon ECSを用いて、Omeka Sのデータを定期的にバックアップする方法を紹介しました。Omeka Sのデータバックアップなどの参考になりましたら幸いです。