Lambdaでライブラリを利用する-AWS

前提条件 ・「test-function」という名前のLambda functionを作成している。 1. ライブラリの作成 利用するライブラリを「python」フォルダにインストールして、ZIP形式で圧縮してください。 ※フォルダの名前は必ず「python」にしてください。 $ mkdir pytho…

venvの使い方-Python

1. リポジトリの追加 $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo sudo apt update 2. Pythonとvenvのインストール $ sudo apt install python3.12 python3.12-venv 3. 仮想環境の作成 $ python3.12 -m venv {任意の環境名} 4. 仮想環境の有効化 $…

一時的な認証情報を取得する-AWS

AWS

1. IAMユーザーの作成 $ aws iam create-user --user-name dev-user 2. IAMロールの作成 iam-role-trust-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{AWSアカウントID}:user/dev-use…

ECSをCloudFormationで構築する-AWS

※以下の変数は右の値に変更してください。 ・subnet_id:サブネットID ・security_group_id:セキュリティグループID AWSTemplateFormatVersion: 2010-09-09 Resources: ECSLogGroup: Type: 'AWS::Logs::LogGroup' Properties: LogGroupName: /ecs/sample-ap…

ECSでDockerコンテナをデプロイする-AWS

前提条件 ・ECRにDockerイメージをPushしている。 maya313.hatenablog.com 1. タスク定義の作成 ECSで以下の「task.json」ファイルを利用してタスク定義を作成します。 ※以下の変数は右の値に変更してください。 ・ecr_url:ECRのDockerイメージURL ・aws_ac…

WSLを使用してUbuntuとDockerをインストールする-Windows11

1. WSLとUbuntuのインストール ※Windows環境での作業 WindowsでPowerShellを起動し、WSLとUbuntuをインストールします。 > wsl --install -d ubuntu 2. Ubuntuの環境へのログイン ※Windows環境での作業 > wsl 3. 設定ファイルの変更 ※Ubuntu環境での作業 「r…

ECRにDockerイメージをプッシュする-AWS

1. リポジトリの作成 ECRにイメージをプッシュするリポジトリを作成します。 $ aws ecr create-repository --repository-name {リポジトリ名} --region ap-northeast-1 2. Dockerクライアントの認証 ECRに対してDockerクライアントを認証させます。 認証させ…

ネットワークをCloudFormationで構築する-AWS

AWS

AWSTemplateFormatVersion: 2010-09-09 Parameters: EnvironmentName: Type: String Default: sample-app VpcCIDR: Type: String Default: 10.1.0.0/16 Subnet1CIDR: Type: String Default: 10.1.1.0/24 Subnet2CIDR: Type: String Default: 10.1.2.0/24 Res…

Mariadbのデータを永続化する-Docker

Dockerのコンテナを停止するとコンテナの中のデータは消えてしまいますが、 「volumes」を利用することでコンテナを停止してもデータを保持することができます。 docker-compose.yml version: '3.9' services: mariadb: image: mariadb:10.6 environment: MY…

マルチステージビルドの利用-Docker

Dockerのマルチステージビルドを利用して、Reactアプリの開発環境と本番環境(ビルド環境)を作成する。 ※以下の記事の続きとなります。 maya313.hatenablog.com Dockerで利用するファイル Dockerfile FROM node:18.12.1-alpine as common # Develop FROM comm…

Translatorの利用方法-Azure

Reactの開発環境を構築する-Docker

前提条件 ・Docker Composeがインストールされている。 ・Reactプロジェクトを作成している。 1. 必要なファイルを作成する 以下の内容で「Dockerfile」と「docker-compose.yml」を作成し、Reactプロジェクトと同じフォルダ階層に配置してください。 ※React…

既存のAWSリソースをCloudFormationで管理する-AWS

AWS

Former2を利用して既存のAWSリソースのCloudFormationテンプレートを生成し、CloudFormationでAWSリソースを管理できるようにする。 1. Former2で利用するIAMユーザーの作成 以下の設定でIAMユーザーを作成する。 ・AWS アクセスの種類:プログラムによるア…

SFTPサーバーの設定-CentOS7

1. SFTPユーザーの作成とパスワード設定 $ useradd test-user1 $ passwd test-user1 2. chroot用のディレクトリの作成 chroot用のディレクトリは所有者をroot:root、パーミッションを755にする必要があります。 $ sudo mkdir /var/sftp $ chown root:root /v…

Docker Desktop for Windowsを利用する-Docker

1. Docker Desktop for Windowsのインストール 以下のURLからDocker Desktop for Windowsをダウンロードしてインストールする。 docs.docker.com 2. Nginxコンテナの作成と起動 サンプルとしてNginxコンテナの作成と起動を行う。 PowerShellで以下のコマンド…

TSVファイルへの書き込み-PHP

PHP

画像を丸く切り抜いて表示する-CSS

CSS

サンプルコード <div className="box-image"></div> .box-image { width: 200px; height: 200px; border-radius: 50%; background-image: url("https://example.com/image/example.jpg"); background-position: 40% 70%; /* 切り抜く位置の指定 */ } 完成イメージ

CloudFrontとS3を利用したReactAppでAccessDeniedが発生する-AWS

AWS

何も設定を行わないとCloudFrontとS3を利用したReactAppで「/」ページ以外にアクセスするとAccessDeniedが発生する。 対策としてはCloudFrontの「エラーページ」の設定でHTTP エラーコードが403の時に「/」ページへ遷移させるようにする。

環境変数を使用する-React

1. 環境変数ファイルの作成と配置 「.env」ファイルを作成し、Reactプロジェクトのルートディレクトリに配置する。 ※「package.json」ファイルと同じ場所 .env REACT_APP_API_HOST=https://api.example.com 2. 環境変数の使用 const login = () => { ... con…

バイナリデータで取得した画像をブラウザに表示する-PHP

PHP

サーバー側

Application Load BalancerのIPアドレスがGoogleの検索結果に表示されてしまう-AWS

AWS

サイトを公開した後にGoogleの検索結果にhttps://www.example.comではなく、 https://XXX.XX.XXX.XXXというようにApplication Load BalancerのIPアドレスが表示されてしまうことがある。 これを回避するにはロードバランサーの設定で指定したホスト(例:www.…

aws s3 syncコマンドの速度を早くする-AWS

AWS

以下のパラメータを変更する。 ・max_concurrent_requests:同時リクエストの最大数 ・max_queue_size:タスクキュー内のタスクの最大数 $ aws configure set default.s3.max_concurrent_requests 100 $ aws configure set default.s3.max_queue_size 10000

一時ファイルの生成や書き込みなど-PHP

PHP

Anacondaの使い方-Python

インストール 1. ダウンロード 下記のリポジトリからダウンロードするバージョンを指定してください。 https://repo.anaconda.com/archive/ $ wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh 2. インストール 下記のコマンドを…

文字列から日時への変換-Python

import datetime value_string = '2022/2/19 14:00' value_datetime = datetime.datetime.strptime(value_string, '%Y/%m/%d %H:%M')

Web APIで指定するContent-Typeについて

API

application/x-www-form-urulencoded URLエンコードされたデータで送信する。 id%3D1%26name%3Dmaya // id=1&name=mayaをエンコード application/json jsonフォーマットでデータを送信する。 { "id": 1, "name": "maya" }

指定したディレクトリの中のファイル一覧を取得する

PHP

APIサーバー-Go

Go

package main import ( "net/http" "encoding/json" "fmt" ) type Item struct { Id int `json:"id"` Name string `json:"name"` } type Items []Item func itemList(w http.ResponseWriter, r *http.Request) { items := Items{} items = append(items, Ite…

タスクスケジュールを使用してバッチの管理を楽にする-Laravel5.4

作成したバッチをタスクスケジュールで管理すれば、1つ1つCronにバッチを設定する手間がなくなります。 1つ1つCronにバッチを設定する場合 cron 0 7 1 * * cd /var/my-project; php artisan sendsalesfile 0 1 * * * cd /var/my-project; php artisan delete…

Ubuntuでrootのパスワードを設定する

Ubuntuは初期状態ではrootのパスワードが設定されていないので、自分で設定する必要があります。 $ sudo passwd root