サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
qiita.com/leomaro7
メジャーバージョンのアップグレード 商用環境への適用前に、いずれのアップグレードも徹底的にテストすること。 メジャーバージョンアップグレード中、必要に応じて RDS によって MySQL バイナリ mysql_upgrade が実行され、テーブルがアップグレードされます。 メジャーバージョンアップグレード中、RDS によって slow_log および general_log テーブルが空にされます。これらのログ情報を保持するには、メジャーバージョンアップグレードの前にログファイルの内容を保存する。 通常は約 10 分で完了するが、インスタンスタイプによる。 MySQL 5.7 から 8.0 へのアップグレードの事前チェック MySQL 8.0 には 5.7 との非互換性がいくつかある。 MySQL 5.7 から 8.0 へのアップグレードをスタートすると、RDS では、これらの非互換性を検
import configparser config = configparser.ConfigParser() config["DEFAULT"] = { "debug": True } config["web_server"] = { "host": "127.0.0.1", "port": 80 } config["db_server"] = { "host": "127.0.0.1", "port": 3306 } with open("config.ini", "w") as config_file: config.write(config_file) import configparser config = configparser.ConfigParser() config.read("config.ini") config["web_server"]["host"] imp
実施する内容 上記ドキュメントを参考に、GitHub Actions を使用してコンテナ化されたアプリケーションを構築し、ECR に push し、push をトリガーがに ECS(Fargate) にデプロイする。 Workflow file を理解する。 なお、ドキュメントの Workflow file では、Unsupported deployment controller: ECS となり、Fargate では実行できませんでした。 そのため、下記の通りサンプルとして用意されているものを利用していこうと思います。 準備 1.ECRリポジトリ の準備 AWS CLI を利用して、ECRリポジトリ を作成します。 aws ecr create-repository \ --repository-name my_ecr_repository \ --region ap-northeast
CloudWatch Container Insights CloudWatch Container Insights は、コンテナ化されたアプリケーションとマイクロサービスのメトリクスとログを収集、集計、要約します。 EC2 Linux + ネットワーキング ※「ネットワーキングのみ」と異なる箇所のみ記載。 インスタンスの設定 インスタンスの設定
この場合、次のページに書かれている内容で、CLIから削除する必要がある。(コンソールからは削除できない。) とはいえ、Config は既に有効化されていることが多いので、Config をまだ有効化していないパターンと既に有効化済の2パターンをCloudFormation でデプロイしてみたいと思う。 Config をまだ有効化していない場合 コメントの<>の箇所は適宜自分のものに修正する。 AWSTemplateFormatVersion: 2010-09-09 Description: aws config sns slack Resources: #S3# ConfigS3Bucket: Type: AWS::S3::Bucket Properties: BucketName: <<BucketName>> ## S3BucketPolicy: Type: AWS::S3::Bucke
Linuc2の学習のために、Nginxについて纏めてみる。 Apacheと同じぐらい利用するが、こちらもあまり細かな設定までは気にしたことがないので、纏めてみた。 インストール 私は Amazon Linux2 を良く使いますが、Amazon Linux2 では標準で Nginx の yum 向けパッケージが提供されていません。 そのため、↓の手順で追加する必要がある。 Amazon Linux 2にExtrasレポジトリからNginxをインストールする 主な設定ファイル ファイル 説明
はじめに CloudFormation テンプレートを作成する際に、一から作成するのではなく、 日本の APN プレミアティアパートナー のやってみた系。 AWS公式のCloudFormationユーザーガイド GitHubなどでパブリックで公開されているもの。 AWS CloudFormation デザイナー などを利用し、独自にカスタマイズし作成するかと思います。 ただし、このような問題に 作ってみたはいいけど、必要なリソースや必須のパラメータが足りなく、いざデプロイしようとしたら、動かない。 そもそもあまり理解していない、触ったことないサービスなのに、いきないテンプレートで作成するのには、レベルが高い。 などといったことがあると思います。 エディタ 個人的に利用しているエディタは、Visual Studio Code です。 以降は、VS Code を利用する前提で書いていきます。
AWSのサービスはなんだかんだ、UIが変わったりし、定期的に触らないと忘れてしまうので、基本に戻って、AWS 上で静的な Web サイトを作成します。 Amazon S3 の静的ウェブサイトホスティング機能を用いて、簡単な Web サイトをインターネット上に公開する。 Amazon CloudFront で CDN サービスを用いたコンテンツキャッシュを利用する。 Amazon Route 53 で DNS サービスを用いた独自ドメインの取得 & ネームサーバーへのレコード登録を行う。 AWS Certificate Manager を用いた証明書の作成 & 配置をする。 1.S3 の静的ホスティング機能を使って、Web サイトを表示する S3のUIほんと変わりますね。。。 1-1.S3バケットの作成 「バケット名」は後でAmazon Route 53 で作成する予定のドメインと同じものに
利用するサービス ・DynamoDB ・IAM ・Lambda ・API Gateway 1.DynamoDB でテーブルを作成する DynamoDB を開き、「テーブル」から「テーブルの作成」をクリック。 [テーブル名]に 「demo_test」 、[プライマリキー]に「test_id」と入力し、「作成」。 「項目」から「項目の作成」をクリック。 「Append」から「String」を追加します。 「name」を追加し、以下のように入力します。 同様に以下のテーブルになるように作成してください。 2.Lambda関数を作成する 2つの権限をもつ、IAMロールを作成しておきましょう。 AWSLambdaBasicExecutionRole:ログの書き込み権限 DynamoDBAmazonDynamoDBFullAccess:DynamoDBへのアクセス権限 Lambda を開き、「関数の作
Amazon ElastiCacheとは メインメモリキャッシュのデプロイ、運用、スケーリングをクラウド内で簡単に実行できるウェブサービスです。 このサービスは、低速のディスクベースのデータベースに完全に依存せずに、高速の管理されたメモリ内のキャッシュから情報を取得できるようにすることで、ウェブアプリケーションのパフォーマンスを向上させます。 参考:AWS 基礎入門チュートリアル – ElastiCache 構築・設定編 サポートしているエンジン Amazon ElastiCache は、次の 2 つのオープンソースインメモリキャッシュエンジンをサポートしています。 シンプルに利用する場合はMemcachedを利用するが、それ以外はRedisを利用する場合が多い。 Redis Memcached
1.Kubernetes(k8s)って 1-1 Kubernetes(k8s)とは Dockerなど本番環境で実際に動かそうとすると、問題となる箇所があります。 複数のサーバホスト上で、リソースを確保して動かすにはどうしたらいいか。 ダウンタイムなくデプロイするにはどうしたらいいか。 負荷に応じてスケールアウト、インするにはどうしたらいいか。 そんな問題を解決するために提供されたのが、Kubernetesであり、 自動デプロイ、スケーリング、アプリ・コンテナの運用自動化のために設計されたオープンソースのプラットフォームです。 Kubernetesはこんなことができるオーケストレーションです。 機能 説明
◼︎Amazon ECSとは Dockerコンテナサービスです。 ※コンテナについての理解は、 ⬇︎の記事で。 様々なシステムやサービスの配置/設定/管理を自動化してくれる、要するにオーケストレーションです。 簡単に言うと・・・ アプリケーションの開発に専念したい!インフラ基盤を一から構成するのは面倒! だから予め設定を保存して必要な時に呼び出してすぐアプリ開発ができるようにしちゃえ! という考え方です。 (例) 1日のうちサーバの台数を 昼に10台 夜に10台 で計20台必要な異なるアプリケーションを運用していた場合 今までは、アプリケーションの実行環境毎にサーバを用意する必要がありました。 Dockerを使うと、昼に必要なリソースと夜に必要なリソースを同じ10台の中で管理をすることでサーバのコストを約半分に出来ます。 今までのDockerはこのサーバリソースが足りなくなった場合などの時
###1.Lambdaとは## サーバーを実行せずに、"必要な時に"アプリケーションを実行する場合、Lambdaがあります。 Lambdaはサーバーのプロビジョニングや管理を行わずにコードを実行してくれます。 要するに、AWSに関するなにかしらのイベントによって処理を実行する環境で、イベント時に自分で作ったプログラムを実行してくれます。 一言でいうと、「難しいサーバー構築などなしに簡単にアプリのコードが動く!」 ###2.特徴### 一番のポイントはEC2のような仮想サーバを立てる必要がないことです。(サーバレス) 処理件数が増えてくると、自動的に実行ユニットを増やして並列にスケールアウトしてくれます。そのため、CPUやメモリなの使用率に応じてオートスケール設定を調整するなどの作業は不要となります。 低コスト少ない労力でサービスを開発できますが、稼働時間やステートレス、リレーショナルデータ
※なお、ストリーミング方式の場合はAmazon kinesisを検討する。 ##■Amazon SQSとは## 処理の間にQueueを噛ませることで、非同期処理にすることができる。 例えば全ての処理を同期処理してしまうと時間がかかってしまうので、Queueだけ登録してレスポンスを返してしまう。 ##■機能## ###1.ショートポーリングとロングポーリング### 通常はロングポーリングを利用する。 ショートポーリング ロングポーリング
1.Dockerのインストール 1-1Docker Desktop for 〇〇をダウンロードし、インストールする Docker Desktop for Mac Docker for Mac で Dockerコンテナを実行する場合、MacOSで直にコンテナが動作するのではなく、HyperKitというMacの仮想化機能を利用して内部的には軽量のLinuxを動作させ、その上でDockerコンテナを実行します。 本編は、Docker Desktop for Mac を利用していますが、基本的なDockerコマンドなどの使い方はWindowsも同じです。 Windowsをお使いの場合は、Windows Docker Desktop for Windowsを利用してください。 2.Dockerコンテナの実行 2-1 hello-worldを動作させてみよう とりあえず、hello-worldイメージ
6.メンテナンス 新しいバージョンが出たときにMySQL を自動でアップグレードして自動で再起動してしまいます。 重要なウェブサイトやサービスで何の予告もなくデータベースに繋がらなくなったら大変ですので基本的に無効化しておきます。 参考:Amazon RDS DB インスタンスのメンテナンス 7.自動バックアップとスナップショット その名の通り、自動でバックアップをしてくれる機能と手動でスナップショットをしてくれる機能がある。また、このスナップショットはリージョン間を移動することもできます。 なお、RDSのインスタンスを削除した際に、自動でスナップショットをとった場合は自動でスナップショットが削除されますが、手動でスナップショットを作成した場合は自分で削除する必要があります。 Single-AZ DB の場合は、スナップショット取得時はI/Oが短期間停止します。マルチ AZ DB インスタ
1.AWS CloudTrailとは? 「いつ誰が何をしたのか」を記録しておいてくれるサービスです。 2.特徴 デフォルトでOnになっている。 90日間保存できる。(90日以上保存させる場合は、S3に保存させるようにする。) S3の保存先はS3でバージョンニングを有効にするか、クロスアカウントなどを利用することを検討する。 5分おきに作成される。 3.イベント履歴 「イベント履歴」をクリックしてみましょう。 CloudTrail はデフォルトで有効になっているため、今まで行ってきた「サインイン」や「IAM ユーザーの作成」などもすべてイベントとして記録されています。 このようにCloudTrail では何も設定しなくても、デフォルトで過去90日間のイベントが無料で記録されています。 今後もし「消した覚えがないのにサーバが跡形もなく消え去っている!」というようなことがあったら、先ずCloud
3.責任共有モデル AWSではデータセンター、ネットワークには高度なセキュリティに対応する柔軟なアーキテクチャーを採用しています。その一方で固有のデータは自身で管理する必要があります。 クラウドのセキュリティ:AWSの責任範囲 クラウド内のセキュリティ:ユーザの責任範囲 4.AWS Service Catalog 仮想マシンイメージ、サーバー、ソフトウェア、データベースといったAWS上のサービスの中でIT部門が使用を承認した作成・管理することができます。 デプロイされた IT サービスを集中管理でき、コンプライアンス要件を満たすと同時に、ユーザーは必要な承認済みの IT サービスのみをすばやくデプロイできます。 5.アカウントルートユーザーとAWS IAM 最初にAWSのアカウントを作成した場合は、すべてのAWSアカウントへアクセス可能なアカウントルートユーザーが作成されます。 なので、↓
Amazon VPC ではほぼIPv4でのみしか設定したことがなく、IPv6も無視できなくなってきたため、メモ。 随時何かあれば追加していこうと思っている。 1.Egress-Only インターネットゲートウェイ IPv6 アドレスはグローバルに一意であるため、デフォルトではパブリックアドレスになっています。 インスタンスがインターネットにアクセスできるようにしたいが、インターネット上のリソースがインスタンスとの通信をしたくない場合は、Egress-Only インターネットゲートウェイを使用できます。 Egress-Only インターネットゲートウェイ 「Egress-Only インターネットゲートウェイ」から作成していく。 Egress-Only インターネットゲートウェイを作成する VPC を選択する。 後は、ルートテーブルを以下のとおり追加するだけである。 Destination :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ Permissions 0777 for '/Users/NAO/Downloads/web.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/Users/NAO/Downloads/web.pem": bad permissions ec2-user@54.249.87.*: Permission denied (publickey,gssapi-keyex,gss
Amazon API Gatewayとは APIの作成:AWS Lambda、EC2、もしくはAWS外でパブリックとして公開されているアプリケーションをAPIとして公開することができます。 APIの管理:Amazon API Gatewayは、APIの管理に必要な管理、運用などをお客様側での実施が必要なく、AWS側で提供してくれるマネジどサービスです。 API GAtewayが扱うAPI プロトコル REST WebSocket
1.ターゲットグループの作成 ターゲットグループを2つ作成しておく。ここでは、alb1 と alb2 と作成。 2.ALBの作成 ターゲットグループに alb1 を指定し、普通に作成する。 ここまでは通常のalbの作成方法と一緒。 3.リスナーの編集 「リスナー」で対象のリスナー の「ルールの表示/編集」 「+」から「ルールの挿入」 「条件の追加」で「パス」 /img/* がある場合、ルールは /img/picture.jpg のリクエストを /img/picture.jpg のリクエストとして、指定されたターゲットグループに転送するようにします。 パスの条件 /img/* を入力し、チェックマークアイコンをクリック。 「アクションの追加」から「転送先」 alb2 の方を指定します。 設定はこれで完了です。 4.テストしてみる /txt/txt.html → alb1 /img/img.h
■AWS Fargateって? Amazon EC2を利用した場合、インスタンスの管理もしなければいけない。 コンテナ、アプリケーションのことだけを考えたい。 そのために、開発されたのが、AWS Fargate なので、 インスタンスの管理が不要になる。 そして、EC2の場合はリソースが余っていた場合も課金されていたが、本当に利用した分のみの課金となり、コスト削減へと繋がります。 要するにサーバレスの考え方です。 ■EC2起動タイプとの違い 仕組み 事前にEC2インスタンスを起動し、ECSのタスクを起動していました。 Fargateではフルマネージドのフレーム転送など単純な処理をする(データプレーン)が提供されます。 そのため、事前にEC2インスタンスを起動する必要がありません。インスタンスを気にせず、集中できるようになります。 下記のような用途では、EC2起動タイプが適する GPUサポー
1.できることとできないこと できること 異なるVPCを接続する。 異なるリージョンのVPCを接続。(インターリージョンVPCペアリング) 複数のVPCとピアリング。 できないこと CIDRが重複するVPC間のピアリング ピアリング先のVPCがピアリングしているVPCに直接通信することはできません。 ピアリング先のVPCが接続しているVPN/DXを経由してオンプレミスと直接通信することはできません。 ピアリング先のVPCのインターネットゲートウェイ/NATデバイスを経由してインターネットに直接通信することはできません。 ピアリング先のVPCエンドポイントを経由してAWSリソースに直接通信することはできません。 リージョン間の VPC ピアリング接続では、IPv6 経由の通信はサポートされません。(リージョン内はサポートされている) VPCピアリングは、1vs1のVPC間を接続する ので、1
■AWSのCode シリーズ CodeCommit ソースコードを管理するGitリポジトリサービス CodeBuild ソースコードのビルド/テスティングサービス CodeDeploy ビルドされたモジュールのデプロイサービス CodePipeline 継続的デリバリー/継続的インテグレーションをサポートするサービス 1.CodeCommit 概要 - 簡単にGitリポジトリをホストすることができる。 - サードバーティ製のツールも利用可能。 - プルリクエスト機能も利用可能。 接続方法 - コンソール - https - ssh 基本的な利用の流れ その他参考情報 1-1 CodeCommitのリポジトリを作成する [リポジトリ名]に任意のものを入力 1-2 初期セットアップ、コードのPush IAMユーザの権限を使って、CodeCommitのリポジトリに接続し、Pushします。 git
このページを最初にブックマークしてみませんか?
『@leomaro7のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く