- 1. 2024年1月31日までにDatabricksのクラシックデータプレーンからコントロールプレーンへの追加のポートを許可してください
- 2. クラウドゲーム環境の利便性向上の取り組み
- 3. AWS Certified Solutions Architect -Associateを受験料だけで合格する勉強法
- 4. なんとかGWとENIはどうちがうんだろう?─インフラ素人がものすごく浅〜くまとめたメモ
- 5. 【Databricks】Unity Catalogを作成してみた-3
- 6. SageMakerカスタムカーネルを作って永続化
- 7. AWS SES SMTP インターフェイスを使用したメール送信のSMTP認証パスワードを生成する方法
- 8. Aurora MySQL version2からversion3にしたときに詰まったこと
- 9. Docker備忘録(初心者)
- 10. プライベートサブネットでECS Fargateを利用する際のつまずきポイント
- 11. AWS ECS – CodeDeploy での blue/greenデプロイ で テストリスナーポートの使い方は何なのか
- 12. TerraformでオブジェクトをS3へアップロードし、etagでファイル更新を管理する方法
- 13. AWS ECS + CodeDeploy – blue/green デプロイ と Canaryデプロイの違い ( ECSAllAtOnce とその他のデプロイ設定 )
- 14. AWS VPNを用いて固定IPアドレスでインターネットを使う
- 15. TerraformでS3に複数ファイル/フォルダをまとめて上げる方法
- 16. Amazon Cognitoでのログイン認証時のエラー対応
- 17. TerraformでS3リソースをインポートしてみた:②Terraform import block編
- 18. フルサーバーレスでwebアプリ開発、実際やってみて感じたこと
- 19. 【aws】クロスアカウントでのS3取得
- 20. TerraformでS3リソースをインポートしてみた:①Terraform import編
2024年1月31日までにDatabricksのクラシックデータプレーンからコントロールプレーンへの追加のポートを許可してください
[Allow additional ports from your classic data plane to control plane by January 31, 2024](https://docs.databricks.com/en/release-notes/product/2023/august.html#allow-additional-ports-from-your-classic-data-plane-to-control-plane-by-january-31-2024)の翻訳です。
:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::お使いの[クラシックデータプレーン](https://docs.databricks.com/ja/getting-started/overview.html)(クラスターを実行するための計算資源が存在する場所です)のVPCで、Databricksの[コントロールプレーン](https://docs.databricks.com/ja/gettin
クラウドゲーム環境の利便性向上の取り組み
# 0. 概要
ゲーミングPCは高くて買えないけど、Apexとかやってみたいなと思っていました。
AWSの勉強をして、AWS上にゲーム環境構築したら、低スペックPCでも遊べるのでは?と考えました。検索すると、次の記事が出てきました。https://zenn.dev/unotovive/articles/5b0ae91c05f4f5
この記事を参考にして、AWS上にApex等のゲームができる環境を構築しました。
本記事では、上記記事に書かれていない内容の補足を行います。### 目次
1. 準備段階でやるべきこと
EC2パスワードの変更
2. ゲーム終了時にやるべきこと
2.1 AMI作成
2.2 S3へAMI保存
3. ゲームを再開するときにすべきこと
3.1 ①S3からAMIを復元
3.2 ②EC2の起動と③IAMロールのアタッチ
(A) マネジメントコンソールの利用 (手動)
(B) 起動テンプレートの利用 (半自動)
(C) CloudFormationの利用 (ほぼ自動)# 1. 準備段階でやるべきこと
### EC2のパスワードの変更
デフォルトのEC2のパ
AWS Certified Solutions Architect -Associateを受験料だけで合格する勉強法
半年前にクラウドプラクティショナーを取得し、その後もっと上位の資格を取りたくなり調べた結果、「Solutions Architect -Associate」なら受験料以外お金をかけずにできそうだったから勉強してみることにした。
合格最低点超ギリギリとはいえ、見事合格を果たしたのでその時の勉強方法をまとめてみた。前回クラウドプラクティショナーを受験した時の記事は[こちら](https://qiita.com/Ri210_Maezaki/items/5be64c116edd98910fb6)
## はじめに
私のAWSとの関りについてざっくりこんな感じ– AWSでの作業歴:業務でだいたい2年半ぐらい
– AWSでの作業内容:アプリケーション運用保守で触る程度(構築とかはあんまりしてない)
– 業務以外でAWSを使ってない
– むしろ時々プライベートでGCPを触ってる## 1.受験した背景
「Solutions Architect -Associate」を受験した背景はざっくり以下の通り。
– クラウドプラクティショナー合格後、もっと上位の資格を手に入れたかったから
– kob
なんとかGWとENIはどうちがうんだろう?─インフラ素人がものすごく浅〜くまとめたメモ
AWSについて学ぶ中で気になっていたことの1つ。__「なんとかGWとENIはどうちがうんだろう?」__ この疑問について、関連する概念とともに、あらためて(ちょっとだけ)考えてみたときのメモです。
# まず、イメージ
なんとかGW(Gateway)はネットワーク同士を繋ぐもの。つまりIPアドレスの空間同士を繋ぐもの。だから制御がちょっと緩い:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50571/756aaee7-ba46-dc01-5883-ab9adcc70117.png)? IGW(Internet Gateway)、NAT GW(NAT Gateway)、DX GW(DirectConnect Gateway)、そしてゲートウェイ型VPCエンドポイントなど。
ENI(Elastic Network Interface)はいわゆるNICであり、特定(1つ)の機器をネットワークに繋ぐもの。つまりIPアドレスを機器(EC2など)に付与するもの。だから制御はよりしっかり:
【Databricks】Unity Catalogを作成してみた-3
# 背景・目的
以前、下記の記事でUnity Catalogのセットアップを行いました。– [【Databricks】Unity Catalogを作成してみた-1](https://qiita.com/zumax/items/c84ea4f13459f887b393)
– [【Databricks】Unity Catalogを作成してみた-2](https://qiita.com/zumax/items/c7f158b6f314079a714e)引き続き、Unity Catalogについて操作していきたいと思います。今回、実施する内容は下記のとおりです。
– (オプション)メタストアを追加のワークスペースにリンクする
– (推奨)メタストアの所有権をグループ に移行する# まとめ
– デフォルトではメタストアの管理者は作成者になるため、属人性を回避するためにグループに置き換えます。# 概要
## メタストア管理者を割り当てる
> メタストア管理者は、 Unity Catalogの高度な特権を持つユーザーまたはグループです。 メタストア管理者には、次の権限があります。
SageMakerカスタムカーネルを作って永続化
# 概要
Notebookインスタンスを再起動した後も停止前にインストールしたライブラリを再インストールせずに使えるようにするための方法です。
# 前提/問題
AWS Sagemaker Notebookインスタンスは、インスタンスを停止すると、“`pip“`コマンドなどでインストールしていたライブラリが**再起動後に使えなくなってしまいます。**インストールするライブラリの数が2,3個でかつインストールに時間がかからないような場合であれば、インスタンス再起動後にもう一回インストールすれば済むのですが、次のようなシチュエーションでは問題となります。
1. インストールする必要があるライブラリが多数存在し、Notebookインスタンスを再起動するたびにインストールするのに時間がかかってしまう場合
→インストールが面倒くさい。開発/作業効率が落ちる
2. 会社のAWS環境などでプロキシ設定されてしまっており、pipなどで自由にライブラリをインストールできない環境の時、セキュリティ担当部署で一時的にプロキシを開放し、作業完了後にすぐにプロキシを閉じてしまうような場合
→プロ
AWS SES SMTP インターフェイスを使用したメール送信のSMTP認証パスワードを生成する方法
# はじめに
業務でAWS SESを使用してメール送信処理を実装する機会があった。
実装中にSMTP認証のパスワードが違うというエラーが出て少し詰まったのでその解決方法をご紹介します。## STMP(Simple Mail Transfer Protocol)とは
メール送信で使用されるプロトコルらしい。
“`
SMTP(Simple Mail Transfer Protocol)は、インターネット上で電子メールを送信するためのプロトコルです。
SMTPは主にメールの送信に使用されるのに対し、メールの受信にはPOP3(Post Office Protocol 3)やIMAP(Internet Message Access Protocol)といった他のプロトコルが使用されます。SMTPの主な特徴や役割は以下の通りです:
メールサーバ間の通信: SMTPは、メールを受け取るサーバ(受信サーバ)からメールを送り出すサーバ(送信サーバ)へと、メールを転送するためのメカニズムを提供します。
送信要求の処理: ユーザが電子メールを送信する際、その要求はSMTPを使用してメールサーバ
Aurora MySQL version2からversion3にしたときに詰まったこと
# はじめに
Aurora MySQL v2が[2024年10月31日でEOLを迎える](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.VersionPolicy.html#Aurora.VersionPolicy.MajorVersionLifetime
)ので、重い腰を上げてAurora MySQL v3にしました。
v3への移行の際に[Blue/Green deployment](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments-overview.html)で楽々移行♪と思っていたのですが、ハマるポイントなどもあったのでまとめました。# Blue/Green deploymentでの問題
## Blue/Green作成時に「mysql.flush_rewrite_rules」のエラーが発生する
Blue/Greenの作成ボタンを押した段階で、
Docker備忘録(初心者)
# はじめに
業務でコンテナを触り始めましたが、なかなか覚えられないので使ってる範囲の知識をまとめてみました。※随時更新予定# 仮想化 vs コンテナのイメージ
– 仮想化
![仮想.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3161388/40d6652f-4c0d-22fd-65fc-6d3016b591b0.png)– コンテナ
![コンテナ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3161388/7d208a48-49f4-62ca-8347-a578ec606128.png)仮想化はゲストOSを都度立ち上げる必要がありますが、コンテナはその必要がありません。その分起動が早い、といった利点があります。
# Docker 用語
– Docker Engine
– Dockerを利用するための常駐プログラム(PCにインストールする)
– image
– コンテナの設定ファイル。
プライベートサブネットでECS Fargateを利用する際のつまずきポイント
プライベートサブネットで ECS(Fargate) を利用しようとしましたが、
つまずきポイントが多かったので備忘録として残したいと思います。## ざっくり構成
– プライベートサブネット
– ECS(Fargate)
– コンテナイメージは ECR Public Gallery のものを利用
– コンテナイメージはVPCエンドポイントで取得
– ALBのターゲットとして指定## コンテナイメージの取得に失敗する
プライベートサブネット内から、ECRリポジトリにアクセスする通信経路が存在しないことが原因
? `VPCエンドポイント` or `NATゲートウェイ & インターネットゲートウェイ` のどちらかが必須
– VPCエンドポイントの場合、パブリックなコンテナイメージは取得できない仕様
– プルスルーキャッシュルールを設定してプライベートリポジトリを経由することで、擬似的にパブリックなイメージも取得できるようになる### 必要な設定
– 必要なVPCエンドポイントを作成する : [参考](https://docs.aws.amazon.com/ja_jp/Am
AWS ECS – CodeDeploy での blue/greenデプロイ で テストリスナーポートの使い方は何なのか
# ブラウザからテストする例
この記事ではテストリスナー用のポートを開放しておいて、ブラウザでアクセスしてみる例が載っている。
https://dev.classmethod.jp/articles/ecs-codedeploy-blue-green-deployment/
本番へのルーティングまでの間に猶予時間を持たせる設定にするなどして、事前にテスト用で動作確認するというケースが想定されてるみたいだ。
![image](https://github.com/YumaInaura/YumaInaura/assets/13635059/dfeee5b4-443b-4125-ac93-269a06600dd7)
テストというとAWSのデプロイのどこかに自動テストを設定するのだと思い込んでいたが、確かにデプロイ時にブラウザから目視で確認するような方法も確かに考えられる。というより環境によってはそれが必須な場合もあるかもしれない。
実際の運用では誰でもテスト用のサイトにアクセスできては困るはず。
セキュリティグループなどでアクセスを制限する必要があるかもしれない。# テスト
TerraformでオブジェクトをS3へアップロードし、etagでファイル更新を管理する方法
# やりたいこと
・TerraformでAWS S3バケットとオブジェクトをデプロイしたい
・ローカルでs3オブジェクト(ファイル)を編集したらAWSへ連動できるか検証したい# 前提
・AWSアカウント作成済み
・AWS IAMユーザーを作成し、access_keyとsecret_keyを発行済み
・Terraformインストール済み
・AWS CLIインストール済み
・VSCODEインストール済み
(お好みのエディターで大丈夫)# 環境
“`
$ terraform -v
Terraform v1.5.5
on windows_amd64
+ provider registry.terraform.io/hashicorp/aws v5.13.1
“`
# 構築リソース
・AWS S3バケット
・S3バケットへアップロードするオブジェクト# ディレクトリ構成
“`
root
┣━ www
┃ ┗━ index.html
┣━ main.tf
┣━ variables.tf
┗━ s3.tf“`
# ソースの中身
### main.t
AWS ECS + CodeDeploy – blue/green デプロイ と Canaryデプロイの違い ( ECSAllAtOnce とその他のデプロイ設定 )
# 疑問
AWS ECS への blue/greenデプロイ ( CodeDeployのデプロイ設定 ) で `ECSAllAtOnce` という設定には何か意味があるのか。
そもそもblueからgreenへ少しずつトラフィックを移行させていくのがblue/greenデプロイではないのか。`ECSAllAtOnce` で一度にトラフィックを切り替える場合はそもそもblue/greenデプロイとしてのメリットがあるのだろうか。
# 結論
次のように理解した。
– 狭義のblue/greenデプロイは トラフィックをいちどにgreenに切り替えるもの ( ECSAllAtOnce )
– 広義のblue/greenデプロイは ECSAllAtOnce / Linear / Canary を全て含むもの
– トラフィックを少しずつblueからgreeenに切り替える方式は Linear / Canary と呼ばれる世間の用語が混乱しているような気がした。
# 狭義のblue/greenデプロイ
次のページでは全てのコンテナでトラフィックを一気に切り替える方式がblue/g
AWS VPNを用いて固定IPアドレスでインターネットを使う
## はじめに
株式会社medibaでエンジニアをしております、馬淵と申します。今回は、一部端末がインターネットに出る際のIPアドレスを固定したいという要件がありました。
そこで、AWS VPNの証明書認証を用いてそれを実現・管理できる仕組みを作ってみました。
今回はその作った物の紹介をしていきたいと思います。
同じようなものを作る方の参考になればと思います。## 前提条件
認証は証明書認証を利用する
使いたいIPが決まっている## 構成図
![スクリーンショット 2023-08-18 19.17.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2960719/9805ebd6-5376-c23d-47f0-29ed71e35f59.png)## 手順の流れ
1、VPCを構築
2、証明書を作成
3、作った証明書をACMに登録
4、クライアントVPNエンドポイントを作成
5、クライアントVPNエンドポイントの設定
6、クライアント側の証明書の作成
7、動作確認
8、料金## 手順
TerraformでS3に複数ファイル/フォルダをまとめて上げる方法
# やりたいこと
・ローカルにあるモジュール(複数ファイル/フォルダ)を一括でS3にアップロードしたい# 前提
・AWSアカウント作成済み
・AWS IAMユーザーを作成し、access_keyとsecret_keyを発行済み
・Terraformインストール済み
・AWS CLIインストール済み
・VSCODEインストール済み
(お好みのエディターで大丈夫)# 環境
“`
$ terraform -v
Terraform v1.5.5
on windows_amd64
+ provider registry.terraform.io/hashicorp/aws v5.13.1
“`# 構築リソース
・AWS S3バケット
・そのバケット配下のオブジェクト# ディレクトリ構成
“`
root
┣━ www
┃ ┗━ src
┃ ┗━ css
┃ ┗━ test.css
┃ ┗━ js
┃ ┣━ test1.js
┃ ┗━ test2.js
┃ ┗━ index.htm
Amazon Cognitoでのログイン認証時のエラー対応
# 概要
アプリのログインをCognitoを使った認証でおこなうことを想定しています。その実装をするにあたって、
アプリにCognitoのJavascript SDKである[amazon-cognito-identity-js](https://www.npmjs.com/package/amazon-cognito-identity-js)をnpm installし、
ライブラリを読み込む記述をしたのですが、アプリ起動時にエラーがでました。その時の対処方法を記載したいと思います。
*ここではログイン処理の実装の部分については省略します。
# 前提
アプリ:Angular、Typescript
npm installするライブラリ: aws-sdk、amazon-cognito-identity-js・Angular CLIのng generateを使ってAngularアプリが作ってあること。
・Cognitoにユーザープールとユーザーを作成し、ログインできる状態になっていること。# 手順
アプリにnpm installでaws-sdk、amazon-cogni
TerraformでS3リソースをインポートしてみた:②Terraform import block編
# やりたいこと
・手動で作成したS3リソースをterraformで管理したい
???前回できたよ~https://qiita.com/curlneko/items/ab317f0be0ee4b29a871
・AWSで事前に書いた3バケットポリシーをtfファイルに丸ごと取り込みたい ?今回はここ
# 前提
・AWSアカウント作成済み
・AWS IAMユーザーを作成し、access_keyとsecret_keyを発行済み
・Terraformインストール済み
・AWS CLIインストール済み
・VSCODEインストール済み
(お好みのエディターで大丈夫)・AWSのほうで、手動でS3バケットとそのポリシーを作成済み
(バケットポリシー以外の設定は、全部デポジットで大丈夫)バケット名を「terraform-test-import-20230828」にして、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/0eb9acf4-b5a9-9a8c-8dd2-
フルサーバーレスでwebアプリ開発、実際やってみて感じたこと
# はじめに
髙橋愛理です! :frog:
AWSサーバーレス開発のチームリーダーやってます。私のチームでは、AWSでサーバレス開発を行っているのですが、1年半と少しの間、実際がっつりやってみた思ったことや感じたことをまとめてみました。
# サーバレス開発とは
サーバレス開発とは、サーバを意識せず、**クラウドのサービスをフル活用して行う**開発手法。
ようは、「インフラの面倒くさそうな設定は全部クラウドに任せて、開発に専念してね!」ってやつ。# 開発の経緯・概要
私が所属している事業推進チームでは、自社webアプリ開発を行っている。
総勢8名、フロントエンド、バックエンド、インフラの3つのチームに分かれている。去年(2022年)1月に、事情によって前任のリーダーが退職し、
私が新しくリーダーに就任したが、技術選定から設計まで、全ての工程をやり直すことに。その際、「どうせ一からなら、サーバーレス開発やりたい!」と思い、開発に踏み切った。
# 実際やってみて感じたこと
### :scream: キャッチアップが
【aws】クロスアカウントでのS3取得
# 実現したいこと
– account1にあるLambdaからaccount2にあるS3内のファイルを取得する
– S3の取得には何かしらの制限をかける必要がある
![スクリーンショット 2023-08-28 17.59.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2363249/c91467dd-ecab-d502-93d0-7610f7d75153.png)# [NG] LambdaのIPを固定してS3にIP制限をかける
### AWS構成
![スクリーンショット 2023-08-28 18.03.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2363249/346d00df-f10b-9914-765a-84ae647db6b3.png)– LambdaのIPを固定
https://repost.aws/ja/knowledge-center/lambda-static-ip
– S3に
TerraformでS3リソースをインポートしてみた:①Terraform import編
# やりたいこと
・手動で作成したS3リソースをterraformで管理したい ?今回はここ・AWSで事前に書いた3バケットポリシーをtfファイルに丸ごと取り込みたい
???次回やるhttps://qiita.com/curlneko/items/9faf4e016a03af19d412
# 前提
・AWSアカウント作成済み
・AWS IAMユーザーを作成し、access_keyとsecret_keyを発行済み
・Terraformインストール済み
・AWS CLIインストール済み
・VSCODEインストール済み
(お好みのエディターで大丈夫)・AWSのほうで、手動でS3バケットとそのポリシーを作成済み
(バケットポリシー以外の設定は、全部デポジットで大丈夫)バケット名を「terraform-test-import-20230828」にして、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/0eb9acf4-b5a9-9a8c-8dd2-073f