- 1. Mistralの最新モデルLargeがAWSのBedrockに登場!? API叩いてみた
- 2. Lambda ってなんですか〜SkillBuildersってのがある話
- 3. CloudformationでIaCしよう
- 4. だけじゃない、Amazon Location サービス
- 5. Terraform count:リソースを削除する時リソースのインデックス番号がずれてしまう問題と解決策
- 6. Astro + Svelte + SST ionでサーバレスなWebアプリ雛形キット準備するよ!
- 7. AWSでEC2+RDSでGo+Nginxのアプリケーション構築
- 8. AWS の EC2(Amazon Linux 2023) に MySQL インストールして外部から接続
- 9. 【AWS-Backup】時間経過を問わずに最新のバックアップから7世代分隔地保管する
- 10. Terraformでオレオレ証明書をサクッと作りたいときのやつ
- 11. ぼっちでもControl Tower
- 12. AWS CDK(Python)で BlueSky Botを作成してみた
- 13. AWS の EC2 の パブリックIP を固定する (Elastic IP使用)
- 14. ウサギでもできるStrongswan on EC2(CentOS7)でリモートVPNサーバを構築
- 15. Lambda内のCSVファイルをPythonで読み込む
- 16. RDS MySQLをサクッとblue green deployでメジャーバージョンアップ
- 17. CodeCommitをローカルにクーロンする方法
- 18. Storage Gatewayとは?
- 19. MySQL + AWS RDS – RDS 証明書の更新でダウンタイムは生じるのか生じないのか
- 20. 【AWS】ECS Execを利用してFargateに接続してみた
Mistralの最新モデルLargeがAWSのBedrockに登場!? API叩いてみた
:::note info
4/3 13:51更新 AWS公式ブログも投稿されました!
:::ビジネス観点
https://aws.amazon.com/jp/blogs/machine-learning/aws-and-mistral-ai-commit-to-democratizing-generative-ai-with-a-strengthened-collaboration/
テクノロジー観点
https://aws.amazon.com/jp/blogs/aws/tackle-complex-reasoning-tasks-with-mistral-large-now-available-on-amazon-bedrock/
# BedrockにMistral Largeが出現!?
セゾンテクノロジーの小杉さんが宇宙最速で見つけてくださいました!
https://x.com/hayaok3/status/1775359932956848157?s=20
Bedrockのこっそりアップデートを宇宙最速でキャッチする仕組みは以下をご参照ください。
https
Lambda ってなんですか〜SkillBuildersってのがある話
## はじめに
ちょっと執筆中です LTなどで使ったパワポを記事にしていこうと思います。
アプリケーション(まわりにJava アプリケーションエンジニアがおおかったのもあり、JAVA+Tomcatあたりのアプリケーション書いてる人を前提に進めます)エンジニア向けに書いていきます。## 経緯
後輩や同僚から、「AWS始めたい」「アプリケーションエンジニアもそろそろサーバレスをしたい」「ラムだって何?」と、いろんなレベル感のメンバから聞かれるので書いたLT資料です。
行間が読めなくなるのでちょこちょこ説明を追記していこうと思います。目標は「AWS Lambda を使い始める皆様へ」の第一歩目を作る。
## はじまり,はじまり〜
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/8216/d0d8ddee-d8bf-2c83-db94-aef4f40fc978.png)
![image.png](https://qiita-image-store.s3.ap-northeas
CloudformationでIaCしよう
# どうも、CFn 大好き! アプリエとインフラの気持ちのわかるエンジニア おーつきです。
アプリケーションの目線から考えると、プログラムのソースコードを管理するといいこと:
・(コードを)Gitでインフラが管理できる。
・(環境)開発差異をDiffして世代管理できる。
・作成リソースを独立した単位で構成できる。ただ、IaCやれるといいねと認識しても、なかなかできないのが
・脱パラメータシート
・IAMやCW監視の管理を増加、見直す
・レイヤーごとにリソース管理するそんな、インフラエンジニアの悩みで考えたときCloudformationを導入するのに共有したTipsを共有しようと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/8216/689bd9d8-579f-e828-5ee1-d1fc56ce3e3c.png)## Template をレイヤとして考えた設計にする
Cloudforamtionではテンプレートという1ファイルごとにStackを定義でき
だけじゃない、Amazon Location サービス
## Amazon LocationService は、アーキテクチャをの組み合わせにシームレス
一昨年re:invent 2022 に参加した時に イベントアプリに採用されてる見知らぬサービス「へ〜、こんなものが出るのか」。
というところから半年、最近このLocationServiceを利用した開発に携わることが多く多用しています。
売りとしては「GoogleMap」ではない「AWSが提供する、サードパーティのMapコンポーネント」、「GPS情報から経路予測」と 一般的な 位置情報を利用したSaasサービスとして遜色ないくらいの機能を提供しています。提供される仕組みの居内、便利だなと思ったものが「ジオフェンス」
・ある矩形で囲んだ領域に 出入りすると、その度に EventBridgeを発火させてくれるようになる。
今までは、スマホなどのGPSなど位置情報を持ったデバイスから定期的にデータを集め、Lambda などで矩形に対して現在位置が含まれるかなどを判定するロジックを描いていたところを イベントトリガの仕組みとして実装しなくて良くなる。## どんなことにつかえるのか
Terraform count:リソースを削除する時リソースのインデックス番号がずれてしまう問題と解決策
# はじめに
Terraformのcount機能は便利ですが、その使用にはいくつかの注意点があります。今回Terraformでcountを使用する際に注意すべきポイントを一つ解説します。# インデックスのずれに注意
Terraformコードにおけるcount機能は、リソースの個数を指定する便利な機能です。しかし、countを利用している場合、環境変数リストから要素を削除すると、インデックスがずれてしまうことがあります。## 例えば:
以下のコードでは、`var.subnet_cidrs`のリストに基づいてサブネットを作成します。
“`terraform
# Create multiple subnets
variable “subnet_cidrs” {
type = list(string)
default = [
“10.0.1.0/24”,
“10.0.2.0/24”,
“10.0.3.0/24” # Replace with your actual CIDR blocks
]
}variable “subnet_names
Astro + Svelte + SST ionでサーバレスなWebアプリ雛形キット準備するよ!
思い立ったが吉日。今すぐ構築するよ。
## ざっくり用語解説RTA
### Astro
コンテンツ駆動でReactでもVueでもSvelteでも組み込めちゃうマルチフレームワーク
https://astro.build/### Svelte
すごいコンパイラ型フロントエンドフレームワーク。書き味は宣言的UIの系譜の中ではシンプル路線
https://svelte.jp/### SST ion
CDKをパージして旧来の限界を越えようとしている次バージョンのSST
(現行のSST v2はCDKをベースにしたAWSサーバレス開発キット)
https://ion.sst.dev/docs/____________________
用語が頭に入ったら、さっそく構築していくよ。
## Astro + Svelte + Tailwind CSS + SST ion構成でサーバレス開発を行うスターターキットを用意する
筆者の好みにより、表題に加えTailwind CSSも統合するよ。**前提として、aws configureは実施しておいてね。AWSのプロファイルを指定したい人
AWSでEC2+RDSでGo+Nginxのアプリケーション構築
## 前提条件
– MacOSを対象としている
– LinuxのVPCを対象
– EC2のインスタンスを作成済み、キーペア作成済み
– RDSのインスタンスを作成済み### EC2にSSH接続
#### ダウンロードしたキーペアの移動・権限付与(済みの場合はスキップ)“`
$ mv ~/Downloads/プライベートキーの名前.pem ~/.ssh
$ chmod 400 ~/.ssh/プライベートキーの名前.pem
# プライベートキーの名前は作成時に決められている(例:aws_user.pem)
“`#### SSH接続
“`
$ ssh -i aws_user.pem ec2-user@パブリックIPv4アドレス
# パブリックIPv4アドレスはEC2のインスタンス詳細画面にて確認できる(例:12.34.567.890)
〜省略〜
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘13.231.224.154’ (ECDSA) to th
AWS の EC2(Amazon Linux 2023) に MySQL インストールして外部から接続
AWS の EC2 の Amazon Linux 2023 に MySQL インストールして外部から接続した時の備忘録メモ
初期パスワードは探すの大変だった...log から取得しかないかは謎です...
実施したのは 2024/04/03 時点です
ざっくり流れは...1. EC2インスタンス起動
1. EC2ログイン
1. MySQLインストール
1. MySQLユーザ作成
1. 外部からMySQL接続# EC2インスタンス起動
AMI は Amazon Linux 2023にして ssh で接続するのでキーペアとかちゃんと設定する
MySQL に外部から接続できるようにセキュリティグループを追加
そのほかは自由でOK![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51758/e11c5e37-04d1-42a4-b165-7821c0f5381f.png)
# EC2 ログイン
windows pc で作業したので putty 使ってログイン
TeraTermがv5に
【AWS-Backup】時間経過を問わずに最新のバックアップから7世代分隔地保管する
![AWS-Backup.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/262d1b0b-3269-d943-52c7-8fded67991c6.png)
## はじめに
本記事は要件からAWSを触っていく中での
個人的な知見を基に作成しております。AWSのベストプラクティスを参考にもっといいものが作れる
一部分をブラッシュアップできる
場合は後学で参考にしますのでコメントいただけますと嬉しいです。## 本記事で実現できること
東京リージョンから大阪リージョンへ
時間経過を問わずに最新のバックアップから7世代分隔地保管を行う## 背景
災対環境を考慮した際、数日間システムが止まった場合、
AWS Backupで7日保管した場合、7世代分の隔地保管が
保たれない可能性がある## 構成図
![【AWS-Backup】日付に依存せず、 常に最新の7世代を確保して隔地保管.png](https://qiita-image-store.s3.ap-northeast-1.amaz
Terraformでオレオレ証明書をサクッと作りたいときのやつ
まずAWS Private Certificate Authorityを利用して、AWS Certificate Managerの証明書を作成する
“`terraform
resource “aws_acmpca_certificate_authority” “main” {
enabled = true
key_storage_security_standard = “FIPS_140_2_LEVEL_3_OR_HIGHER”
permanent_deletion_time_in_days = 30
type = “ROOT”
usage_mode = “GENERAL_PURPOSE”certificate_authority_configuration {
key_algorithm = “RSA_2048”
signing_algorithm = “SHA256WITHRSA”
ぼっちでもControl Tower
# なんでControlTowerを触りたいんや?
案件で顧客にControl Towerを推奨する事になりました、一度も触った事がありません。知らないものを推奨するのは心が痛いです。大きい組織向けのサービスだと思っていたので今まで触ってきませんでしたが、ベストプラクティスに沿った構成を自動で作れるという事で、勉強のためにぼっちでも触るべきだと考えました。
この記事ではとりあえずコンソールからLanding Zoneを立てる所まで行い、設定の確認や開発環境の構築は次回以降の記事で取り扱います。
# そもそもControl Towerとは
一口で言うと、マルチアカウント環境のベストプラクティスに沿った仕組み(Landing Zone)の基で構成するサービスです。コンソールからメールアドレスの指定等行う事で、以下の構成が一気に出来上がります。
– Organization Unit(OU) Security OUと配下のログアーカイブアカウント、監査アカウント
– 予防的ガードレール(SCP)
– 発見的ガードレール(AWS Config)
– etc…概要はこちら
https
AWS CDK(Python)で BlueSky Botを作成してみた
## 動機
Blueskyで[日本各地の花粉情報を教えてくれるbot](https://bsky.app/profile/uso-kahun-bot.bsky.social)を作成しました。
作成するに当たり、AWS CDKを使ってbot作成している記事がほとんど無かったので共有します。
## 概要
![AWS.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3761646/54304295-54ae-9599-5a72-8f5794d4477b.png)
EventBridge SchedulerでLambdaを定期的に呼び出し、Lambdaから[atproto](https://github.com/bluesky-social/atproto)を使って投稿するというシンプルなもの
## 1.アカウントIDのパスワードを払い出す
[こちらの記事](https://www.zenryoku-kun.com/new-post/bluesky-api)を参考にアカウントID,パ
AWS の EC2 の パブリックIP を固定する (Elastic IP使用)
AWS の EC2 のパブリックIPを固定するときのメモ
Elastic IP 使って簡単に出来そう
画像は 2024/04/02 現在です
ざっくりの流れは
– EC2インスタンス作成
– Elastic IP 割り当て
– Elascic IP から EC2インスタンスに関連付け# EC2 インスタンス作成 (インスタンス起動)
とくにこだわりなく適当な設定で作っていく
一旦はデフォルト設定で作成、SSH 接続すること考えるとキーペアだけ設定する
AMI, インスタンスタイプ, ネットワーク設定はこんな感じ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51758/d75c58cf-def4-0843-1a08-2b5651d5b860.png)
# Elastic IP 作成・割り当て
こちらは見慣れない画面なので手順メモ1. Elastic IP アドレスを割り当て(作成)
EC2 の左メニューにある [ネットワーク&セキュリティ] – [Elastic IP
ウサギでもできるStrongswan on EC2(CentOS7)でリモートVPNサーバを構築
# 序章
今担当しているお客様は、FWの内側に仮想Linuxサーバがあり、Strongswanを用いてリモートワークを実施していました。
社内のサーバ群をクラウドに移行する際、そのFWとAWSのsite-to-site VPNを接続したところ、StrongswanのIPsec通信を奪ってしまうという事件が発生したのです。
そりゃそうですよね。一つのIPで同じポートの通信を複数の機器が受けられるわけがありません。
そのため、site-to-site VPN接続のタイミングでリモートVPNサーバをクラウド化してしまおうという案が出てきたため、急遽構築することになって検証したのがきっかけで作成した記事です。※実はFWでもリモートVPN設定は可能ですが、この機器ではNW担当の実績がないこと。更にまもなくFWを置き換える予定で置き換え後はFWでリモートVPNになるため、今回の設定は暫定であること。それもあってリモートPCの設定変更が容易であることを求められたため、接続先IPの変更のみで置き換えられるStrongswanの案になったという背景があります。
なお、初めはAmazonLinux2
Lambda内のCSVファイルをPythonで読み込む
“`
import boto3
import datetime
import time
import csv
import loggingdef lambda_handler(event, context):
# 実行日取得
to_time = datetime.datetime.now()
# 1日前取得
from_time = datetime.datetime.now() – datetime.timedelta(days=1)
# エポック時刻取得(float型)
epoc_from_time = from_time.timestamp()
epoc_to_time = to_time.timestamp()
# エポック時刻をミリ秒にしint型にキャスト
m_epoc_from_time = int(epoc_from_time * 1000)
m_epoc_to_time = int(epoc_to_time * 1000)# Lambda関数内のCSVファイルを読み込む
RDS MySQLをサクッとblue green deployでメジャーバージョンアップ
# Blue Green Deploy
サクッとやってみました。
以前、RDSのMySQLのメジャーバージョンアップをした際にもこのBlue Green deployをしたのですが、
今回、インスタンスのt2系廃止に伴い、t4gへとインスタンスタイプ変更が必要になり、
前回同様にBlue Green deployで実施しました。
メジャーバージョンアップする場合の手順もまとめつつ、今回の手順を説明します。# 最初に注意点
RDSのBlue Green deployではトラフィックの振り分けをしたあと、
エラーが出た場合にもどす、ということができません。後述する、以下の章で説明しています。
>トラフィックをGreenへと切り替える。# まずはBlue Green deployの作成
作成しましょう。
ここでは2点ポイントがあります。
:::note info
**Point1**ファイルシステムアップグレードも同時にやる場合greenの作成に1時間かかります。
:::
https://docs.aws.amazon.com/ja_jp/AmazonRDS/l
CodeCommitをローカルにクーロンする方法
# はじめに
今回業務でCodeCommitをローカルにクーロンするといった作業を行ったのでこちらに手順をまとめていこうと思います。## 手順1~クレデンシャルパスワードの取得~
①AWSのマネジメントコンソールから一番右上のリージョンが書かれているタブの右のタブをクリックしてその中で『セキュリティ認証情報』をクリック。
②AWS CodeCommit認証情報を選んで『AWS CodeCommit の HTTPS Git 認証情報』をクリック
これでGitのクレデンシャルパスワードを取得できる。## 手順2~Gitをローカル環境にダウンロード(Gitをダウンロードしていない人が対象)~
①下記のURLを使ってローカル環境にGitをダウンロードする。(自分の場合はWindows用の64bitのバージョンをインストールした)https://git-scm.com/downloads
## 手順3~CodeCommitからHttpsのクローンを取得する~
①AWSマネジメントコンソールの初期画面で『CodeCommit』と検索。
②『リポジトリ』の中からローカルにクーロンしたいものを
Storage Gatewayとは?
## 初めに
本日はStorage Gatewayについて書かせて頂きます。
皆様のご意見頂けたら幸いです。## Storage Gatewayとは?
オンプレミスからAWSのストレージサービスへのアクセスを高速かつセキュアに行うことができるサービスの事###### イメージ
![スクリーンショット 2024-04-02 14.28.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/6bbe50e6-06a3-cec5-55b5-7307b0e87bd7.png)上記の様にAWS上のストレージサービスにStorage Gatewayを通してアクセスを行います。
種類は後ほどご紹介させて頂きます。## 種類
![スクリーンショット 2024-04-02 14.43.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/7dd1ff7c-3216-84dc-a28b-3af50
MySQL + AWS RDS – RDS 証明書の更新でダウンタイムは生じるのか生じないのか
# 前提
RDS証明書更新よりも前に、アプリケーションがデータベースに接続するための証明書更新も必要なようだ
# 概要
MySQL の SSL モードが required でない場合は、ダウンタイムが生じなさそう
ただしSSLの暗号化通信がされなくなってしまうようなので、いつの間にかSSL通信していなかったという事態には要注意だMySQL 8 系の SSL モードはデフォルトが required ではなく preferred なので、注意
## 参考
新しい SSL/TLS 証明書を使用して MySQL DB インスタンスに接続するようにアプリケーションを更新する
> disabled、preferred、および required の SSL モードを指定できます。preferred SSL モードを使用し、CA 証明書が存在しないか、最新でない場合、接続は SSL を使用しない状態にフォールバックし、暗号化なしで接続が行われます。
>これらの新しいバージョンでは OpenSSL プロトコルが使用されるため、サーバー証明書の有効期限が切れても、 required
【AWS】ECS Execを利用してFargateに接続してみた
# はじめに
[以前の記事](https://qiita.com/kawatani32/items/b79da8af72fc4f0e7b31)で、ECS on Fargateを用いてWebサイトの構築を行いました。
何か問題が起きた際に既存Fargateに接続したいということがあるかと思います。
そこで、Serverworks様の[記事](https://blog.serverworks.co.jp/ecs-exec)を参考に、Fargateに接続できるまでの手順をまとめていきたいと思います。# 個人環境
+ Windows10## AWS CLIのインストール
AWS CLIがインストールされていない場合は、公開されている[インストール手順](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)を参考に、AWS CLIのインストールを行います。
※特に変更などせずデフォルトのままインストールを行っています。
※AWS CLIに任意の認証情報を設定してください。