Developers IO 2023 Day2に参加した。
気になったことや知らなかったことを記載する。
AWS Ambassadorが考える個人的に最強のマルチアカウントハイブリッドネットワーク構成 – のんピ氏
・VPCが1つで複数システムを運用すると影響範囲が大きすぎる(ウイルス感染やセキュリティグループの設定変更など)ため避けたほうがよい。
・サブネットは役割(web,db,appサーバ)とルーティング先(Public,Egress,Isolated)で分割したほうがよい。(サブネットに割り当てられるルートテーブルは1つのため)
・Transit Gatewayを利用すると、SecurityGroups IDを利用したセキュリティグループでは守りにくくなる。サブネット単位で守ることを前提にサブネットのIPアドレス規約を考えたほうがよい。
・ALBは最低2AZ必要であるため、切り離しのために3AZ設定しておいたほうがよい。
・DBのインスタンスタイプによって消費されるIPアドレスは異なるなどIPを消費するサービスも多いため、サブネットのCIDRには余裕をもたせたほうが良い。(とはいえ /20-/24くらい)
・DXGWでAWSからオンプレミスに広告できるネットワークアドレスは20個まで。VPCを多く用意するとハマるかも。
・権限分離と課金状況の可視化のためにシステム毎にAWSアカウントを分割したほうがよい。
・Transit Gatewayは小規模環境であればオーバースペックなことがある。
・VPC Latticeを使って別VPCのALBやLambdaへ接続することができる。
・オンプレミスとTransit Gateway間の帯域や単一障害点を確認することは非常に重要。
・Transit VIFが1つ死んでも通信を処理できますか。
・オンプレミス側に単一障害点がないですか。
・そもそもオンプレミスとAWS間で重要な通信がないようにできないですか。
・コスト最適化、ログの集中管理のために通信は集約したほうがよい。
・NAT Gatewayに複数のIPアドレスを関連付けて最大同時接続数44万件まで耐えられるようになったことも追い風。
・集約した場合、Transit Gatewayなどの障害ですべてのアウトバウンド通信が死ぬ。その場合も考えたNW構成にするべし。(大阪リージョンにTransit Gatewayを用意しておき障害時に利用してもよいかも)とはいえTransit GatewayのSLAは99.99%で今のところは大規模障害が発生したことはない。
AWSでのマルチリージョンアーキテクチャの探求:検討ポイントと実現方式 – 八幡豊氏
・クロスリージョンバックアップを利用する場合は、障害時に迅速に復旧するためにIaCでのデプロイ自動化はしておいたほうがよい。
・Auroraのクロスリージョンバックアップは常にフルコピーのためデータ転送料金がかかる場合がある。
・Image Builder を利用すればAMIを複数リージョンに配布することが可能。
・ディープヘルスチェックによってリージョンの障害を判断すべし。
・Route 53 の機能で複数のヘルスチェック項目を設定し、8割異常であれば切り替えるといった設定が可能。
・Route 53 Application Recovery Controller を利用することで、フェールオーバーとフェイルバックをコントロールしやすくなる。(が月額1800ドルほどかかる)
・Aurora Global Database はストレージをレプリケーションするためラグが1秒未満。リージョン障害が発生すればセカンダリリージョンで Global Database 設定を削除して切り離してから昇格させる必要がある。
・本当の意味でのActive/ActiveにするのであればAuroraではなくDynamoDBしかない。
しかしAuroraには、書き込み転送という機能が存在する。そうすることでアプリからのレイテンシは改善する。(同じリージョンのAuroraが返答するため)
・CloudFrontのオリジンのActive/Active構成は以下のようになる。
ChatGPTに独自データを付与してQA ボットを作成する方法 – 岩手テナージョン氏
・自社独自のデータをQAボットに取り込みたいという要件は、簡単に実現することが可能。
・LLMは文章の処理が得意な機械学習の脳みそ(モデル)。大量のデータを学習して人間がチューニングすることで性能が格段に向上した。
・Llama indexとはオープンソースのLLM用ライブラリ。多くの拡張子の取り込みに対応している。
・Llama indexを使ってChatGPTでは嘘をついてしまう部分を補完することが可能。学習ではなく、取り込んだ文字列をベクトル化し、一番類似度が高い回答をChatGPTに送り、整形してから回答している。
機密事項の扱いについて
・入力したデータをChatGPTの学習に利用させない場合はオプトアウトフォームから申請すべし。
・データを海外に置きたくないという要件であればChatGPTはサーバが海外にあるため満たすことはできない。
・Azure OpenAIの日本リージョンを利用すればデータは国内に留まる。
・クラスメソッド社はルールを定めており、随時改善しているとのこと。
https://dev.classmethod.jp/articles/guideline-for-use-of-ai-services/
運用方法について
・ライブラリのバージョンが頻繁にあがる。対応方法のベストプラクティスは確立しておらず、毎回ビルドや状況によって対応する必要がある。
どうしてクラウドと共に Cloudflare を利用するの? メガクラウドのエキスパートが対談します – 亀田治伸氏、大栗宗氏
Cloudflareについて
・インターネット通信の25%はCloudflareの割に知名度は少ない。CDNシェアとしては80%くらい。
・CDNはキャッシュだけではない。例えばQUIQ(Quick UDP Internet Connections /HTTP通信の20%くらい)を前段で処理できる。
・Cloudflareは下り通信が無料(フリープランが存在する)であり、高速であること。
・GCPやAzure(やさまざまなSaaS)とは太い専用線で接続されておりボリュームディスカウントが適用される。そのためCloudflareを導入すると、クラウドの通信費が下がることがあるらしい。
今後のクラウド利用はマルチクラウドか
・一般的に技術などキャズムを超えると許される。マルチクラウドはキャズムを超えた。
世論によって許されるようになるタイミング、(Twitterのように)許されないようになるタイミングがある。
・それぞれのベンダが特徴を伸ばしていくため、うまく利用するべき。ただし構成を考える上で通信のレイテンシは考えたほうがよい。